@keyframes app-loading-enter{0%{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes app-loading-spin{to{transform:rotate(1turn)}}@keyframes app-loading-glow{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.8;transform:scale(1.12)}}@keyframes app-loading-nucleus{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.15);opacity:1}}@keyframes app-loading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes app-loading-label{0%,to{opacity:.55}50%{opacity:1}}.app-loading-root{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center}.app-loading-root--fullscreen{min-height:100vh;width:100%;overflow:hidden;padding:var(--space-xl);background:rgb(var(--color-background))}.app-loading-void{pointer-events:none;position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 55% 45% at 50% 42%,rgb(var(--color-primary-500)/.16),transparent 70%),radial-gradient(ellipse 40% 30% at 50% 70%,rgb(var(--color-primary-700)/.08),transparent 65%)}html[data-theme=dark] .app-loading-void{background:radial-gradient(ellipse 55% 45% at 50% 42%,rgb(var(--color-primary-500)/.22),transparent 70%),radial-gradient(ellipse 40% 30% at 50% 70%,rgb(var(--color-primary-400)/.08),transparent 65%)}.app-loading-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);animation:app-loading-enter .6s cubic-bezier(.22,1,.36,1) both}.app-loading-root[data-fullscreen=true] .app-loading-stage{gap:var(--space-xl)}.app-loading-core{position:relative;display:grid;place-items:center}.app-loading-root[data-size=sm] .app-loading-core{width:3.25rem;height:3.25rem}.app-loading-root[data-size=md] .app-loading-core{width:5.5rem;height:5.5rem}.app-loading-root[data-size=lg] .app-loading-core{width:min(8.5rem,36vw);height:min(8.5rem,36vw)}.app-loading-root[data-fullscreen=true][data-size=lg] .app-loading-core{width:min(11rem,42vw);height:min(11rem,42vw)}.app-loading-glow{inset:-42%;background:radial-gradient(circle,rgb(var(--color-primary-400)/.28) 0,transparent 70%);animation:app-loading-glow 3.2s ease-in-out infinite}.app-loading-glow,.app-loading-ring{position:absolute;border-radius:9999px}.app-loading-ring{inset:0;border-left:2.5px solid transparent;border-bottom:2.5px solid transparent;border-top:2.5px solid transparent;border-top-color:rgb(var(--color-primary-300));border-right:2.5px solid transparent;border-right-color:rgb(var(--primary));animation:app-loading-spin 1.1s linear infinite;box-shadow:0 0 18px rgb(var(--color-primary-500)/.12),inset 0 0 12px rgb(var(--color-primary-500)/.06)}.app-loading-root[data-size=sm] .app-loading-ring{border-width:2px}.app-loading-root[data-size=lg] .app-loading-ring{border-width:3px}.app-loading-ring--mid{inset:18%;animation-duration:.85s;animation-direction:reverse;opacity:.75;border-top-color:rgb(var(--primary));border-right-color:rgb(var(--color-primary-400)/.55)}.app-loading-ring--inner{inset:36%;animation-duration:1.4s;opacity:.55;border-width:2px;border-top-color:rgb(var(--color-primary-400));border-right-color:rgb(var(--color-primary-600)/.45)}.app-loading-nucleus{position:relative;z-index:1;width:14%;height:14%;border-radius:9999px;background:rgb(var(--primary));box-shadow:0 0 16px rgb(var(--color-primary-500)/.55);animation:app-loading-nucleus 2.4s ease-in-out infinite}.app-loading-copy{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.app-loading-label{margin:0;text-align:center;font-family:var(--font-data);font-size:.7rem;font-weight:500;letter-spacing:.18em;line-height:1.4;text-transform:uppercase;color:rgb(var(--muted-foreground));animation:app-loading-label 2.4s ease-in-out infinite}.app-loading-root[data-size=md] .app-loading-label{font-size:.75rem}.app-loading-root[data-size=lg] .app-loading-label{font-size:.8125rem;letter-spacing:.2em}.app-loading-root[data-fullscreen=true][data-size=lg] .app-loading-label{font-size:.875rem;letter-spacing:.22em}html[data-lang=fa] .app-loading-label{font-family:var(--font-ui);text-transform:none;letter-spacing:.06em;font-size:var(--font-size-base)}html[data-lang=fa] .app-loading-root[data-fullscreen=true][data-size=lg] .app-loading-label{font-size:var(--font-size-lg)}.app-loading-progress{width:4.5rem;height:1px;overflow:hidden;border-radius:9999px;background:rgb(var(--color-border)/.8)}.app-loading-root[data-size=lg] .app-loading-progress{width:5.5rem}html[data-theme=dark] .app-loading-progress{background:rgb(255 255 255/.1)}.app-loading-progress-fill{display:block;height:100%;width:100%;border-radius:inherit;background:rgb(var(--primary));box-shadow:0 0 10px rgb(var(--color-primary-500)/.45);transform-origin:left center;transform:scaleX(0);animation:app-loading-progress 2.4s cubic-bezier(.22,1,.36,1) infinite}html[dir=rtl] .app-loading-progress-fill{transform-origin:right center}@media (prefers-reduced-motion:reduce){.app-loading-glow,.app-loading-label,.app-loading-nucleus,.app-loading-progress-fill,.app-loading-ring,.app-loading-stage{animation:none}.app-loading-stage{opacity:1;transform:none}.app-loading-ring{border-color:rgb(var(--color-primary-300)) rgb(var(--primary))}.app-loading-label{opacity:.85}.app-loading-progress-fill{transform:scaleX(.65)}}.nav-progress{pointer-events:none;position:fixed;inset-block-start:0;inset-inline:0;z-index:100;height:7px;opacity:0;transform:translateY(-100%);transition:opacity .22s ease,transform .22s cubic-bezier(.22,1,.36,1)}.nav-progress[data-active=true]{opacity:1;transform:translateY(0)}.nav-progress[data-finishing=true]{transition:opacity .28s ease 80ms,transform .28s ease 80ms}.nav-progress[data-finishing=true]:not([data-active=true]){opacity:0;transform:translateY(-100%)}.nav-progress__track{position:absolute;inset:0;overflow:hidden;border-block-end:1px solid rgb(var(--color-primary-500)/.22);background:rgb(var(--color-primary-100)/.72);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);box-shadow:inset 0 1px 0 0 rgb(255 255 255/.75),0 2px 10px 0 rgb(var(--color-primary-500)/.12)}html[data-theme=dark] .nav-progress__track{border-block-end-color:rgb(255 255 255/.12);background:rgb(255 255 255/.08);box-shadow:inset 0 1px 0 0 rgb(255 255 255/.14),0 2px 12px 0 rgb(var(--color-primary-400)/.2)}.nav-progress__fill{position:absolute;inset-block:0;inset-inline-start:0;width:calc(var(--nav-progress, 0) * 100%);max-width:100%;transition:width .28s cubic-bezier(.22,1,.36,1);background:linear-gradient(90deg,rgb(var(--color-primary-500)) 0,rgb(var(--color-primary-600)) 55%,rgb(var(--color-primary-700)) 100%);box-shadow:0 0 14px 2px rgb(var(--color-primary-500)/.55),0 0 28px 6px rgb(var(--color-primary-400)/.28)}html[dir=rtl] .nav-progress__fill{background:linear-gradient(270deg,rgb(var(--color-primary-500)) 0,rgb(var(--color-primary-600)) 55%,rgb(var(--color-primary-700)) 100%)}html[data-theme=dark] .nav-progress__fill{background:linear-gradient(90deg,rgb(var(--color-primary-400)) 0,rgb(var(--color-primary-500)) 48%,rgb(var(--color-primary-600)) 100%);box-shadow:0 0 16px 2px rgb(var(--color-primary-400)/.6),0 0 32px 6px rgb(var(--color-primary-500)/.32)}html[data-theme=dark][dir=rtl] .nav-progress__fill{background:linear-gradient(270deg,rgb(var(--color-primary-400)) 0,rgb(var(--color-primary-500)) 48%,rgb(var(--color-primary-600)) 100%)}.nav-progress__fill:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgb(255 255 255/.65) 45%,transparent 70%);mix-blend-mode:soft-light;animation:nav-progress-shimmer 1.1s cubic-bezier(.4,0,.2,1) infinite}html[dir=rtl] .nav-progress__fill:before{animation-name:nav-progress-shimmer-rtl}.nav-progress__tip{position:absolute;inset-block:-1px;inset-inline-end:0;width:5rem;max-width:45%;background:linear-gradient(90deg,transparent 0,rgb(var(--color-primary-300)/.7) 40%,rgb(255 255 255/.95) 100%);opacity:.95}html[dir=rtl] .nav-progress__tip{background:linear-gradient(270deg,transparent 0,rgb(var(--color-primary-300)/.7) 40%,rgb(255 255 255/.95) 100%)}.nav-progress__glow{position:absolute;inset-block-start:0;inset-inline-end:0;width:8rem;height:2.25rem;transform:translateY(-30%);background:radial-gradient(ellipse at center,rgb(var(--color-primary-400)/.5) 0,rgb(var(--color-primary-500)/.22) 42%,transparent 72%);filter:blur(6px);opacity:.95;animation:nav-progress-glow 1.6s ease-in-out infinite}@keyframes nav-progress-shimmer{0%{transform:translateX(-120%)}to{transform:translateX(180%)}}@keyframes nav-progress-shimmer-rtl{0%{transform:translateX(120%)}to{transform:translateX(-180%)}}@keyframes nav-progress-glow{0%,to{opacity:.6;transform:translateY(-30%) scale(.92)}50%{opacity:1;transform:translateY(-30%) scale(1.08)}}@media (prefers-reduced-motion:reduce){.nav-progress,.nav-progress__fill{transition:none}.nav-progress__fill:before,.nav-progress__glow{animation:none}}.language-switcher-layer{position:fixed;inset:0;z-index:100;pointer-events:none}.language-switcher-backdrop{position:absolute;inset:0;z-index:0;background:rgb(15 15 20/.22);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);opacity:0;pointer-events:none;transition:opacity .22s cubic-bezier(.16,1,.3,1)}.language-switcher-backdrop.is-visible{opacity:1;pointer-events:auto}html[data-theme=dark] .language-switcher-backdrop{background:rgb(0 0 0/.52)}.language-switcher-anchor{vertical-align:middle}.language-switcher-trigger--anchor{opacity:0!important;pointer-events:none!important}.language-switcher-trigger-float{position:absolute;z-index:2;pointer-events:auto}.language-switcher-trigger--elevated{border:1px solid rgb(var(--color-border)/.85);box-shadow:0 1px 2px rgb(0 0 0/.04),0 8px 24px rgb(0 0 0/.12)}html[data-theme=dark] .language-switcher-trigger--elevated{box-shadow:0 1px 2px rgb(0 0 0/.35),0 10px 28px rgb(0 0 0/.45)}.language-switcher-menu{z-index:110!important}@media (prefers-reduced-motion:reduce){.language-switcher-backdrop{transition:none;backdrop-filter:none;-webkit-backdrop-filter:none}html[data-theme=dark] .language-switcher-backdrop{background:rgb(0 0 0/.62)}.language-switcher-backdrop:not(.is-visible){display:none}}@keyframes ui-shine{0%{background-position:0 0}50%{background-position:100% 100%}to{background-position:0 0}}.ui-shine-border{animation:ui-shine var(--shine-duration,14s) infinite linear}@media (prefers-reduced-motion:reduce){.ui-shine-border{animation:none;background-position:50% 50%}}