*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;overflow:hidden;background:#0a0a0a}canvas{display:block}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#190927;display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .6s ease,visibility .6s ease;overflow:hidden}.loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-glow{position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(168,85,247,.3) 0%,rgba(124,58,237,.15) 40%,transparent 70%);border-radius:50%;animation:glow-pulse 2s ease-in-out infinite;filter:blur(40px)}@keyframes glow-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:1}}.loading-content{display:flex;flex-direction:column;align-items:center;gap:20px;z-index:1}.loading-icon{animation:icon-float 2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(168,85,247,.5))}.loading-icon .loading-body{fill:url(#purple-gradient)}.loading-icon .loading-dot{fill:#a855f799}.loading-icon .loading-dot:nth-child(2){animation:dot-glow 1.2s ease-in-out infinite;animation-delay:0s}.loading-icon .loading-dot:nth-child(3){animation:dot-glow 1.2s ease-in-out infinite;animation-delay:.15s}.loading-icon .loading-dot:nth-child(4){animation:dot-glow 1.2s ease-in-out infinite;animation-delay:.3s}.loading-icon .loading-dot:nth-child(5){animation:dot-glow 1.2s ease-in-out infinite;animation-delay:.45s}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes dot-glow{0%,to{fill:#a855f766}50%{fill:#d8b4fe}}.loading-text{font-family:monospace;font-size:24px;letter-spacing:2px;color:#fffc;text-shadow:0 0 10px rgba(168,85,247,.4)}#info{position:absolute;top:20px;left:20px;color:#fff;background:#000000b3;padding:20px;border-radius:10px;z-index:100;backdrop-filter:blur(10px)}#info h1{font-size:24px;margin-bottom:10px;color:#0f8}#info p{font-size:14px;margin:5px 0;opacity:.9}.text-input-container{position:fixed;bottom:20px;left:20px;display:flex;gap:8px;z-index:1000}.curved-text-input{width:180px;padding:12px 16px;background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-family:monospace;font-size:13px;backdrop-filter:blur(12px);outline:none;transition:all .2s ease}.curved-text-input::placeholder{color:#fff6}.curved-text-input:focus{border-color:#ffffff80;background:#000000bf}.generate-btn{padding:12px 20px;background:#44aaff4d;border:1px solid rgba(68,170,255,.5);border-radius:8px;color:#fff;font-family:monospace;font-size:12px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;backdrop-filter:blur(12px);transition:all .2s ease}.generate-btn:hover{background:#44aaff80;border-color:#4afc}.generate-btn:active{transform:scale(.98)}.shader-menu{position:fixed;bottom:20px;right:20px;z-index:1000}.shader-toggle{width:44px;height:44px;background:#0009;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px;transition:all .3s ease}.shader-toggle:hover{background:#000c;border-color:#fff6}.shader-toggle .bar{display:block;width:18px;height:2px;background:#fff;border-radius:1px;transition:all .3s ease}.shader-toggle.open .bar:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.shader-toggle.open .bar:nth-child(2){opacity:0}.shader-toggle.open .bar:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.shader-options{position:absolute;bottom:54px;right:0;background:#000000bf;border:1px solid rgba(255,255,255,.15);border-radius:8px;backdrop-filter:blur(12px);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s ease}.shader-options.open{opacity:1;visibility:visible;transform:translateY(0)}.shader-option{display:block;width:100%;padding:12px 24px;background:transparent;border:none;color:#ffffffb3;font-family:monospace;font-size:12px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;text-align:left;transition:all .2s ease}.shader-option:hover{background:#ffffff1a;color:#fff}.shader-option.active{color:#fff;background:#ffffff14}.shader-option.active:before{content:"";display:inline-block;width:6px;height:6px;background:#4af;border-radius:50%;margin-right:10px}
