*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{color:#fff;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#000;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}@media (hover:hover) and (pointer:fine){#fractal-canvas{cursor:grab}#fractal-canvas:active{cursor:grabbing}.fractal-selector:hover,.color-selector:hover{background:#000000bf}.fractal-btn:hover,.color-btn:hover,.info-btn:hover{background:#ffffff26}.close-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #8b5cf666}.ui-controls{opacity:.9}.ui-controls.hidden{opacity:.3}}#fractal-canvas{width:100%;height:100%;display:block;position:fixed;top:0;left:0}#loading-screen{z-index:1000;background:linear-gradient(135deg,#0a0a1a 0%,#1a0a2a 50%,#0a1a2a 100%);justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s ease-out;display:flex;position:fixed;top:0;left:0}#loading-screen.hidden{opacity:0;pointer-events:none}.loading-content{text-align:center;padding:2rem}.loading-spinner{border:3px solid #ffffff1a;border-top-color:#8b5cf6;border-radius:50%;width:60px;height:60px;margin:0 auto 1.5rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{letter-spacing:.1em;color:#ffffffe6;margin-bottom:1.5rem;font-size:1.25rem;font-weight:300}.loading-progress{background:#ffffff1a;border-radius:2px;width:200px;height:4px;margin:0 auto;overflow:hidden}#loading-progress-bar{background:linear-gradient(90deg,#8b5cf6,#06b6d4);border-radius:2px;width:0%;height:100%;transition:width .2s ease-out}#error-screen{z-index:1001;background:linear-gradient(135deg,#1a0a0a 0%,#2a0a1a 100%);justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.error-content{text-align:center;max-width:320px;padding:2rem}.error-icon{color:#ef4444;border:3px solid #ef4444;border-radius:50%;width:60px;height:60px;margin:0 auto 1.5rem;font-size:2rem;line-height:54px}.error-content h2{margin-bottom:.75rem;font-size:1.25rem;font-weight:500}.error-content p{color:#ffffffb3;margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}#error-retry{color:#fff;cursor:pointer;background:#8b5cf6;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:background .2s}#error-retry:active{background:#7c3aed}.photo-btn{top:16px;right:16px;top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(10px);color:#fffc;cursor:pointer;z-index:100;-webkit-tap-highlight-color:transparent;background:#0009;border:none;border-radius:10px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;transition:background .2s,opacity .3s;display:flex;position:fixed}.photo-btn:active{background:#000c}.photo-btn.hidden{visibility:hidden;opacity:0!important;pointer-events:none!important}.ui-controls.hidden~.photo-btn{opacity:0;pointer-events:none}@media (hover:hover) and (pointer:fine){.photo-btn:hover{background:#000000bf}}body{overscroll-behavior:none}::-webkit-scrollbar{display:none}.ui-controls{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));z-index:100;pointer-events:none;justify-content:space-between;align-items:flex-end;transition:opacity .3s ease-out;display:flex;position:fixed;bottom:0;left:0;right:0}.ui-controls.hidden{opacity:0;pointer-events:none}@media (hover:hover) and (pointer:fine){.ui-controls{opacity:.85}.ui-controls.hidden{opacity:0;pointer-events:none}}.ui-controls>*{pointer-events:auto}.fractal-selector{-webkit-backdrop-filter:blur(10px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0009;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:180px;min-height:44px;padding:10px 14px;transition:background .2s;display:flex}.fractal-btn{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff1a;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;transition:background .2s;display:flex}.fractal-selector:active{background:#000000d9}.fractal-btn:active{background:#fff3}.fractal-icon{object-fit:cover;filter:grayscale()brightness(.9);opacity:.9;pointer-events:none;border-radius:4px;width:28px;height:28px}.fractal-label{color:#ffffffe6;text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;font-weight:500;overflow:hidden}.color-selector{-webkit-backdrop-filter:blur(10px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0009;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:180px;min-height:44px;padding:10px 14px;transition:background .2s;display:flex}.color-btn{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff1a;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;transition:background .2s;display:flex}.color-selector:active{background:#000000d9}.color-btn:active{background:#fff3}.color-label{color:#ffffffe6;text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;font-weight:500;overflow:hidden}.info-btn{top:16px;left:16px;top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px);color:#fffc;cursor:pointer;z-index:100;-webkit-tap-highlight-color:transparent;background:#0009;border:none;border-radius:10px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;transition:background .2s,opacity .3s;display:flex;position:fixed}.info-btn:active{background:#000c}.ui-controls.hidden~.info-btn{opacity:0;pointer-events:none}.info-btn.hidden{visibility:hidden;opacity:0!important;pointer-events:none!important}.info-overlay{-webkit-backdrop-filter:blur(20px);z-index:2000;opacity:0;pointer-events:none;background:#000000d9;justify-content:center;align-items:center;transition:opacity .3s ease-out;display:flex;position:fixed;inset:0}.info-overlay.visible{opacity:1;pointer-events:auto}.info-content{text-align:center;max-width:320px;padding:2rem}.info-content h2{background:linear-gradient(135deg,#8b5cf6,#06b6d4);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.75rem;font-weight:600}.info-content>p{color:#ffffffbf;margin-bottom:2rem}.info-controls{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.control-item{background:#ffffff0d;border-radius:10px;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.control-item .icon{text-align:center;width:32px;font-size:1.25rem}.control-item span:last-child{color:#ffffffe6;font-size:.9rem}.close-btn{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#8b5cf6,#06b6d4);border:none;border-radius:10px;min-height:44px;padding:.875rem 2.5rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.close-btn:active{transform:scale(.98)}.julia-param{top:60px;right:16px;top:calc(max(16px, env(safe-area-inset-top)) + 44px);right:max(16px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(10px);color:#ffffffb3;z-index:100;opacity:0;pointer-events:none;background:#0009;border-radius:6px;padding:6px 12px;font-size:.8rem;transition:opacity .3s ease-out;position:fixed}.julia-param.visible{opacity:1}button.fractal-selector,button.color-selector{font:inherit;color:#fff;text-align:left;border:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.loading-spinner{animation:none!important}}button:focus-visible,[role=dialog] :focus-visible{outline-offset:2px;outline:2px solid #8b5cf6}
