:root{--retro-bg: #0a0a0f;--retro-bg-panel: rgba(10, 10, 15, .92);--retro-cyan: #00ffd5;--retro-cyan-dim: rgba(0, 255, 213, .15);--retro-cyan-glow: rgba(0, 255, 213, .4);--retro-amber: #ff8c00;--retro-amber-dim: rgba(255, 140, 0, .3);--retro-green: #00ff41;--retro-green-dim: rgba(0, 255, 65, .3);--retro-red: #ff0040;--retro-text: rgba(255, 255, 255, .85);--retro-text-dim: rgba(255, 255, 255, .4);--retro-border: rgba(0, 255, 213, .22);--retro-font: "Share Tech Mono", "Courier New", monospace;color-scheme:dark;font-family:var(--retro-font);background:var(--retro-bg);color:var(--retro-text);transition:background .4s ease}.theme-xol{--retro-bg: #010a15;--retro-bg-panel: rgba(1, 10, 21, .92);--retro-cyan: #00bfff;--retro-cyan-dim: rgba(0, 191, 255, .15);--retro-cyan-glow: rgba(0, 191, 255, .4);--retro-amber: #ffaa00;--retro-amber-dim: rgba(255, 170, 0, .3);--retro-green: #00ffaa;--retro-green-dim: rgba(0, 255, 170, .3);--retro-red: #ff3366;--retro-border: rgba(0, 191, 255, .4)}.theme-synth{--retro-bg: #1a0b2e;--retro-bg-panel: rgba(26, 11, 46, .92);--retro-cyan: #ff007f;--retro-cyan-dim: rgba(255, 0, 127, .15);--retro-cyan-glow: rgba(255, 0, 127, .4);--retro-amber: #ffaa00;--retro-amber-dim: rgba(255, 170, 0, .3);--retro-green: #00ffff;--retro-green-dim: rgba(0, 255, 255, .3);--retro-red: #ff0040;--retro-border: rgba(255, 0, 127, .3)}.glitch-active{animation:glitch-skew .3s cubic-bezier(.25,.46,.45,.94) both infinite}.glitch-active .panel-body{animation:panel-glitch .5s cubic-bezier(.25,1,.5,1)}.glitch-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#ffffff05;z-index:9999;pointer-events:none;animation:glitch-anim .2s linear infinite alternate-reverse;mix-blend-mode:overlay}@keyframes glitch-skew{0%{transform:skew(0)}20%{transform:skew(-2deg)}40%{transform:skew(2deg)}60%{transform:skew(-1deg)}80%{transform:skew(1deg)}to{transform:skew(0)}}@keyframes glitch-anim{0%{clip-path:polygon(0 2%,100% 2%,100% 5%,0 5%);transform:translate(2px)}20%{clip-path:polygon(0 15%,100% 15%,100% 15%,0 15%);transform:translate(-2px)}40%{clip-path:polygon(0 10%,100% 10%,100% 20%,0 20%);transform:translate(2px)}60%{clip-path:polygon(0 1%,100% 1%,100% 2%,0 2%);transform:translate(-2px)}80%{clip-path:polygon(0 33%,100% 33%,100% 33%,0 33%);transform:translate(2px)}to{clip-path:polygon(0 44%,100% 44%,100% 44%,0 44%);transform:translate(-2px)}}@keyframes panel-glitch{0%{transform:translateY(15px) skew(10deg);opacity:.8;filter:hue-rotate(90deg)}30%{transform:translateY(-5px) skew(-10deg);filter:hue-rotate(-90deg)}60%{transform:translateY(3px) skew(5deg);filter:hue-rotate(45deg)}to{transform:translateY(0) skew(0);opacity:1;filter:none}}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}.scanlines:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px);mix-blend-mode:multiply}.crt-vignette:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.45) 100%)}.screen-wrapper{width:100%;height:100%;transition:opacity .45s ease,transform .45s ease}.screen-wrapper.screen-exit{opacity:0;transform:scale(1.03)}.home-screen{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:var(--retro-bg);cursor:default;-webkit-user-select:none;user-select:none}.boot-sequence{width:100%;max-width:480px;margin-bottom:40px}.boot-line{display:flex;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--retro-cyan);margin-bottom:6px;opacity:0;transform:translateY(6px);animation:line-appear .35s ease forwards}.boot-line .boot-text{white-space:nowrap;flex-shrink:0}.boot-dots{flex:1;margin:0 6px;border-bottom:1px dotted rgba(0,255,213,.2);min-width:20px}.boot-status{font-weight:400;flex-shrink:0;color:var(--retro-green);text-shadow:0 0 8px var(--retro-green-dim)}.boot-status--active{color:var(--retro-amber);text-shadow:0 0 8px var(--retro-amber-dim)}.home-title-block{text-align:center;margin-bottom:40px;animation:fade-in-up .6s ease forwards}.home-divider{width:200px;height:1px;margin:14px auto;background:linear-gradient(90deg,transparent,var(--retro-cyan),transparent);box-shadow:0 0 8px var(--retro-cyan-glow)}.home-title{font-size:clamp(32px,6vw,56px);letter-spacing:.3em;text-transform:uppercase;color:var(--retro-cyan);text-shadow:0 0 20px var(--retro-cyan-glow),0 0 60px rgba(0,255,213,.12);margin:0;line-height:1}.home-subtitle{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--retro-text-dim);margin:0}.home-build{font-size:10px;letter-spacing:.15em;color:var(--retro-text-dim);margin-top:10px;opacity:.6}.home-enter-btn{font-family:var(--retro-font);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--retro-cyan);background:transparent;border:1px solid var(--retro-cyan);padding:14px 44px;cursor:pointer;position:relative;animation:fade-in .5s ease forwards,pulse-glow 2.5s ease-in-out infinite .5s;transition:background .2s ease,box-shadow .2s ease}.home-enter-btn:hover{background:#00ffd514;box-shadow:0 0 20px var(--retro-cyan-glow),inset 0 0 20px #00ffd50a}.home-enter-btn:active{transform:scale(.98)}.home-skip-hint{position:absolute;bottom:28px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.12em;color:var(--retro-text-dim);text-transform:uppercase;opacity:.5;cursor:pointer}.home-corner-deco{position:absolute;width:40px;height:40px;border-color:#00ffd51f;border-style:solid;border-width:0}.home-corner-deco--tl{top:20px;left:20px;border-top-width:1px;border-left-width:1px}.home-corner-deco--tr{top:20px;right:20px;border-top-width:1px;border-right-width:1px}.home-corner-deco--bl{bottom:20px;left:20px;border-bottom-width:1px;border-left-width:1px}.home-corner-deco--br{bottom:20px;right:20px;border-bottom-width:1px;border-right-width:1px}.workspace{position:relative;width:100%;height:100%;background:var(--retro-bg);animation:screen-fade-in .5s ease}.no-image-prompt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:1;animation:fade-in-up .8s ease forwards}.no-image-text{font-size:18px;letter-spacing:.25em;text-transform:uppercase;color:var(--retro-cyan);text-shadow:0 0 14px var(--retro-cyan-glow);margin-bottom:14px}.no-image-sub{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--retro-text-dim)}.use-example-btn{background:transparent;border:none;color:var(--retro-cyan);font-family:var(--retro-font);font-size:10px;letter-spacing:.15em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;cursor:pointer;margin-top:16px;pointer-events:auto;opacity:.8;transition:opacity .2s ease,text-shadow .2s ease}.use-example-btn:hover{opacity:1;text-shadow:0 0 8px var(--retro-cyan-glow)}.control-panel{position:fixed;top:16px;left:16px;right:16px;width:auto;max-height:calc(100vh - 32px);z-index:100;font-size:11px;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.control-panel *{transition:background-color .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease,text-shadow .4s ease}.panel-toggle{font-family:var(--retro-font);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--retro-cyan);background:var(--retro-bg-panel);border:1px solid var(--retro-border);padding:8px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:280px;float:right;margin-bottom:8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s ease,box-shadow .2s ease;pointer-events:auto}.panel-toggle:hover{border-color:var(--retro-cyan);box-shadow:0 0 10px #00ffd51f}.panel-toggle .toggle-icon{font-size:10px;opacity:.6}.panel-body{background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:block;max-height:calc(100vh - 76px);overflow-y:visible;pointer-events:none}.panel-body::-webkit-scrollbar{width:3px}.panel-body::-webkit-scrollbar-track{background:transparent}.panel-body::-webkit-scrollbar-thumb{background:var(--retro-cyan-dim)}.panel-section{padding:10px 14px;background:var(--retro-bg-panel);border:1px solid var(--retro-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;box-sizing:border-box;width:280px;margin-bottom:8px}.panel-section:nth-child(odd){float:left;clear:left}.panel-section:nth-child(2n){float:right;clear:right}.theme-synth .control-panel{inset:auto auto 20px 50%;transform:translate(-50%);width:90%;max-width:1400px;pointer-events:auto}.theme-synth .panel-toggle{display:none}.theme-synth .panel-body{display:flex;flex-direction:row;justify-content:space-around;flex-wrap:wrap;border-top:1px solid var(--retro-border);align-items:flex-start;background:var(--retro-bg-panel);border:1px solid var(--retro-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;overflow-y:auto;overflow-x:hidden}.theme-synth .panel-section{flex:1;min-width:200px;width:auto;float:none;border-bottom:none;border-right:1px solid var(--retro-border);background:transparent;border-top:none;-webkit-backdrop-filter:none;backdrop-filter:none;margin-bottom:0}.theme-synth .panel-section:last-child{border-right:none}.theme-synth .panel-section:nth-child(odd),.theme-synth .panel-section:nth-child(2n){float:none;clear:none}.theme-synth .self-destruct-btn{inset:20px 0 auto;margin:0 auto;width:max-content}.theme-xol .control-panel{inset:20px;width:calc(100vw - 40px);height:calc(100vh - 40px);max-height:none;pointer-events:none}.theme-xol .panel-toggle{display:none}.theme-xol .panel-body{background:transparent;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:block;position:relative;width:100%;height:100%;overflow:hidden}.theme-xol .panel-section{position:absolute;width:280px;background:var(--retro-bg-panel);border:1px solid var(--retro-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;border-bottom:1px solid var(--retro-border)!important}.theme-xol .theme-section{top:0;left:0}.theme-xol .file-section{top:0;right:0}.theme-xol .particles-section,.theme-xol .lines-section{bottom:0;left:0}.theme-xol .color-section{bottom:0;right:0}.theme-xol .interaction-section{top:0;bottom:0;left:0;margin:auto 0;height:fit-content}.theme-xol .sampling-section{top:0;bottom:0;right:0;margin:auto 0;height:fit-content}.theme-xol .export-section{bottom:120px;right:0}.theme-xol .render-mode-section{top:60px;left:0}.theme-xol .self-destruct-btn{bottom:20px;left:0;right:0;margin:0 auto;width:max-content}.section-header{font-size:9px;letter-spacing:.2em;color:var(--retro-cyan);text-shadow:0 0 6px var(--retro-cyan-glow);margin-bottom:10px;display:flex;align-items:center;gap:6px}.section-header:before{content:"◆";font-size:5px}.theme-selector{display:flex;gap:6px;margin-bottom:8px}.theme-btn{flex:1;font-family:var(--retro-font);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--retro-text-dim);background:transparent;border:1px solid var(--retro-border);padding:6px;cursor:pointer;transition:all .3s ease}.theme-btn:hover{background:#ffffff0d;color:var(--retro-text)}.theme-btn.active{color:var(--retro-cyan);border-color:var(--retro-cyan);background:var(--retro-cyan-dim);box-shadow:0 0 10px var(--retro-cyan-dim)}.control-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:6px}.control-row:last-child{margin-bottom:0}.control-label{color:var(--retro-text-dim);font-size:9px;letter-spacing:.1em;min-width:65px;flex-shrink:0}.control-value{color:var(--retro-amber);font-size:10px;min-width:44px;text-align:right;flex-shrink:0;text-shadow:0 0 6px var(--retro-amber-dim)}.control-slider{flex:1;min-width:0}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--retro-cyan-dim);outline:none;cursor:pointer;border-radius:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:8px;height:14px;background:var(--retro-cyan);border:none;cursor:pointer;box-shadow:0 0 6px var(--retro-cyan-glow)}input[type=range]::-moz-range-thumb{width:8px;height:14px;background:var(--retro-cyan);border:none;border-radius:0;cursor:pointer;box-shadow:0 0 6px var(--retro-cyan-glow)}input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 10px var(--retro-cyan-glow)}.color-picker-wrapper{display:flex;align-items:center;gap:8px}input[type=color]{-webkit-appearance:none;appearance:none;width:24px;height:24px;border:1px solid var(--retro-border);background:transparent;cursor:pointer;padding:1px}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none}.retro-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-track{width:32px;height:14px;border:1px solid var(--retro-border);position:relative;transition:border-color .2s ease,box-shadow .2s ease;flex-shrink:0}.toggle-track.active{border-color:var(--retro-cyan);box-shadow:0 0 6px var(--retro-cyan-glow)}.toggle-thumb{position:absolute;top:2px;left:2px;width:8px;height:8px;background:var(--retro-text-dim);transition:all .2s ease}.toggle-track.active .toggle-thumb{left:20px;background:var(--retro-cyan);box-shadow:0 0 4px var(--retro-cyan-glow)}.toggle-label{font-size:9px;letter-spacing:.1em;color:var(--retro-text-dim);transition:color .2s ease}.toggle-track.active~.toggle-label{color:var(--retro-cyan)}.retro-select{font-family:var(--retro-font);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--retro-text);background:#00ffd50a;border:1px solid var(--retro-border);padding:5px 8px;cursor:pointer;outline:none;flex:1;min-width:0}.retro-select:focus{border-color:var(--retro-cyan);box-shadow:0 0 6px var(--retro-cyan-glow)}.retro-select option{background:var(--retro-bg);color:var(--retro-text)}.upload-zone{border:1px dashed var(--retro-border);padding:14px;text-align:center;cursor:pointer;transition:all .2s ease;margin-bottom:6px}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--retro-cyan);background:#00ffd508;box-shadow:0 0 10px #00ffd50f}.upload-zone-text{font-size:9px;color:var(--retro-text-dim);letter-spacing:.1em;line-height:1.6}.upload-zone-text .highlight{color:var(--retro-cyan)}.current-file{font-size:8px;color:var(--retro-green);letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0 4px var(--retro-green-dim)}.retro-btn{font-family:var(--retro-font);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--retro-cyan);background:transparent;border:1px solid var(--retro-cyan);padding:8px 16px;cursor:pointer;width:100%;transition:all .2s ease}.retro-btn:hover{background:#00ffd50f;box-shadow:0 0 12px var(--retro-cyan-glow)}.retro-btn:active{transform:scale(.98)}.retro-btn:disabled{opacity:.25;cursor:not-allowed}.retro-btn--amber{color:var(--retro-amber);border-color:var(--retro-amber)}.retro-btn--amber:hover{background:#ff8c000f;box-shadow:0 0 12px var(--retro-amber-dim)}.overlay-state{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:10}.overlay-card{padding:16px 22px;border:1px solid var(--retro-border);background:var(--retro-bg-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center}.overlay-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--retro-cyan);text-shadow:0 0 8px var(--retro-cyan-glow)}.overlay-subtitle{margin-top:8px;font-size:10px;color:var(--retro-text-dim);letter-spacing:.06em}@keyframes line-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes screen-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #00ffd526}50%{box-shadow:0 0 20px #00ffd559,0 0 40px #00ffd514}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{animation:blink 1s step-end infinite}@media(max-width:720px){.control-panel,.theme-synth .control-panel,.theme-xol .control-panel{width:92vw!important;max-width:400px!important;inset:16px auto auto 50%!important;height:auto!important;max-height:none!important;transform:translate(-50%)!important;margin:0!important;pointer-events:none!important}.home-title{letter-spacing:.15em}.boot-sequence{max-width:100%}.panel-toggle,.theme-synth .panel-toggle,.theme-xol .panel-toggle{width:100%!important;display:flex!important;float:none!important;pointer-events:auto!important;box-sizing:border-box!important}.panel-body,.theme-synth .panel-body,.theme-xol .panel-body{display:flex!important;flex-direction:column!important;overflow-y:auto!important;overflow-x:hidden!important;max-height:calc(100vh - 100px)!important;padding-bottom:20px!important;pointer-events:auto!important;background:transparent!important;border:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;position:relative!important;width:100%!important;height:auto!important;justify-content:flex-start!important;flex-wrap:nowrap!important;align-items:stretch!important}.panel-section,.theme-synth .panel-section,.theme-xol .panel-section{flex:none!important;float:none!important;position:relative!important;inset:auto!important;width:100%!important;min-width:0!important;margin-bottom:8px!important;border:1px solid var(--retro-border)!important;background:var(--retro-bg-panel)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;transform:none!important;box-sizing:border-box!important}.self-destruct-btn,.theme-synth .self-destruct-btn,.theme-xol .self-destruct-btn{inset:auto 0 20px!important;margin:0 auto!important;width:max-content!important;z-index:1000!important}}.self-destruct-btn{position:absolute;bottom:30px;left:30px;z-index:100;width:auto;animation:pulse-red 2s infinite}@keyframes pulse-red{0%{box-shadow:0 0 #ff323266}70%{box-shadow:0 0 0 15px #ff323200}to{box-shadow:0 0 #ff323200}}.retro-btn--red{border-color:#ff3232;color:#ff3232}.retro-btn--red:hover{background-color:#ff323226;box-shadow:0 0 15px #ff323266}.self-destruct-btn.active{background-color:#ff3232;color:#000;animation:shake .5s infinite}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}
