*{margin:0;padding:0;box-sizing:border-box}html{width:100%;height:100%;background:#0a0a12;overflow:hidden}body{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a12;margin:0;padding:0;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}#root{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a12;overflow:hidden}canvas{display:block;width:100%!important;height:100%!important;position:fixed;top:0;left:0;background:#0a0a12;touch-action:none}.main-canvas{filter:none;transition:filter .3s ease}.htmlScreen iframe{width:1024px;height:680px;border:none;border-radius:5px;background:#000;overflow:auto;box-shadow:0 0 20px #4a90e233}.loader-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;font-family:system-ui,-apple-system,sans-serif}.loader-content{display:flex;flex-direction:column;align-items:center;gap:20px}.loader-spinner{width:50px;height:50px;border:3px solid rgba(74,144,226,.2);border-top-color:#4a90e2;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loader-text{color:#e8f4ff;font-size:18px;font-weight:300;letter-spacing:1px}.loader-dots{display:inline-block;animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.loader-progress{width:200px;height:3px;background:#4a90e233;border-radius:2px;overflow:hidden}.loader-progress-bar{height:100%;background:linear-gradient(90deg,#4a90e2,#8cf);transition:width .3s ease}.loader-percentage{color:#8cf;font-size:14px;font-weight:500}.theme-switcher{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--button-bg, rgba(20, 20, 30, .8));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:50px;color:var(--button-text, #ffffff);font-family:system-ui,-apple-system,sans-serif;font-size:13px;font-weight:500;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0000004d,0 0 20px color-mix(in srgb,var(--glow-color, #88ccff) 20%,transparent)}.theme-switcher:hover{transform:translateY(-2px);border-color:#ffffff40;box-shadow:0 6px 30px #0006,0 0 30px color-mix(in srgb,var(--glow-color, #88ccff) 30%,transparent)}.theme-switcher:active{transform:translateY(0)}.theme-switcher:disabled{opacity:.7;cursor:wait}.theme-icon{display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.theme-icon.transitioning{animation:iconSpin .6s ease}@keyframes iconSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(.8)}to{transform:rotate(360deg) scale(1)}}.theme-label{text-transform:uppercase}@media(max-width:480px){.theme-switcher{bottom:16px;right:16px;padding:8px 12px;font-size:11px}.theme-label{display:none}}.custom-cursor{position:fixed;pointer-events:none;z-index:9999;opacity:0;transition:opacity .2s ease}.custom-cursor.visible{opacity:1}.cursor-dot{position:absolute;width:5px;height:5px;background:var(--cursor-color, #88ccff);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px var(--cursor-color, #88ccff),0 0 12px var(--cursor-color, #88ccff);animation:cursorPulse 2s ease-in-out infinite}.cursor-ring{position:absolute;width:20px;height:20px;border:1px solid var(--cursor-color, #88ccff);border-radius:50%;transform:translate(-50%,-50%);opacity:.3;transition:all .15s ease-out}.custom-cursor.hovering .cursor-ring{width:28px;height:28px;opacity:.5;border-width:1.5px}.custom-cursor.hovering .cursor-dot{transform:translate(-50%,-50%) scale(1.2)}@keyframes cursorPulse{0%,to{opacity:1;box-shadow:0 0 10px var(--cursor-color, #88ccff),0 0 20px var(--cursor-color, #88ccff)}50%{opacity:.8;box-shadow:0 0 15px var(--cursor-color, #88ccff),0 0 30px var(--cursor-color, #88ccff)}}.cursor-trail-particle{position:fixed;width:6px;height:6px;border-radius:50%;pointer-events:none;z-index:9998}canvas{cursor:none!important}button,a,[role=button]{cursor:none!important}@media(hover:none)and (pointer:coarse){.custom-cursor,.cursor-trail-particle{display:none!important}canvas{cursor:auto!important}}
