@import "https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";:root{--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#dbe3ef;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-900:#0f172a;--panel-shadow:0 22px 48px #0f172a14, 0 6px 16px #0f172a0a;--font-body:"Manrope", "Segoe UI", sans-serif;--font-heading:"Plus Jakarta Sans", "Manrope", "Segoe UI", sans-serif;font-family:var(--font-body);color:var(--slate-700);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#60a5fa2e,#0000 22%),linear-gradient(#f8fbff 0%,#f1f5f9 38%,#edf2f7 100%);font-weight:500;line-height:1.5}*,:before,:after{box-sizing:border-box}html{min-height:100%}body{min-height:100dvh;font-family:var(--font-body);margin:0}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}button:focus-visible{outline-offset:3px;outline:3px solid #4f8dfd59}#root{min-height:100dvh}.preloader-overlay{z-index:9999;background:radial-gradient(circle at 50% 10%,#143c6e80,#0000 60%),linear-gradient(135deg,#091322 0%,#0d1e37 100%);justify-content:center;align-items:center;width:100vw;height:100vh;transition:transform .8s cubic-bezier(.85,0,.15,1);display:flex;position:fixed;top:0;left:0;overflow:hidden}.preloader-overlay.slide-up{transform:translateY(-100%)}.preloader-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:800px;padding:1.5rem 2rem 2rem;display:flex}.canvas-container{justify-content:center;align-items:center;width:min(100%,760px);height:400px;margin-bottom:.45rem;display:flex}.canvas-container canvas{pointer-events:none;filter:drop-shadow(0 24px 52px #38bdf81f);width:100%;height:100%}.preloader-info-container{opacity:0;flex-direction:column;align-items:center;animation:1.5s .5s forwards fadeIn;display:flex}.preloader-badge{font-family:var(--font-heading);letter-spacing:.05em;color:#94a3b8;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a52;border:1px solid #94a3b81f;border-radius:999px;align-items:center;gap:8px;margin-bottom:1rem;padding:.38rem .78rem;font-size:.7rem;font-weight:700;display:flex}.badge-dot{background-color:#38bdf8;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulseDot;box-shadow:0 0 10px #38bdf8,0 0 4px #38bdf8}.preloader-title{font-family:var(--font-heading);color:#fff;letter-spacing:-.02em;text-shadow:0 2px 10px #00000059;margin:0 0 .5rem;font-size:2.1rem;font-weight:800}.preloader-subtitle{color:#94a3b8;max-width:30rem;margin:0 0 1.5rem;font-size:.95rem}.preloader-progress-container{background-color:#ffffff14;border-radius:4px;width:100%;max-width:320px;height:4px;margin-bottom:1rem;position:relative;overflow:hidden}.preloader-progress-bar{z-index:2;background:linear-gradient(90deg,#38bdf8,#818cf8);border-radius:4px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);position:relative}.preloader-glow{filter:blur(4px);z-index:1;background:linear-gradient(90deg,#0000,#818cf899,#0000);height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.preloader-percentage{font-family:var(--font-heading);color:#94a3b8;font-size:.85rem;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.preloader-progress-wrapper{flex-direction:column;align-items:center;width:100%;display:flex}@media (width<=768px){.canvas-container{height:320px}.preloader-title{font-size:1.5rem}.preloader-subtitle{font-size:.85rem}.preloader-badge{padding:5px 12px;font-size:.65rem}.preloader-content{padding:1rem}}@media (width<=480px){.preloader-content{padding:1rem 1rem 1.5rem}.canvas-container{height:300px}.preloader-title{font-size:1.35rem}.preloader-subtitle{max-width:19rem}.preloader-progress-container{max-width:280px}}
