#page-loader{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--loader-bg,#ffffff);transition:opacity 0.5s ease,visibility 0.5s ease;}#page-loader.loaded{opacity:0;visibility:hidden;pointer-events:none;}.loader-text{margin-top:1.5rem;font-size:0.875rem;font-weight:500;color:var(--loader-text,#64748b);letter-spacing:0.05em;}.loader-wrapper{display:flex;align-items:center;justify-content:center;position:relative;}.loader-style-1{width:48px;height:48px;border:4px solid var(--loader-secondary,#e2e8f0);border-top-color:var(--loader-primary,#9b1c1c);border-radius:50%;animation:spin 1s linear infinite;}.loader-style-2{width:48px;height:48px;border-radius:50%;border:4px solid transparent;border-top-color:var(--loader-primary,#9b1c1c);border-bottom-color:var(--loader-secondary,#c73232);animation:spin 1s linear infinite;}.loader-style-3{display:flex;gap:8px;}.loader-style-3 span{width:14px;height:14px;background:var(--loader-primary,#9b1c1c);border-radius:50%;animation:bounce 1.4s ease-in-out infinite both;}.loader-style-3 span:nth-child(1){animation-delay:-0.32s;}.loader-style-3 span:nth-child(2){animation-delay:-0.16s;}.loader-style-3 span:nth-child(3){animation-delay:0s;}.loader-style-4{width:48px;height:48px;border-radius:50%;background:var(--loader-primary,#9b1c1c);animation:pulse-ring 1.5s ease-in-out infinite;}.loader-style-5{position:relative;width:48px;height:48px;}.loader-style-5::before,.loader-style-5::after{content:'';position:absolute;inset:0;border:4px solid transparent;border-radius:50%;}.loader-style-5::before{border-top-color:var(--loader-primary,#9b1c1c);animation:spin 1s linear infinite;}.loader-style-5::after{border-bottom-color:var(--loader-secondary,#c73232);animation:spin 0.5s linear infinite reverse;}.loader-style-6{width:40px;height:40px;background:var(--loader-primary,#9b1c1c);animation:square-flip 1.2s ease-in-out infinite;}.loader-style-7{display:flex;gap:4px;align-items:flex-end;height:40px;}.loader-style-7 span{width:8px;background:var(--loader-primary,#9b1c1c);animation:wave 1.2s ease-in-out infinite;}.loader-style-7 span:nth-child(1){animation-delay:0s;height:20px;}.loader-style-7 span:nth-child(2){animation-delay:0.1s;height:30px;}.loader-style-7 span:nth-child(3){animation-delay:0.2s;height:40px;}.loader-style-7 span:nth-child(4){animation-delay:0.3s;height:30px;}.loader-style-7 span:nth-child(5){animation-delay:0.4s;height:20px;}.loader-style-8{width:48px;height:48px;position:relative;animation:rotate-squares 1.8s linear infinite;}.loader-style-8::before,.loader-style-8::after{content:'';position:absolute;width:20px;height:20px;background:var(--loader-primary,#9b1c1c);}.loader-style-8::before{top:0;left:0;animation:square-scale 0.9s ease-in-out infinite alternate;}.loader-style-8::after{bottom:0;right:0;animation:square-scale 0.9s ease-in-out infinite alternate-reverse;}.loader-style-9{width:48px;height:48px;border-radius:50%;background:conic-gradient(from 0deg,var(--loader-primary,#9b1c1c),transparent);animation:spin 1s linear infinite;mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#fff 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#fff 0);}.loader-style-10{position:relative;width:48px;height:48px;}.loader-style-10 span{position:absolute;inset:0;border:4px solid var(--loader-primary,#9b1c1c);border-radius:50%;animation:grow-circle 1.5s ease-out infinite;}.loader-style-10 span:nth-child(2){animation-delay:0.5s;}.loader-style-11{width:48px;height:48px;border:4px dotted var(--loader-primary,#9b1c1c);border-radius:50%;animation:spin 2s linear infinite;}.loader-style-12{width:0;height:0;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:44px solid var(--loader-primary,#9b1c1c);animation:spin 1s linear infinite;}.loader-style-13{width:48px;height:48px;border:4px solid var(--loader-secondary,#e2e8f0);border-radius:50%;position:relative;}.loader-style-13::before{content:'';position:absolute;width:2px;height:16px;background:var(--loader-primary,#9b1c1c);top:6px;left:50%;transform-origin:bottom center;transform:translateX(-50%);animation:clock 2s steps(60) infinite;}.loader-style-14{width:48px;height:48px;position:relative;transform:rotateZ(45deg);}.loader-style-14 span{position:absolute;width:24px;height:24px;background:var(--loader-primary,#9b1c1c);animation:fold 2.4s infinite linear;transform-origin:100% 100%;}.loader-style-14 span:nth-child(2){animation-delay:0.6s;transform-origin:0 100%;}.loader-style-14 span:nth-child(3){animation-delay:1.2s;transform-origin:0 0;}.loader-style-14 span:nth-child(4){animation-delay:1.8s;transform-origin:100% 0;}.loader-style-15{width:48px;height:48px;position:relative;}.loader-style-15::before,.loader-style-15::after,.loader-style-15 span{position:absolute;content:'';width:100%;height:100%;border:2px solid var(--loader-primary,#9b1c1c);border-radius:50%;border-top-color:transparent;border-bottom-color:transparent;}.loader-style-15::before{animation:atom 1s linear infinite;}.loader-style-15::after{transform:rotate(60deg);animation:atom 1s linear infinite 0.33s;}.loader-style-15 span{transform:rotate(120deg);animation:atom 1s linear infinite 0.66s;}.loader-style-16{font-size:48px;color:var(--loader-primary,#9b1c1c);animation:heartbeat 1.2s ease-in-out infinite;}.loader-style-17{display:flex;gap:4px;}.loader-style-17 span{width:8px;height:8px;border-radius:50%;background:var(--loader-primary,#9b1c1c);animation:dna 1.2s ease-in-out infinite;}.loader-style-17 span:nth-child(1){animation-delay:0s;}.loader-style-17 span:nth-child(2){animation-delay:0.1s;}.loader-style-17 span:nth-child(3){animation-delay:0.2s;}.loader-style-17 span:nth-child(4){animation-delay:0.3s;}.loader-style-17 span:nth-child(5){animation-delay:0.4s;}.loader-style-18{font-size:48px;color:var(--loader-primary,#9b1c1c);animation:spin 2s linear infinite;}.loader-style-19{width:48px;height:48px;border-radius:50%;background:linear-gradient(0deg,transparent 50%,var(--loader-primary,#9b1c1c) 50%);animation:spin 1s linear infinite;position:relative;}.loader-style-19::after{content:'';position:absolute;inset:4px;background:var(--loader-bg,#ffffff);border-radius:50%;}.loader-style-20{font-size:1.5rem;font-weight:bold;color:var(--loader-primary,#9b1c1c);overflow:hidden;white-space:nowrap;border-right:3px solid var(--loader-primary,#9b1c1c);animation:typing 2s steps(12) infinite,blink 0.5s step-end infinite;}.loader-style-21{position:relative;width:48px;height:48px;}.loader-style-21 span{position:absolute;inset:0;border:4px solid var(--loader-primary,#9b1c1c);border-radius:50%;animation:ripple 1.5s ease-out infinite;}.loader-style-21 span:nth-child(2){animation-delay:0.5s;}.loader-style-21 span:nth-child(3){animation-delay:1s;}.loader-style-22{font-size:48px;color:var(--loader-primary,#9b1c1c);animation:flip 2s linear infinite;}.loader-style-23{width:48px;height:48px;position:relative;}.loader-style-23 .center{position:absolute;width:16px;height:16px;background:var(--loader-primary,#9b1c1c);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);}.loader-style-23 .orbit{position:absolute;inset:0;border:2px solid var(--loader-secondary,#e2e8f0);border-radius:50%;animation:spin 2s linear infinite;}.loader-style-23 .orbit::after{content:'';position:absolute;width:10px;height:10px;background:var(--loader-primary,#9b1c1c);border-radius:50%;top:-5px;left:50%;transform:translateX(-50%);}.loader-style-24{display:flex;flex-direction:column;align-items:center;}.loader-style-24 .logo{width:64px;height:64px;object-fit:contain;animation:pulse-scale 1.5s ease-in-out infinite;}.loader-style-24 .progress{width:120px;height:4px;background:var(--loader-secondary,#e2e8f0);border-radius:2px;margin-top:16px;overflow:hidden;}.loader-style-24 .progress-bar{width:30%;height:100%;background:var(--loader-primary,#9b1c1c);border-radius:2px;animation:progress-slide 1.5s ease-in-out infinite;}@keyframes spin{to{transform:rotate(360deg);}}@keyframes bounce{0%,80%,100%{transform:scale(0);}40%{transform:scale(1);}}@keyframes pulse-ring{0%{transform:scale(0.95);opacity:1;}50%{transform:scale(1);opacity:0.7;}100%{transform:scale(0.95);opacity:1;}}@keyframes square-flip{0%{transform:perspective(120px) rotateX(0deg) rotateY(0deg);}50%{transform:perspective(120px) rotateX(-180deg) rotateY(0deg);}100%{transform:perspective(120px) rotateX(-180deg) rotateY(-180deg);}}@keyframes wave{0%,100%{transform:scaleY(0.5);}50%{transform:scaleY(1);}}@keyframes rotate-squares{to{transform:rotate(360deg);}}@keyframes square-scale{0%{transform:scale(1);}100%{transform:scale(0.5);}}@keyframes grow-circle{0%{transform:scale(0);opacity:1;}100%{transform:scale(1);opacity:0;}}@keyframes clock{to{transform:translateX(-50%) rotate(360deg);}}@keyframes fold{0%,10%{transform:perspective(140px) rotateX(-180deg);opacity:0;}25%,75%{transform:perspective(140px) rotateX(0deg);opacity:1;}90%,100%{transform:perspective(140px) rotateY(180deg);opacity:0;}}@keyframes atom{to{transform:rotate(360deg);}}@keyframes heartbeat{0%,100%{transform:scale(1);}15%{transform:scale(1.15);}30%{transform:scale(1);}45%{transform:scale(1.15);}60%{transform:scale(1);}}@keyframes dna{0%,100%{transform:translateY(0);}50%{transform:translateY(-16px);}}@keyframes typing{0%{width:0;}50%{width:100%;}100%{width:0;}}@keyframes blink{50%{border-color:transparent;}}@keyframes ripple{0%{transform:scale(0.8);opacity:1;}100%{transform:scale(2);opacity:0;}}@keyframes flip{0%{transform:rotate(0deg);}50%{transform:rotate(180deg);}100%{transform:rotate(360deg);}}@keyframes pulse-scale{0%,100%{transform:scale(1);opacity:0.9;}50%{transform:scale(1.05);opacity:1;}}@keyframes progress-slide{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}html.dark #page-loader{--loader-bg:#0f172a;--loader-text:#94a3b8;--loader-secondary:#334155;}#page-loader[data-min-time="true"]{transition-delay:var(--loader-min-time,0.5s);}