@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_60b6ec34-module__dJXfDW__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_60b6ec34-module__dJXfDW__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
.spinner-circular{width:40px;height:40px;position:relative}.spinner-circular svg{width:100%;height:100%;transform:rotate(-90deg)}.spinner-circular circle{fill:none;stroke-width:3px;stroke-linecap:round;stroke-dasharray:126;stroke-dashoffset:126px;animation:2s ease-in-out infinite circular-progress}@keyframes circular-progress{0%{stroke-dashoffset:126px}50%{stroke-dashoffset:63px}to{stroke-dashoffset:126px}}.spinner-multicolor{width:40px;height:40px;position:relative}.spinner-multicolor:before,.spinner-multicolor:after{content:"";border-radius:50%;animation:2s linear infinite multicolor-spin;position:absolute}.spinner-multicolor:before{border:3px solid #0000;border-top-color:var(--primary);border-right-color:var(--secondary-foreground);width:100%;height:100%}.spinner-multicolor:after{border:3px solid #0000;border-top-color:var(--accent-foreground);border-right-color:var(--muted-foreground);width:60%;height:60%;animation-direction:reverse;top:20%;left:20%}@keyframes multicolor-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-pulse-ring{width:40px;height:40px;position:relative}.spinner-pulse-ring:before,.spinner-pulse-ring:after{content:"";border:2px solid var(--primary);border-radius:50%;animation:1.5s cubic-bezier(.215,.61,.355,1) infinite pulse-ring;position:absolute}.spinner-pulse-ring:after{animation-delay:-.5s}@keyframes pulse-ring{0%{opacity:1;transform:scale(.33)}80%,to{opacity:0;transform:scale(1)}}.spinner-wave{justify-content:center;align-items:center;gap:.25rem;display:flex}.spinner-wave>div{background-color:currentColor;border-radius:.125rem;width:.25rem;height:1rem;animation:1.2s ease-in-out infinite wave}.spinner-wave>div:first-child{animation-delay:-1.2s}.spinner-wave>div:nth-child(2){animation-delay:-1.1s}.spinner-wave>div:nth-child(3){animation-delay:-1s}.spinner-wave>div:nth-child(4){animation-delay:-.9s}.spinner-wave>div:nth-child(5){animation-delay:-.8s}.spinner-morph{background:linear-gradient(45deg,var(--primary),var(--accent-foreground));border-radius:60% 40% 30% 70%/60% 30% 70% 40%;width:40px;height:40px;animation:3s ease-in-out infinite morph}.spinner-ripple{width:40px;height:40px;position:relative}.spinner-ripple:before,.spinner-ripple:after{content:"";background-color:var(--primary);border-radius:50%;width:0;height:0;animation:1.5s ease-out infinite ripple;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner-ripple:after{animation-delay:.5s}.spinner-cube{width:40px;height:40px;transform-style:preserve-3d;animation:1.5s linear infinite cube-spin;position:relative}.spinner-cube>div{background-color:var(--primary);opacity:.8;width:20px;height:20px;position:absolute}.spinner-cube>div:first-child{transform:translateZ(10px)}.spinner-cube>div:nth-child(2){transform:translateZ(-10px)}.spinner-cube>div:nth-child(3){transform:rotateY(90deg)translateZ(10px)}.spinner-cube>div:nth-child(4){transform:rotateY(90deg)translateZ(-10px)}.spinner-cube>div:nth-child(5){transform:rotateX(90deg)translateZ(10px)}.spinner-cube>div:nth-child(6){transform:rotateX(90deg)translateZ(-10px)}@keyframes cube-spin{0%{transform:rotateX(0)rotateY(0)}to{transform:rotateX(360deg)rotateY(360deg)}}.spinner-dots-grid{grid-template-columns:repeat(3,1fr);gap:.25rem;width:40px;height:40px;display:grid}.spinner-dots-grid>div{background-color:currentColor;border-radius:50%;width:.5rem;height:.5rem;animation:1.5s ease-in-out infinite dots-grid}.spinner-dots-grid>div:first-child{animation-delay:0s}.spinner-dots-grid>div:nth-child(2){animation-delay:.1s}.spinner-dots-grid>div:nth-child(3){animation-delay:.2s}.spinner-dots-grid>div:nth-child(4){animation-delay:.3s}.spinner-dots-grid>div:nth-child(5){animation-delay:.4s}.spinner-dots-grid>div:nth-child(6){animation-delay:.5s}.spinner-dots-grid>div:nth-child(7){animation-delay:.6s}.spinner-dots-grid>div:nth-child(8){animation-delay:.7s}.spinner-dots-grid>div:nth-child(9){animation-delay:.8s}@keyframes dots-grid{0%,to{opacity:.3;transform:scale(.3)}50%{opacity:1;transform:scale(1)}}.spinner-xs{width:.75rem;height:.75rem}.spinner-sm{width:1rem;height:1rem}.spinner-md{width:1.5rem;height:1.5rem}.spinner-lg{width:2rem;height:2rem}.spinner-xl{width:3rem;height:3rem}.spinner-2xl{width:4rem;height:4rem}.spinner-color-primary{color:var(--primary)}.spinner-color-secondary{color:var(--secondary-foreground)}.spinner-color-muted{color:var(--muted-foreground)}.spinner-color-destructive{color:var(--destructive)}.spinner-color-accent{color:var(--accent-foreground)}.spinner-color-white{color:#fff}.loading-overlay{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-modal{background-color:var(--background);border-radius:var(--radius);flex-direction:column;align-items:center;gap:1rem;min-width:200px;padding:2rem;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.loading-text{color:var(--foreground);text-align:center;font-size:.875rem;font-weight:500}.skeleton-text{border-radius:.25rem;height:1rem}.skeleton-title{border-radius:.25rem;height:1.5rem}.skeleton-avatar{border-radius:50%;width:2.5rem;height:2.5rem}.skeleton-button{border-radius:.375rem;height:2.5rem}.skeleton-card{border-radius:.5rem;height:8rem}@media (max-width:640px){.spinner-xl{width:2.5rem;height:2.5rem}.spinner-2xl{width:3rem;height:3rem}}@media (prefers-color-scheme:dark){.loading-overlay{background-color:#000000b3}.skeleton{background:linear-gradient(90deg,var(--muted)25%,var(--accent)50%,var(--muted)75%)}}@media (prefers-reduced-motion:reduce){.spinner-circular circle,.spinner-multicolor:before,.spinner-multicolor:after,.spinner-pulse-ring:before,.spinner-pulse-ring:after,.spinner-wave>div,.spinner-morph,.spinner-ripple:before,.spinner-ripple:after,.spinner-cube,.spinner-dots-grid>div{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dotted-border-large{background-image:radial-gradient(circle,#ffffff1a 1px,#0000 1px);background-size:20px 20px;border:2px dotted #ffffff1a;border-radius:8px}
