:root{--bg-color: #050508;--panel-bg: rgba(15, 15, 25, .7);--accent-primary: #00f2ff;--accent-secondary: #7000ff;--text-primary: #ffffff;--text-secondary: #b0b0cc;--glass-border: rgba(255, 255, 255, .1);--glow: 0 0 20px rgba(0, 242, 255, .5);font-family:Outfit,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);overflow:hidden;height:100vh;width:100vw}#root{height:100%;width:100%}.app-container{display:flex;height:100vh;width:100vw;position:relative}.canvas-container{flex-grow:1;position:relative;overflow:hidden;background:radial-gradient(circle at center,#0a0a1a,#050508);display:flex;justify-content:center;align-items:center}canvas{display:block}.controls-panel{position:absolute;top:20px;right:20px;width:320px;max-height:calc(100vh - 40px);background:var(--panel-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;box-shadow:0 8px 32px #00000080;z-index:100;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.controls-panel::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}h1{font-size:24px;font-weight:800;background:linear-gradient(to right,var(--accent-primary),var(--accent-secondary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.section-title{font-size:14px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1px;margin-bottom:12px}.control-group{display:flex;flex-direction:column;gap:8px}label{font-size:12px;color:var(--text-secondary);display:flex;justify-content:space-between}.formula-container{background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:12px 12px 0 0;padding:35px 20px 20px;text-align:center;font-family:Times New Roman,Times,serif;font-style:italic;color:var(--accent-primary);font-size:24px;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #00000080;display:flex;justify-content:center;align-items:center;border-bottom:none}.formula-container:before{content:"GENESIS EQUATION";position:absolute;top:8px;left:50%;transform:translate(-50%);font-family:Outfit,sans-serif;font-style:normal;font-size:7px;opacity:.3;letter-spacing:4px;color:var(--text-secondary)}.formula-data{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.05);border-radius:0 0 12px 12px;padding:12px;margin-bottom:20px;display:flex;justify-content:space-around;align-items:center;font-family:Menlo,Monaco,monospace;font-size:10px;color:var(--text-secondary);letter-spacing:1px}.data-item{display:flex;flex-direction:column;align-items:center;gap:4px}.data-label{opacity:.5;font-size:8px}.data-value{color:var(--accent-secondary);font-weight:600;font-size:12px}.formula-legend{display:none}.math-symbol{color:var(--text-secondary);font-style:normal;margin:0 4px;opacity:.8}.math-val{color:#fff;font-weight:700;font-family:Outfit,sans-serif;font-style:normal;text-shadow:0 0 10px rgba(255,255,255,.3)}.math-op{color:var(--accent-secondary);font-style:normal;margin:0 6px;font-weight:700}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:4px;background:#ffffff1a;border-radius:5px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--accent-primary);border-radius:50%;cursor:pointer;box-shadow:var(--glow)}.button-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}button{background:#ffffff0d;border:1px solid var(--glass-border);padding:12px;border-radius:12px;color:#fff;font-family:inherit;font-weight:600;cursor:pointer;transition:all .3s ease}button:hover{background:#ffffff1a;border-color:var(--accent-primary)}button.primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:none}button.primary:hover{transform:translateY(-2px);box-shadow:var(--glow)}.actions{margin-top:auto;display:flex;flex-direction:column;gap:10px}.badge{font-size:10px;padding:2px 6px;background:#ffffff1a;border-radius:4px;color:var(--text-secondary)}.stats{position:absolute;bottom:20px;left:20px;font-size:12px;color:var(--text-secondary);pointer-events:none}.share-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease-out}.share-modal{background:#14141eb3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);box-shadow:0 0 50px #00f2ff1a;border-radius:24px;padding:32px;width:90%;max-width:800px;display:flex;flex-direction:column;gap:24px;position:relative}.share-modal h2{text-align:center;margin:0;font-size:24px;background:linear-gradient(to right,#fff,#b0b0cc);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px;width:100%}@keyframes pulse-slow{0%{transform:scale(1);filter:brightness(1) drop-shadow(0 0 5px rgba(0,242,255,.2))}50%{transform:scale(1.02);filter:brightness(1.2) drop-shadow(0 0 20px var(--accent-primary))}to{transform:scale(1);filter:brightness(1) drop-shadow(0 0 5px rgba(0,242,255,.2))}}.share-content-wrapper{display:flex;gap:32px;align-items:stretch}.share-preview-wrapper{flex:0 0 50%;display:flex;justify-content:center;align-items:center;position:relative;background:#0003;border-radius:12px;overflow:hidden}.share-preview-img{width:100%;height:100%;object-fit:contain;animation:pulse-slow 6s infinite ease-in-out;border-radius:12px}.share-details-wrapper{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-width:0}.share-preview-img:hover{transform:scale(1.05);box-shadow:0 0 30px #00f2ff80}.url-row-container{display:flex;flex-direction:column;gap:8px;min-width:0}.url-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-left:4px}.url-row{display:flex;gap:0;background:#0006;border-radius:12px;border:1px solid rgba(255,255,255,.1);padding:4px;align-items:center;transition:border-color .2s;min-width:0}.url-row:focus-within{border-color:var(--accent-primary)}.url-text-mask{background:transparent;border:none;color:var(--text-secondary);font-family:Menlo,Monaco,monospace;font-size:11px;flex-grow:1;padding:8px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;-webkit-user-select:all;user-select:all;opacity:.7}.copy-btn-icon{background:#ffffff1a;border:none;padding:8px 16px;border-radius:8px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.copy-btn-icon:hover{background:var(--accent-primary);color:#000}.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.share-btn{border:1px solid rgba(255,255,255,.05);background:#ffffff08;color:var(--text-secondary);padding:16px;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:500;position:relative;overflow:hidden}.share-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;filter:saturate(.5);background:#ffffff03}.share-btn span{font-size:18px;filter:grayscale(100%);transition:filter .3s}.share-btn:hover{background:#ffffff1a;color:#fff;transform:translateY(-2px);border-color:#fff3;box-shadow:0 10px 20px -5px #0000004d}.share-btn:hover span{filter:grayscale(0%)}.share-btn.telegram:hover{background:#229ed926;border-color:#229ed9;box-shadow:0 0 20px #229ed933;color:#229ed9}.share-btn.vk:hover{background:#0077ff26;border-color:#07f;box-shadow:0 0 20px #07f3;color:#07f}.share-btn.whatsapp:hover{background:#25d36626;border-color:#25d366;box-shadow:0 0 20px #25d36633;color:#25d366}.share-btn.wechat:hover{background:#07c16026;border-color:#07c160;box-shadow:0 0 20px #07c16033;color:#07c160}.modal-close-btn{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:20px;opacity:.5;transition:opacity .2s;padding:5px}.modal-close-btn:hover{opacity:1}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.mobile-toggle{display:none;position:fixed;bottom:25px;right:25px;width:60px;height:60px;border-radius:50%;background:var(--accent-primary);color:#000;border:none;font-size:24px;z-index:1000;box-shadow:0 4px 15px #00f2ff66;cursor:pointer;align-items:center;justify-content:center;transition:transform .2s,background .2s}.mobile-toggle:active{transform:scale(.9)}@media(max-width:768px){.app-container{flex-direction:column}.mobile-toggle{display:flex}.controls-panel{top:auto!important;bottom:0;left:0;right:0;width:100%;max-height:85vh;border-radius:30px 30px 0 0;transform:translateY(100%);transition:transform .5s cubic-bezier(.16,1,.3,1);box-shadow:0 -10px 40px #0009;position:fixed;z-index:1001}.controls-panel.mobile-open{transform:translateY(0)}.canvas-container{width:100vw;height:100vh;flex:none}canvas{max-width:100%;max-height:100%;object-fit:contain}.stats{top:15px;left:15px;font-size:9px;padding:6px 12px}.piano-container{bottom:100px;transform:scale(.85);left:10px;right:10px;width:auto}.share-grid{grid-template-columns:1fr}.share-modal{width:95%;padding:20px}h1{font-size:20px}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a28;--accent-cyan: #00f0ff;--accent-magenta: #ff00ff;--accent-yellow: #ffff00;--accent-green: #00ff88;--text-primary: #ffffff;--text-secondary: #a0a0b8;--text-tertiary: #606078;--glass-bg: rgba(20, 20, 35, .6);--glass-border: rgba(255, 255, 255, .08);--glass-glow: 0 0 30px rgba(0, 240, 255, .15);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .4s cubic-bezier(.68, -.55, .265, 1.55)}body{font-family:Inter,Outfit,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.app-container{width:100vw;height:100vh;display:flex;align-items:stretch;justify-content:flex-start;position:relative;background:radial-gradient(circle at 20% 80%,rgba(0,240,255,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,0,255,.05) 0%,transparent 50%),var(--bg-primary)}.canvas-container{flex-grow:1;height:100vh;display:flex;align-items:center;justify-content:center;background:#0d0d12;overflow:hidden;position:relative;z-index:1}.canvas-wrapper{position:relative;width:2400px;height:1800px;display:flex;align-items:center;justify-content:center;transform-origin:center center;pointer-events:none}canvas{border:1px solid rgba(0,240,255,.1);box-shadow:0 0 100px #000c;transition:filter .3s ease;background:#050508;position:absolute;width:2400px;height:1800px;pointer-events:auto}.debug-canvas{background:transparent;border:none;box-shadow:none;pointer-events:auto;z-index:5}canvas:hover{box-shadow:0 0 80px #00f0ff4d,0 0 160px #ff00ff26,inset 0 0 40px #00000080}.theme-cyberpunk{--bg-primary: #1a0033;--accent-cyan: #ff00ff;--accent-magenta: #00ffff}.theme-noir{--bg-primary: #000000;--accent-cyan: #ffffff;--accent-magenta: #444444}.theme-noir canvas{background:#000;filter:grayscale(1) brightness(1.5)}.stats{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);font-size:11px;color:var(--text-tertiary);font-weight:500;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.controls-panel{position:relative;width:400px;height:calc(100vh - 40px);margin:20px;background:var(--glass-bg);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--glass-border);border-radius:20px;padding:24px;overflow-y:auto;flex-shrink:0;box-shadow:var(--glass-glow),0 20px 60px #0006;animation:slideInRight .6s cubic-bezier(.16,1,.3,1);z-index:1000}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.controls-panel::-webkit-scrollbar{width:6px}.controls-panel::-webkit-scrollbar-track{background:#ffffff05;border-radius:10px}.controls-panel::-webkit-scrollbar-thumb{background:#00f0ff4d;border-radius:10px}.controls-panel::-webkit-scrollbar-thumb:hover{background:#00f0ff80}.controls-panel h1{font-size:32px;font-weight:800;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-magenta));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px;letter-spacing:-1px}.controls-panel>div:first-child p{font-size:11px;color:var(--text-tertiary);margin-bottom:20px;font-weight:500;letter-spacing:.5px}.section-title{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin:24px 0 12px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;border-radius:4px;position:relative}.section-title:hover{background:#00f0ff0d;color:var(--accent-cyan);border-bottom-color:#00f0ff33}.section-title:after{content:"▼";position:absolute;right:12px;font-size:8px;transition:transform .3s ease;opacity:.5}.section-title.collapsed:after{transform:rotate(-90deg)}.section-content{max-height:2000px;height:auto;overflow:visible;transition:max-height .3s ease,opacity .3s ease;opacity:1}.section-content.collapsed{max-height:0;height:0;overflow:hidden;opacity:0}.control-group{margin-bottom:16px}.control-group label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.control-group label span{color:var(--accent-cyan);font-weight:600;font-size:12px;font-family:Courier New,monospace}.control-group label input[type=number]{background:#0000004d;border:1px solid rgba(0,240,255,.2);border-radius:4px;color:var(--accent-cyan);font-family:Courier New,monospace;font-size:12px;font-weight:600;width:80px;height:24px;padding:0 6px;text-align:right;outline:none;transition:var(--transition-smooth)}.control-group label input[type=number]:focus{border-color:var(--accent-cyan);box-shadow:0 0 10px #00f0ff33;background:#00000080}.control-group label input[type=number]::-webkit-inner-spin-button{opacity:0}input[type=range]{width:100%;height:6px;background:#ffffff0d;border-radius:10px;outline:none;transition:var(--transition-smooth);cursor:pointer}input[type=range]:hover{background:#ffffff14}input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-magenta));border-radius:50%;cursor:pointer;box-shadow:0 0 20px #00f0ff99;transition:var(--transition-bounce)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 30px #00f0ffcc}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-magenta));border-radius:50%;cursor:pointer;border:none;box-shadow:0 0 20px #00f0ff99;transition:var(--transition-bounce)}input[type=range]::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 0 30px #00f0ffcc}select{width:100%;padding:12px 16px;background:#ffffff08;border:1px solid var(--glass-border);border-radius:10px;color:var(--text-primary);font-size:13px;font-weight:500;outline:none;cursor:pointer;transition:var(--transition-smooth)}select:hover{background:#ffffff0d;border-color:#00f0ff4d}select:focus{border-color:var(--accent-cyan);box-shadow:0 0 20px #00f0ff33}.button-group{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.button-group.grid-2{grid-template-columns:repeat(2,1fr)}.button-group.grid-3{grid-template-columns:repeat(3,1fr)}.button-group.grid-4{grid-template-columns:repeat(4,1fr)}button{padding:10px 16px;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:8px;color:var(--text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition-smooth);position:relative;overflow:hidden;outline:none;display:flex;align-items:center;justify-content:center;gap:8px}button:hover{background:#ffffff1a;border-color:#00f0ff80;box-shadow:0 4px 15px #00f0ff26}button:active{transform:scale(.97);background:#ffffff26}.accordion-section{border:1px solid rgba(255,255,255,.05);border-radius:8px;margin-bottom:8px;background:#ffffff05;overflow:hidden;transition:var(--transition-smooth)}.accordion-section.active{border-color:#00f0ff4d;background:#00f0ff0d}.accordion-header{padding:12px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;transition:var(--transition-smooth)}.accordion-header:hover{color:var(--text-primary);background:#ffffff0d}.accordion-section.active .accordion-header{color:var(--accent-cyan);background:#00f0ff1a}.accordion-content{padding:16px;border-top:1px solid rgba(255,255,255,.05);animation:slideDown .3s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.controls-panel h1{animation:pulse 3s ease-in-out infinite}.piano-container{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;z-index:10;pointer-events:none}.piano-keyboard{display:flex;gap:2px;pointer-events:all}.piano-octave{display:flex;position:relative;height:100px}.piano-key{position:relative;border:none;cursor:pointer;transition:all .1s ease;-webkit-user-select:none;user-select:none;font-size:9px;font-weight:600}.piano-key.white{width:40px;height:100px;background:linear-gradient(to bottom,#fff,#f0f0f0);border:1px solid rgba(0,0,0,.3);border-radius:0 0 4px 4px;box-shadow:0 2px 4px #0000004d,inset 0 -2px 4px #0000001a;color:#0006;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px}.piano-key.white:hover{background:linear-gradient(to bottom,#f8f8f8,#e8e8e8);box-shadow:0 2px 6px #00f0ff66,inset 0 -2px 4px #0000001a}.piano-key.white:active{background:linear-gradient(to bottom,#e0e0e0,#d0d0d0);box-shadow:0 1px 2px #0000004d,inset 0 2px 4px #0003;transform:translateY(2px)}.piano-key.black{width:28px;height:65px;background:linear-gradient(to bottom,#2a2a2a,#000);border:1px solid rgba(0,0,0,.8);border-radius:0 0 3px 3px;box-shadow:0 2px 4px #0009,inset 0 -1px 2px #ffffff1a;position:absolute;z-index:2;margin-left:-14px}.piano-octave .piano-key.black:nth-of-type(2){left:40px}.piano-octave .piano-key.black:nth-of-type(4){left:80px}.piano-octave .piano-key.black:nth-of-type(7){left:160px}.piano-octave .piano-key.black:nth-of-type(9){left:200px}.piano-octave .piano-key.black:nth-of-type(11){left:240px}.piano-key.black:hover{background:linear-gradient(to bottom,#3a3a3a,#1a1a1a);box-shadow:0 2px 6px #00f0ff99,inset 0 -1px 2px #fff3}.piano-key.black:active{background:linear-gradient(to bottom,#1a1a1a,#000);box-shadow:0 1px 2px #000c,inset 0 1px 2px #0006;transform:translateY(1px)}.piano-key.white.active{background:linear-gradient(to bottom,#00f0ff,#00d0e0)!important;box-shadow:0 0 20px #00f0ffcc,inset 0 -2px 4px #0000001a!important;transform:translateY(2px);color:#000c}.piano-key.black.active{background:linear-gradient(to bottom,#00f0ff,#00a0c0)!important;box-shadow:0 0 20px #00f0ff,inset 0 -1px 2px #ffffff4d!important;transform:translateY(1px)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}.gallery-item{position:relative;border-radius:12px;overflow:hidden;background:#0000004d;border:1px solid var(--glass-border);cursor:pointer;transition:var(--transition-smooth);aspect-ratio:4/3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover{border-color:var(--accent-cyan);transform:translateY(-2px);box-shadow:0 4px 15px #00f0ff33}.gallery-item:hover img{transform:scale(1.1)}.gallery-item-actions{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:8px;display:flex;justify-content:space-between;opacity:0;transition:opacity .2s ease}.gallery-item:hover .gallery-item-actions{opacity:1}.small-btn{padding:4px 8px;font-size:10px;background:#ffffff1a}.small-btn.delete:hover{background:#ff505066;border-color:#ff5050}.splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#050508;display:flex;align-items:center;justify-content:center;z-index:9999}.splash-content{text-align:center;animation:fadeIn .8s ease-out}.splash-logo{width:120px;height:120px;margin:0 auto 30px;position:relative}.spiro-loader{width:100%;height:100%;border-radius:50%;border:3px solid transparent;border-top-color:var(--accent-cyan);border-bottom-color:var(--accent-magenta);animation:spiroRotate 2s linear infinite;position:relative}.spiro-loader:before,.spiro-loader:after{content:"";position:absolute;inset:10px;border-radius:50%;border:2px solid transparent;animation:spiroRotateInverse 3s linear infinite}.spiro-loader:before{border-left-color:var(--accent-cyan)}.spiro-loader:after{border-right-color:var(--accent-magenta)}.splash-content h1{font-size:48px;font-weight:900;letter-spacing:12px;margin-bottom:8px;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-magenta));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:glowText 2s ease-in-out infinite alternate}.splash-content p{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:4px;margin-bottom:40px}.loading-bar-container{width:200px;height:2px;background:#ffffff0d;border-radius:4px;margin:0 auto;overflow:hidden}.loading-bar-progress{width:100%;height:100%;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-magenta));animation:loadingProgress 2.5s ease-in-out forwards;transform-origin:left}@keyframes spiroRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spiroRotateInverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes loadingProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes glowText{0%{filter:drop-shadow(0 0 5px rgba(0,240,255,.3))}to{filter:drop-shadow(0 0 20px rgba(0,240,255,.6))}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cymatics-lab-section{padding:10px;background:#00f0ff0d;border-radius:12px;border:1px solid rgba(0,240,255,.1);margin:15px 0}#audio-upload+button{margin-top:10px}.cymatics-status{font-size:10px;color:var(--accent-magenta);text-align:center;margin-top:8px;font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:1px}.cymatics-player{background:#0006;border:1px solid rgba(0,240,255,.2);border-radius:12px;padding:12px;margin:12px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cymatics-track-name{font-size:11px;color:#00f0ff;font-family:Orbitron,sans-serif;letter-spacing:.5px;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cymatics-waveform{width:100%;height:50px;border-radius:8px;background:#00000080;border:1px solid rgba(0,240,255,.15);display:block}.cymatics-timer{font-size:10px;color:#ffffff80;font-family:Courier New,monospace;text-align:center;margin-top:6px;letter-spacing:1px}.cymatics-seek-row{display:flex;flex-direction:column;gap:4px;margin-top:2px}.cymatics-seek-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:#ffffff26;outline:none;cursor:pointer;accent-color:#00f0ff}.cymatics-seek-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#00f0ff,#f0f);cursor:pointer;box-shadow:0 0 6px #00f0ff99;transition:transform .1s}.cymatics-seek-slider::-webkit-slider-thumb:hover{transform:scale(1.3)}.cymatics-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.cymatics-ctrl-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.15);color:#fffc;font-size:15px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .1s,border-color .2s}.cymatics-ctrl-btn:hover{background:#00f0ff26;border-color:#00f0ff80;transform:scale(1.1)}.cymatics-play-btn{width:46px;height:46px;font-size:18px;background:linear-gradient(135deg,#00f0ff33,#f0f3);border-color:#00f0ff66}.cymatics-play-btn:hover{background:linear-gradient(135deg,#00f0ff59,#ff00ff59)}
