<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content="#1a1a1a"><meta name="msapplication-navbutton-color" content="#1a1a1a"><meta name="apple-mobile-web-app-status-bar-style" content="#1a1a1a"><meta property="og:type" content="website"><!-- Standard favicon --><link rel="icon" type="image/png" sizes="32x32" href="https://cdn.mythical.systems/featherpanel/logo.png"><link rel="icon" type="image/png" sizes="16x16" href="https://cdn.mythical.systems/featherpanel/logo.png"><!-- ICO fallback for Firefox and legacy browsers --><link rel="icon" type="image/x-icon" href="https://cdn.mythical.systems/featherpanel/logo.ico"><link rel="shortcut icon" href="https://cdn.mythical.systems/featherpanel/logo.ico"><!-- Apple Touch Icon --><link rel="apple-touch-icon" href="https://cdn.mythical.systems/featherpanel/logo.png"><meta author="FeatherPanel"><meta name="robots" content="index, follow"><!-- Disable Cloudflare Rocket Loader --><meta name="cf-2fa-verify" content=""><script>window.cfAsync&&(window.cfAsync=!1)</script><!-- PWA Manifest and Service Worker Registration --><link rel="manifest" href="/api/manifest.webmanifest"><title>FeatherPanel</title><script defer="defer" src="https://dynhost.mythical.systems/script.js" data-website-id="71281b01-8c95-4fac-9f58-6d68aac179d7" data-cfasync="false"></script><!-- Custom Scrollbar and Preloader Styles --><style>::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0;border-radius:6px}::-webkit-scrollbar-thumb{background:#374151;border-radius:6px;border:2px solid transparent;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:#4b5563;transform:scale(1.05)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:#374151 transparent}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background:#020203;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999;transition:opacity .6s cubic-bezier(.4, 0, .2, 1),transform .6s cubic-bezier(.4, 0, .2, 1);overflow:hidden}.preloader::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px;opacity:.3}.preloader::after{content:'';position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.01) 0,transparent 70%);transform:translate(-50%,-50%)}.preloader.light{background:#fff}.preloader.light::before{background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);opacity:.5}.preloader.light::after{background:radial-gradient(circle,rgba(0,0,0,.01) 0,transparent 70%)}.preloader.fade-out{opacity:0;transform:scale(1.05);pointer-events:none}.preloader-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2rem}.preloader-card{background:rgba(10,10,10,.5);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:3rem 4rem;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.02) inset;transition:all .3s ease;min-width:420px;max-width:90vw;width:100%}.preloader.light .preloader-card{background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.1);box-shadow:0 20px 60px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.02) inset}.preloader-logo-container{position:relative;width:100px;height:100px;margin:0 auto 2rem}.preloader-logo{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.03);border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.3);transition:all .3s ease}.preloader.light .preloader-logo{background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.1);box-shadow:0 8px 32px rgba(0,0,0,.08)}.preloader-logo::before{content:'';position:absolute;inset:-1px;border-radius:20px;padding:1px;background:linear-gradient(45deg,rgba(255,255,255,.1),rgba(255,255,255,.05),rgba(255,255,255,.1));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.5;animation:logoRotate 8s linear infinite}.preloader.light .preloader-logo::before{background:linear-gradient(45deg,rgba(0,0,0,.1),rgba(0,0,0,.05),rgba(0,0,0,.1));opacity:.6}.preloader-logo::after{content:'⚡';font-size:3rem;filter:drop-shadow(0 2px 8px rgba(255, 255, 255, .1))}.preloader-logo.has-custom-logo::after{opacity:0;transform:scale(.8);transition:all .4s cubic-bezier(.4, 0, .2, 1)}.preloader-logo img{opacity:0;transform:scale(.8);transition:all .4s cubic-bezier(.4, 0, .2, 1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);width:60px;height:60px;object-fit:contain;border-radius:8px;z-index:1}.preloader-logo.has-custom-logo img{opacity:1;transform:translate(-50%,-50%) scale(1)}.preloader-logo::after{transition:all .4s cubic-bezier(.4, 0, .2, 1)}.preloader-brand{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:1.75rem;font-weight:700;color:#fff;text-align:center;margin-bottom:.5rem;letter-spacing:-.02em;transition:all .3s cubic-bezier(.4, 0, .2, 1);opacity:1;transform:translateY(0)}.preloader-brand.updating{opacity:0;transform:translateY(-10px)}.preloader.light .preloader-brand{color:#0a0a0a}.preloader-status{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:.875rem;color:rgba(255,255,255,.5);text-align:center;margin-bottom:2rem;font-weight:500;transition:all .3s ease}.preloader.light .preloader-status{color:rgba(0,0,0,.5)}.preloader-progress-container{width:100%;margin-bottom:1.5rem}.preloader-progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:.8125rem;color:rgba(255,255,255,.4);font-weight:500}.preloader.light .preloader-progress-label{color:rgba(0,0,0,.4)}.preloader-percentage{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.8);font-weight:600}.preloader.light .preloader-percentage{color:rgba(0,0,0,.8)}.loading-bar{width:100%;height:6px;background:rgba(255,255,255,.05);border-radius:999px;overflow:hidden;position:relative;box-shadow:0 0 0 1px rgba(0,0,0,.1) inset}.preloader.light .loading-bar{background:rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(0,0,0,.05) inset}.loading-progress{height:100%;background:rgba(255,255,255,.9);border-radius:999px;width:0%;position:relative;box-shadow:0 0 10px rgba(255,255,255,.2);transition:width .3s ease-out}.preloader.light .loading-progress{background:rgba(0,0,0,.9);box-shadow:0 0 10px rgba(0,0,0,.1)}.loading-progress::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:loadingShimmer 2s ease-in-out infinite}.preloader.light .loading-progress::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.system-status{display:flex;gap:1.5rem;justify-content:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05)}.preloader.light .system-status{border-top:1px solid rgba(0,0,0,.08)}.status-item{display:flex;align-items:center;gap:.5rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:.75rem;color:rgba(255,255,255,.35);font-weight:500}.preloader.light .status-item{color:rgba(0,0,0,.4)}.status-indicator{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 0 8px rgba(255,255,255,.3);animation:statusBlink 2s ease-in-out infinite;position:relative}.preloader.light .status-indicator{background:rgba(0,0,0,.5);box-shadow:0 0 8px rgba(0,0,0,.2)}.status-indicator::before{content:'';position:absolute;inset:-2px;border-radius:50%;background:inherit;opacity:.3;animation:statusRipple 2s ease-in-out infinite}@keyframes logoRotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes iconPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes loadingShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}@keyframes statusBlink{0%,100%{opacity:1}50%{opacity:.5}}@keyframes statusRipple{0%{transform:scale(1);opacity:.3}50%{transform:scale(1.5);opacity:0}100%{transform:scale(1);opacity:0}}.preloader.hidden{display:none}@media (max-width:640px){.preloader-card{min-width:unset;width:90%;padding:2rem 1.5rem;margin:0 1rem}.preloader-logo-container{width:80px;height:80px}.preloader-brand{font-size:1.5rem}.system-status{flex-direction:column;gap:.75rem}}@media (max-width:480px){.preloader-card{padding:1.5rem 1rem;margin:0 .5rem}.preloader-logo-container{width:70px;height:70px}.preloader-brand{font-size:1.25rem}.preloader-status{font-size:.75rem}}.cookie-consent{position:fixed;bottom:0;left:0;right:0;background:rgba(10,10,10,.65);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-top:1px solid rgba(255,255,255,.12);padding:1.75rem 2rem;z-index:10000;transform:translateY(100%);transition:transform .5s cubic-bezier(.4, 0, .2, 1),opacity .5s ease;box-shadow:0 -8px 32px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.05) inset;opacity:0}.cookie-consent::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.cookie-consent.show{transform:translateY(0);opacity:1}.cookie-consent.light{background:rgba(255,255,255,.7);border-top:1px solid rgba(0,0,0,.12);box-shadow:0 -8px 32px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.05) inset}.cookie-consent.light::before{background:linear-gradient(90deg,transparent,rgba(0,0,0,.15),transparent)}.cookie-consent-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:2rem;flex-wrap:wrap;position:relative;z-index:1}.cookie-consent-icon{font-size:1.5rem;line-height:1;opacity:.9;flex-shrink:0}.cookie-consent-message{flex:1;min-width:280px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:.9375rem;color:rgba(255,255,255,.95);line-height:1.6;font-weight:400;letter-spacing:-.01em}.cookie-consent.light .cookie-consent-message{color:rgba(0,0,0,.9)}.cookie-consent-progress-container{flex:0 0 auto;min-width:240px;max-width:320px;width:100%}.cookie-consent-progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:.8125rem;color:rgba(255,255,255,.7);font-weight:500}.cookie-consent.light .cookie-consent-progress-label{color:rgba(0,0,0,.7)}.cookie-consent-progress-bar{width:100%;height:5px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;position:relative;box-shadow:0 0 0 1px rgba(255,255,255,.05) inset}.cookie-consent.light .cookie-consent-progress-bar{background:rgba(0,0,0,.1);box-shadow:0 0 0 1px rgba(0,0,0,.05) inset}.cookie-consent-progress-fill{height:100%;background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.85));border-radius:999px;width:0%;transition:width .1s linear;box-shadow:0 0 12px rgba(255,255,255,.3),0 0 24px rgba(255,255,255,.1);position:relative;overflow:hidden}.cookie-consent.light .cookie-consent-progress-fill{background:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.85));box-shadow:0 0 12px rgba(0,0,0,.2),0 0 24px rgba(0,0,0,.1)}.cookie-consent-progress-fill::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:cookieShimmer 2s ease-in-out infinite}.cookie-consent.light .cookie-consent-progress-fill::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}@keyframes cookieShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}@media (max-width:768px){.cookie-consent{padding:1.5rem 1.5rem}.cookie-consent-content{flex-direction:column;gap:1.25rem;align-items:stretch}.cookie-consent-icon{text-align:center;font-size:1.75rem}.cookie-consent-message{text-align:center;min-width:unset;font-size:.875rem;padding:0 .5rem}.cookie-consent-progress-container{max-width:100%;min-width:unset}}@media (max-width:480px){.cookie-consent{padding:1.25rem 1rem}.cookie-consent-content{gap:1rem}.cookie-consent-icon{font-size:1.5rem}.cookie-consent-message{font-size:.8125rem;padding:0}.cookie-consent-progress-label{font-size:.75rem}}.cookie-consent.hidden{display:none}</style><!-- FEATHERPANEL_HEADER_PLACEHOLDER_START --><!-- FEATHERPANEL_HEADER_PLACEHOLDER_END --><script type="module" crossorigin src="/assets/index-B8rHqvBz.js"></script><link rel="modulepreload" crossorigin href="/js/chunk-k6ipQKwx.js"><link rel="modulepreload" crossorigin href="/js/chunk-CckHLvYK.js"><link rel="modulepreload" crossorigin href="/js/chunk-3Dcohwrr.js"><link rel="modulepreload" crossorigin href="/js/chunk-CQ9HE7WQ.js"><link rel="modulepreload" crossorigin href="/js/chunk-G_RywoMt.js"><link rel="modulepreload" crossorigin href="/js/chunk-BvPSQZHf.js"><link rel="modulepreload" crossorigin href="/js/chunk-DSqJNZ_e.js"><link rel="modulepreload" crossorigin href="/js/chunk-Bqx7vdHo.js"><link rel="modulepreload" crossorigin href="/js/chunk-C0zNQQXK.js"><link rel="modulepreload" crossorigin href="/js/chunk-CXeT8-TR.js"><link rel="modulepreload" crossorigin href="/js/chunk-Bdyyv-Qv.js"><link rel="modulepreload" crossorigin href="/js/chunk-bZwthcuJ.js"><link rel="modulepreload" crossorigin href="/js/chunk-Vo7VBPq1.js"><link rel="modulepreload" crossorigin href="/js/chunk-DBb2M0Hh.js"><link rel="modulepreload" crossorigin href="/js/chunk-BU0gWp1w.js"><link rel="modulepreload" crossorigin href="/js/chunk-DNFuQXmC.js"><link rel="modulepreload" crossorigin href="/js/chunk-UMo6tY-M.js"><link rel="modulepreload" crossorigin href="/js/chunk-BwUrMPKD.js"><link rel="modulepreload" crossorigin href="/js/chunk-DwJ8jryu.js"><link rel="modulepreload" crossorigin href="/js/chunk-CL0lUv_j.js"><link rel="modulepreload" crossorigin href="/js/chunk-C6x6-ccx.js"><link rel="modulepreload" crossorigin href="/js/chunk-CZO5wOw7.js"><link rel="modulepreload" crossorigin href="/js/chunk-bkTkJpoF.js"><link rel="stylesheet" crossorigin href="/assets/vue-toastification-DIPZEjqT.css"><link rel="stylesheet" crossorigin href="/assets/index-CVTl00Fy.css"></head><body class="dark"><!-- Preloader --><div class="preloader" id="preloader"><div class="preloader-content"><div class="preloader-card"><div class="preloader-logo-container"><div class="preloader-logo"></div></div><div class="preloader-brand">FeatherPanel</div><div class="preloader-status" id="status-text">Initializing system...</div><div class="preloader-progress-container"><div class="preloader-progress-label"><span id="progress-text">Loading assets</span> <span class="preloader-percentage" id="progress-percentage">0%</span></div><div class="loading-bar"><div class="loading-progress" id="loading-progress"></div></div></div><div class="system-status"><div class="status-item"><div class="status-indicator"></div><span>API</span></div><div class="status-item"><div class="status-indicator"></div><span>Database</span></div><div class="status-item"><div class="status-indicator"></div><span>Cache</span></div></div></div></div></div><!-- Cookie Consent Banner --><div class="cookie-consent" id="cookie-consent"><div class="cookie-consent-content"><div class="cookie-consent-icon">🍪</div><div class="cookie-consent-message">This website uses cookies to operate. By using this website, you accept the use of cookies.</div><div class="cookie-consent-progress-container"><div class="cookie-consent-progress-label"><span>Accepting...</span> <span id="cookie-progress-percentage">0%</span></div><div class="cookie-consent-progress-bar"><div class="cookie-consent-progress-fill" id="cookie-progress-fill"></div></div></div></div></div><div id="app"><!-- FEATHERPANEL_APP_PLACEHOLDER_START --><!-- Your app content will be here --><!-- FEATHERPANEL_APP_PLACEHOLDER_END --></div><!-- Preloader Script --><script data-cfasync="false">let currentTheme="dark";function updatePreloaderTheme(e){const t=document.getElementById("preloader");t&&("light"===e?(t.classList.add("light"),t.classList.remove("dark")):(t.classList.remove("light"),t.classList.add("dark")))}function updateCustomBranding(){const e=localStorage.getItem("appName"),t=localStorage.getItem("appLogoDark"),o=localStorage.getItem("appLogoWhite");console.log("[Preloader] Custom branding:",{appName:e,appLogoDark:t,appLogoWhite:o});const s=document.querySelector(".preloader-brand");s&&e&&(s.classList.add("updating"),setTimeout(()=>{s.textContent=e,s.classList.remove("updating")},150));const r=document.querySelector(".preloader-logo");if(r){const s=document.body.classList.contains("dark")||!document.body.classList.contains("light")&&window.matchMedia("(prefers-color-scheme: dark)").matches,a=s?t:o;if(console.log("[Preloader] Theme:",s?"dark":"light","Logo to use:",a),a){r.classList.add("has-custom-logo");let t=r.querySelector("img");t||(t=document.createElement("img"),r.appendChild(t)),t.src=a,t.alt=e||"App Logo",console.log("[Preloader] Setting logo src:",a),t.onerror=function(){console.log("[Preloader] Logo failed to load, falling back to emoji"),r.classList.remove("has-custom-logo"),t.remove()}}else{r.classList.remove("has-custom-logo");const e=r.querySelector("img");e&&e.remove(),console.log("[Preloader] No custom logo found, showing default emoji")}}}function getCurrentTheme(){const e=localStorage.getItem("theme"),t=window.matchMedia("(prefers-color-scheme: dark)").matches;return e||(t?"dark":"light")}function initializePreloaderTheme(){currentTheme=getCurrentTheme(),updatePreloaderTheme(currentTheme)}function initializeCustomBranding(){updateCustomBranding()}!function(){const e=localStorage.getItem("theme"),t=window.matchMedia("(prefers-color-scheme: dark)").matches,o=e||(t?"dark":"light");"light"===o?(document.body.classList.add("light"),document.body.classList.remove("dark")):(document.body.classList.add("dark"),document.body.classList.remove("light")),currentTheme=o;document.getElementById("preloader")&&updatePreloaderTheme(o),initializeCustomBranding()}(),window.addEventListener("theme-changed",e=>{currentTheme=e.detail.theme,updatePreloaderTheme(currentTheme),updateCustomBranding()}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{localStorage.getItem("theme")||(currentTheme=e.matches?"dark":"light",updatePreloaderTheme(currentTheme))});const loadingStages=[{message:"Initializing core systems",progress:15},{message:"Loading asset bundles",progress:25},{message:"Compiling shaders",progress:35},{message:"Building caches",progress:45},{message:"Initializing renderer",progress:55},{message:"Loading configurations",progress:65},{message:"Preparing components",progress:75},{message:"Setting up networking",progress:85},{message:"Finalizing startup",progress:95}];let messageInterval,progressInterval,currentStageIndex=0,isPageFullyLoaded=!1,currentProgress=0,preloaderStartTime=Date.now();const MIN_PRELOADER_DISPLAY_TIME=1500;function updateProgress(e,t){const o=document.getElementById("loading-progress"),s=document.getElementById("progress-text"),r=document.getElementById("progress-percentage"),a=document.getElementById("status-text");if(o&&r&&s){const n=currentProgress,d=e-n,i=600,l=Date.now(),c=()=>{const e=Date.now()-l,t=Math.min(e/i,1),s=t<.5?2*t*t:1-Math.pow(-2*t+2,2)/2;currentProgress=n+d*s,o.style.width=currentProgress+"%",r.textContent=Math.round(currentProgress)+"%",t<1&&requestAnimationFrame(c)};c(),s.textContent=t,a&&(a.textContent=t+"...")}}function showNextStage(){if(currentStageIndex<loadingStages.length){const e=loadingStages[currentStageIndex];updateProgress(e.progress,e.message),currentStageIndex++}else clearInterval(messageInterval)}function hidePreloader(){const e=document.getElementById("preloader");e&&(clearInterval(messageInterval),clearInterval(progressInterval),updateProgress(100,"Ready"),setTimeout(()=>{e.classList.add("fade-out"),setTimeout(()=>{e.classList.add("hidden")},600)},300))}function hidePreloaderWithDelay(){const e=Date.now()-preloaderStartTime,t=Math.max(0,1500-e);setTimeout(()=>{hidePreloader()},t)}document.addEventListener("DOMContentLoaded",()=>{updatePreloaderTheme(currentTheme),updateCustomBranding(),showNextStage(),messageInterval=setInterval(()=>{showNextStage()},400);const e=setInterval(()=>{document.querySelector("#app").children.length>0&&(clearInterval(e),isPageFullyLoaded&&setTimeout(()=>{hidePreloaderWithDelay()},500))},100)}),window.addEventListener("load",()=>{isPageFullyLoaded=!0,setTimeout(()=>{isPageFullyLoaded&&(clearInterval(messageInterval),setTimeout(()=>{hidePreloaderWithDelay()},800))},500)}),function(){if("true"===function(e){const t=`; ${document.cookie}`.split(`; ${e}=`);return 2===t.length?t.pop().split(";").shift():null}("cookiesAccepted"))return;const e=document.getElementById("cookie-consent");if(!e)return;function t(t){"light"===t?(e.classList.add("light"),e.classList.remove("dark")):(e.classList.remove("light"),e.classList.add("dark"))}function o(){setTimeout(()=>{!function(){const e=localStorage.getItem("theme"),o=window.matchMedia("(prefers-color-scheme: dark)").matches;t(e||(o?"dark":"light"))}(),e.classList.add("show");const o=document.getElementById("cookie-progress-fill"),s=document.getElementById("cookie-progress-percentage"),r=Date.now();let a;!function t(){const n=Date.now()-r,d=Math.min(n/3e3,1),i=Math.round(100*d);o&&(o.style.width=i+"%"),s&&(s.textContent=i+"%"),d<1?a=requestAnimationFrame(t):(e.classList.remove("show"),setTimeout(()=>{e.classList.add("hidden"),function(e,t,o=365){const s=new Date;s.setTime(s.getTime()+24*o*60*60*1e3);const r=`expires=${s.toUTCString()}`;document.cookie=`${e}=${t};${r};path=/`}("cookiesAccepted","true",365)},500))}()},800)}window.addEventListener("theme-changed",e=>{t(e.detail.theme)});const s=document.getElementById("preloader");if(s&&s.classList.contains("hidden"))o();else{const e=setInterval(()=>{s&&s.classList.contains("hidden")&&(clearInterval(e),o())},100);setTimeout(()=>{clearInterval(e),o()},5e3)}}()</script><!-- FEATHERPANEL_FOOTER_PLACEHOLDER_START --><!-- FEATHERPANEL_FOOTER_PLACEHOLDER_END --></body></html>