:root{--auth-ring:#1516180f;--auth-ring-strong:#1516184d;--auth-grid:#15161816;--auth-shadow:0 1px 2px #1011140d, 0 26px 60px -30px #10111457;--auth-brand:#cc2366;--blob-a:#f094334d;--blob-b:#bc188842;--blob-c:#dc274338;--chip-bg:#ffffffb8;--chip-shadow:0 12px 34px -20px #1011148c;--strength-1:#e64343;--strength-2:#f09433;--strength-3:#eab308;--strength-4:#22c55e;--badge-bg:#cc236614;--badge-border:#cc236642}.dark{--auth-ring:#eaebed16;--auth-ring-strong:#eaebed52;--auth-grid:#ffffff0f;--auth-shadow:0 1px 2px #00000080, 0 30px 70px -34px #000000d9;--auth-brand:#fb64b6;--blob-a:#f0943338;--blob-b:#bc18884d;--blob-c:#dc27433d;--chip-bg:#0f1013b8;--chip-shadow:0 14px 40px -22px #000000f2;--badge-bg:#fb64b61a;--badge-border:#fb64b64d}.auth{background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-vazirmatn), system-ui, -apple-system, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;place-items:center;margin:0;padding:2.25rem 1.25rem;font-size:15px;line-height:1.7;display:grid;overflow-x:hidden}.auth-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.auth-bg:after{content:"";background-image:radial-gradient(circle at 1px 1px, var(--auth-grid) 1px, transparent 0);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(68% 58% at 50% 34%,#000 0%,#0000 78%);mask-image:radial-gradient(68% 58% at 50% 34%,#000 0%,#0000 78%)}.blob{filter:blur(72px);will-change:transform;border-radius:50%;position:absolute}.blob-1{background:radial-gradient(circle, var(--blob-a) 0%, transparent 68%);width:32rem;height:32rem;animation:24s ease-in-out infinite drift1;top:-11rem;left:-7rem}.blob-2{background:radial-gradient(circle, var(--blob-b) 0%, transparent 68%);width:36rem;height:36rem;animation:30s ease-in-out infinite drift2;bottom:-15rem;right:-9rem}.blob-3{background:radial-gradient(circle, var(--blob-c) 0%, transparent 68%);width:26rem;height:26rem;animation:34s ease-in-out infinite drift3;top:32%;left:58%}@keyframes drift1{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(4rem,3rem)scale(1.12)}}@keyframes drift2{0%,to{transform:translate(0,0)scale(1.05)}50%{transform:translate(-5rem,-3rem)scale(.92)}}@keyframes drift3{0%,to{transform:translate(0,0)scale(.95)}33%{transform:translate(-3rem,2rem)scale(1.1)}66%{transform:translate(2rem,-2rem)scale(1)}}.auth-float{z-index:1;pointer-events:none;display:none;position:fixed;inset:0}@media (min-width:1280px){.auth-float{display:block}}.chip{border:1px solid var(--border);background:var(--chip-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:13.5rem;box-shadow:var(--chip-shadow);color:var(--foreground);border-radius:1rem;align-items:center;gap:.55rem;padding:.55rem .8rem;font-size:.75rem;line-height:1.5;animation:7s ease-in-out infinite chipFloat;display:flex;position:absolute}.chip .av{color:#fff;background:linear-gradient(135deg,#f09433,#dc2743 55%,#bc1888);border-radius:50%;flex:none;place-items:center;width:1.45rem;height:1.45rem;display:grid}.chip .av svg{width:.78rem;height:.78rem}.chip.reply{background:var(--chip-bg);border-color:#dc274359}.chip.reply .av{background:linear-gradient(135deg,#dc2743,#bc1888)}.chip.reply b{font-weight:700}@keyframes chipFloat{0%,to{transform:translateY(0)rotate(-.6deg)}50%{transform:translateY(-14px)rotate(.6deg)}}.theme-toggle{z-index:30;border:1px solid var(--border);background:var(--card);width:2.6rem;height:2.6rem;color:var(--muted-foreground);cursor:pointer;border-radius:.85rem;place-items:center;transition:color .18s,border-color .18s,background .18s,transform .18s;display:grid;position:absolute;top:.8rem;left:.8rem}@media (min-width:640px){.theme-toggle{position:fixed;top:1.15rem;left:1.15rem}}.theme-toggle:hover{color:var(--foreground);border-color:var(--auth-ring-strong);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.theme-toggle svg{width:1.05rem;height:1.05rem;margin:-.525rem 0 0 -.525rem;transition:transform .62s cubic-bezier(.34,1.56,.64,1),opacity .3s;position:absolute;top:50%;left:50%}.theme-toggle .ico-sun{opacity:0;transform:rotate(80deg)scale(.35)}.theme-toggle .ico-moon,.dark .theme-toggle .ico-sun{opacity:1;transform:rotate(0)scale(1)}.dark .theme-toggle .ico-moon{opacity:0;transform:rotate(-80deg)scale(.35)}@media (prefers-reduced-motion:reduce){.theme-toggle svg{transition-duration:.01ms}}.auth-shell{z-index:10;flex-direction:column;gap:1rem;width:100%;max-width:26rem;display:flex;position:relative}.auth-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--auth-shadow);border-radius:1.6rem;padding:2.15rem 1.9rem 1.9rem;transition:box-shadow .3s;animation:.5s cubic-bezier(.16,1,.3,1) both authFade;position:relative;overflow:hidden}@keyframes authFade{0%{opacity:0}to{opacity:1}}.auth-card:before{content:"";top:0;background:linear-gradient(90deg,#f09433,#dc2743,#bc1888,#dc2743,#f09433) 0 0/200% 100%;height:2px;animation:7s linear infinite hairline;position:absolute;inset-inline:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}@keyframes hairline{to{background-position:-200% 0}}@keyframes authUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.stagger>*{animation:.5s cubic-bezier(.16,1,.3,1) both authUp}.stagger>:first-child{animation-delay:60ms}.stagger>:nth-child(2){animation-delay:.12s}.stagger>:nth-child(3){animation-delay:.18s}.stagger>:nth-child(4){animation-delay:.24s}.stagger>:nth-child(5){animation-delay:.3s}.stagger>:nth-child(6){animation-delay:.36s}.auth-head{text-align:center}.auth-logo{place-items:center;width:3.75rem;height:3.75rem;margin-bottom:1.05rem;display:inline-grid;position:relative}.logo-halo{pointer-events:none;background:radial-gradient(circle,#dc274366 0%,#0000 68%);border-radius:50%;animation:3.8s ease-in-out infinite halo;position:absolute;inset:-.85rem}@keyframes halo{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}.auth-logo img{object-fit:contain;width:100%;height:100%;animation:5s ease-in-out infinite logoBob;position:relative}@keyframes logoBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.auth-head h1{letter-spacing:-.01em;color:var(--foreground);margin:0;font-size:1.5rem;font-weight:800}.tagline{min-height:1.65rem;color:var(--muted-foreground);margin:.5rem 0 0;font-size:.8125rem;line-height:1.95}.tagline .typed{color:var(--auth-brand);font-weight:700}.caret{vertical-align:-.1em;background:currentColor;width:1.5px;height:.95em;margin-inline-start:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.seg{background:var(--muted);border:1px solid var(--border);border-radius:.95rem;grid-template-columns:1fr 1fr;gap:.25rem;margin:1.5rem 0 1.4rem;padding:.25rem;display:grid;position:relative}.seg-thumb{top:.25rem;bottom:.25rem;background:var(--card);border-radius:.72rem;width:calc(50% - .375rem);transition:transform .28s cubic-bezier(.4,0,.2,1);position:absolute;inset-inline-start:.25rem;box-shadow:0 1px 2px #00000012,0 4px 12px -6px #00000038}.seg[data-active=mobile] .seg-thumb{transform:translate(calc(-100% - .25rem))}.seg-btn{z-index:1;height:2.35rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.72rem;justify-content:center;align-items:center;gap:.4rem;font-family:inherit;font-size:.8125rem;font-weight:600;transition:color .2s;display:inline-flex;position:relative}.seg-btn svg{width:.9rem;height:.9rem}.seg-btn.is-active{color:var(--foreground);font-weight:700}.auth-form{gap:1.05rem;display:grid}.auth-card [hidden]{display:none!important}.field{gap:.5rem;display:grid}.field label{color:var(--foreground);font-size:.8125rem;font-weight:600}.hint{color:var(--muted-foreground);margin:0;font-size:.6875rem;line-height:1.8}.control{align-items:center;display:flex;position:relative}.control .ico{width:1.05rem;height:1.05rem;color:var(--muted-foreground);pointer-events:none;transition:color .15s;position:absolute;right:.95rem}.control input{border:1px solid var(--input);background:var(--background);width:100%;height:3rem;color:var(--foreground);border-radius:.85rem;padding:0 2.75rem 0 1rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s,background .15s}.control input::placeholder{color:var(--muted-foreground);opacity:1}.control input:focus{border-color:var(--auth-ring-strong);box-shadow:0 0 0 4px var(--auth-ring);outline:none}.control:focus-within .ico{color:var(--foreground)}.control input.is-invalid{border-color:var(--destructive);box-shadow:0 0 0 4px #e6434324}.control.has-trailing input{padding-left:2.9rem}.eye{width:1.9rem;height:1.9rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:.6rem;place-items:center;transition:color .15s,background .15s;display:grid;position:absolute;left:.7rem}.eye:hover{color:var(--foreground);background:var(--muted)}.eye svg{width:1.05rem;height:1.05rem}.eye .ico-eye-off,.eye.is-on .ico-eye{display:none}.eye.is-on .ico-eye-off{display:block}.otp-wrap{gap:1rem;display:grid}.otp-lead{color:var(--muted-foreground);margin:0;font-size:.8125rem;line-height:1.9}.otp-lead b{color:var(--foreground);letter-spacing:.02em;font-weight:700}.otp{grid-template-columns:repeat(4,3.4rem);justify-content:center;gap:.55rem;display:grid}.otp input{border:1px solid var(--input);background:var(--background);width:100%;height:3.4rem;color:var(--foreground);text-align:center;border-radius:.85rem;padding:0;font-family:inherit;font-size:1.2rem;font-weight:700;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;animation:.32s cubic-bezier(.16,1,.3,1) both otpIn}.otp input:first-child{animation-delay:20ms}.otp input:nth-child(2){animation-delay:70ms}.otp input:nth-child(3){animation-delay:.12s}.otp input:nth-child(4){animation-delay:.17s}@keyframes otpIn{0%{opacity:0;transform:translateY(8px)scale(.94)}to{opacity:1;transform:none}}.otp input:focus{border-color:var(--auth-ring-strong);box-shadow:0 0 0 4px var(--auth-ring);outline:none;transform:translateY(-2px)}.otp input.is-filled{background:#dc27430f;border-color:#dc274380}.otp-foot{justify-content:space-between;align-items:center;gap:1rem;display:flex}.otp-foot .link-quiet[disabled]{cursor:default;opacity:.6}.otp-foot .link-quiet[disabled]:hover{color:var(--muted-foreground)}.form-meta{justify-content:space-between;align-items:center;gap:1rem;margin-top:-.15rem;display:flex}.remember{color:var(--muted-foreground);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;font-size:.8125rem;display:inline-flex}.remember input{opacity:0;width:0;height:0;position:absolute}.remember .box{border:1.5px solid var(--input);background:var(--background);border-radius:.4rem;place-items:center;width:1.15rem;height:1.15rem;transition:background .15s,border-color .15s;display:grid}.remember .box svg{width:.72rem;height:.72rem;color:var(--background);opacity:0;transition:opacity .15s,transform .15s;transform:scale(.5)}.remember input:checked+.box{background:var(--foreground);border-color:var(--foreground)}.remember input:checked+.box svg{opacity:1;transform:scale(1)}.remember input:focus-visible+.box{box-shadow:0 0 0 4px var(--auth-ring)}.link-quiet{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:.8125rem;font-weight:600;text-decoration:none;transition:color .15s}.link-quiet:hover{color:var(--auth-brand)}.btn-primary{color:#fff;cursor:pointer;background-image:linear-gradient(135deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);border:0;border-radius:.85rem;justify-content:center;align-items:center;gap:.55rem;width:100%;height:3rem;font-family:inherit;font-size:.9375rem;font-weight:700;transition:filter .18s,box-shadow .2s,transform .15s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 10px 26px -12px #dc274399}.btn-primary:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff61,#0000);width:40%;animation:3.6s ease-in-out infinite shimmer;position:absolute;top:0;bottom:0;transform:translate(-160%)}@keyframes shimmer{0%{transform:translate(-160%)}55%,to{transform:translate(320%)}}.btn-primary:hover{filter:brightness(1.06);box-shadow:0 14px 32px -12px #dc2743a6}.btn-primary:active{transform:translateY(1px)scale(.995)}.btn-primary:focus-visible{box-shadow:0 0 0 4px var(--auth-ring), 0 10px 26px -12px #dc274399;outline:none}.btn-primary .btn-label{z-index:1;position:relative}.btn-primary .spinner{z-index:1;border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:1.05rem;height:1.05rem;animation:.7s linear infinite authSpin;display:none;position:relative}.btn-primary.is-loading{pointer-events:none}.btn-primary.is-loading .spinner{display:block}@keyframes authSpin{to{transform:rotate(360deg)}}.divider{align-items:center;gap:.8rem;margin:1.35rem 0;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.divider span{color:var(--muted-foreground);font-size:.6875rem}.btn-google{border:1px solid var(--border);background:var(--card);width:100%;height:3rem;color:var(--foreground);cursor:pointer;border-radius:.85rem;justify-content:center;align-items:center;gap:.6rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.btn-google:hover{background:var(--muted);border-color:var(--auth-ring-strong)}.btn-google:active{transform:translateY(1px)scale(.995)}.btn-google svg{width:1.1rem;height:1.1rem}.auth-foot{text-align:center;color:var(--muted-foreground);margin:1.4rem 0 0;font-size:.8125rem}.auth-foot a{color:var(--auth-brand);font-weight:700;text-decoration:none}.auth-foot a:hover{text-underline-offset:3px;text-decoration:underline}.auth-help{border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);border-radius:1.1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;font-size:.8125rem;animation:.5s cubic-bezier(.16,1,.3,1) .34s both authUp;display:flex}.auth-help a{color:var(--auth-brand);align-items:center;gap:.35rem;font-weight:700;text-decoration:none;display:inline-flex}.auth-help a:hover{text-underline-offset:3px;text-decoration:underline}.auth-help svg{width:.95rem;height:.95rem}.pulse-dot{background:var(--auth-brand);border-radius:50%;flex:none;width:.5rem;height:.5rem;position:relative}.pulse-dot:after{content:"";background:inherit;border-radius:50%;animation:2.2s ease-out infinite pulseRing;position:absolute;inset:0}@keyframes pulseRing{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}.auth-legal{text-align:center;color:var(--muted-foreground);margin:0;font-size:.6875rem;line-height:1.9}.auth-legal a{color:var(--foreground);opacity:.75;text-decoration:none}.auth-legal a:hover{opacity:1;text-underline-offset:3px;text-decoration:underline}.auth-legal .sep{opacity:.45;margin:0 .3rem}.toast{z-index:60;background:var(--foreground);max-width:calc(100vw - 2.5rem);color:var(--background);opacity:0;pointer-events:none;border-radius:.85rem;padding:.7rem 1.15rem;font-size:.8125rem;font-weight:600;transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .32s;position:fixed;bottom:1.6rem;left:50%;transform:translate(-50%,140%);box-shadow:0 16px 40px -16px #0000008c}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:420px){.auth-card{border-radius:1.35rem;padding:1.75rem 1.35rem 1.5rem}.auth-head h1{font-size:1.3rem}.otp{grid-template-columns:repeat(4,3rem);gap:.4rem}.otp input{border-radius:.75rem;height:3rem;font-size:1.1rem}}@media (prefers-reduced-motion:reduce){.auth *,.auth :before,.auth :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.auth--register .auth-form{gap:.95rem;margin-top:1.55rem}.auth--register .field{gap:.45rem}.auth--register .field label{align-items:center;gap:.35rem;display:flex}.field label .req{color:var(--auth-brand);font-weight:700}.field label .opt{color:var(--muted-foreground);font-size:.75rem;font-weight:500}.auth--register .btn-primary{margin-top:.35rem}.strength{gap:.4rem;display:grid}.strength-bars{grid-template-columns:repeat(4,1fr);gap:.3rem;display:grid}.strength-bars i{background:var(--border);border-radius:99px;height:3px;transition:background .25s}.strength-label{color:var(--muted-foreground);font-size:.6875rem;line-height:1.6;transition:color .25s}.strength[data-level="1"] .strength-bars i:nth-child(-n+1){background:var(--strength-1)}.strength[data-level="2"] .strength-bars i:nth-child(-n+2){background:var(--strength-2)}.strength[data-level="3"] .strength-bars i:nth-child(-n+3){background:var(--strength-3)}.strength[data-level="4"] .strength-bars i{background:var(--strength-4)}.strength[data-level="1"] .strength-label{color:var(--strength-1)}.strength[data-level="2"] .strength-label{color:var(--strength-2)}.strength[data-level="3"] .strength-label{color:var(--strength-3)}.strength[data-level="4"] .strength-label{color:var(--strength-4)}.check{color:var(--muted-foreground);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:.55rem;margin-top:.1rem;font-size:.8125rem;line-height:1.75;display:flex}.check input{opacity:0;width:0;height:0;position:absolute}.check .box{border:1.5px solid var(--input);background:var(--background);border-radius:.4rem;flex:none;place-items:center;width:1.15rem;height:1.15rem;margin-top:.28rem;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}.check .box svg{width:.72rem;height:.72rem;color:var(--background);opacity:0;transition:opacity .15s,transform .15s;transform:scale(.5)}.check input:checked+.box{background:var(--foreground);border-color:var(--foreground)}.check input:checked+.box svg{opacity:1;transform:scale(1)}.check input:focus-visible+.box{box-shadow:0 0 0 4px var(--auth-ring)}.check.is-invalid .box{border-color:var(--destructive);box-shadow:0 0 0 4px #e6434324}.check a{color:var(--auth-brand);font-weight:700;text-decoration:none}.check a:hover{text-underline-offset:3px;text-decoration:underline}@media (max-width:420px){.auth--register .auth-form{gap:.85rem;margin-top:1.3rem}}.auth--admin .auth-form{margin-top:1.5rem}.admin-badge{border:1px solid var(--badge-border);background:var(--badge-bg);width:fit-content;color:var(--auth-brand);letter-spacing:.01em;border-radius:99px;align-items:center;gap:.35rem;margin:0 auto .85rem;padding:.3rem .7rem;font-size:.6875rem;font-weight:700;display:flex}.admin-badge svg{flex:none;width:.8rem;height:.8rem}.auth--admin .otp-lead b{text-overflow:ellipsis;vertical-align:bottom;max-width:100%;color:var(--foreground);font-weight:700;display:inline-block;overflow:hidden}
