:root{--bg-dark: #0f0f1a;--bg-card: #1a1a2e;--bg-card-hover: #242440;--bg-input: #12121f;--neon-cyan: #00d4ff;--neon-pink: #ff6b9d;--neon-green: #00ff88;--neon-yellow: #ffd93d;--neon-orange: #ff8c42;--text-primary: #e8e8f0;--text-secondary: #8888aa;--text-muted: #555577;--key-white: #f0f0f8;--key-white-active: #00ff88;--key-black: #1a1a2e;--key-black-active: #ff6b9d;--border-color: #2a2a4a;--border-glow: rgba(0, 212, 255, .3);--shadow-card: 0 4px 20px rgba(0, 0, 0, .4);--shadow-glow-cyan: 0 0 20px rgba(0, 212, 255, .3);--shadow-glow-pink: 0 0 20px rgba(255, 107, 157, .3);--border-radius: 12px;--border-radius-sm: 8px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:VT323,monospace;background:var(--bg-dark);color:var(--text-primary);overflow:hidden;position:fixed;width:100%;-webkit-overflow-scrolling:touch}.scanlines{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 4px)}.app{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-card);border-bottom:2px solid var(--border-color);gap:16px;flex-shrink:0}.logo{font-family:"Press Start 2P",cursive;font-size:18px;color:var(--neon-cyan);text-shadow:0 0 10px var(--neon-cyan);white-space:nowrap}.top-bar-center{display:flex;align-items:center;gap:20px}.top-bar-right{display:flex;align-items:center;gap:12px}.main-content{display:flex;flex:1;overflow:hidden;min-height:0}.panel{background:var(--bg-card);border-radius:var(--border-radius);padding:16px;box-shadow:var(--shadow-card)}.panel-left{width:280px;flex-shrink:0;border-right:2px solid var(--border-color);border-radius:0;overflow-y:auto}.panel-right{width:300px;flex-shrink:0;border-left:2px solid var(--border-color);border-radius:0;overflow-y:auto}.panel-title{font-family:"Press Start 2P",cursive;font-size:10px;color:var(--neon-cyan);margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}.center-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:20px;overflow-x:auto;overflow-y:auto;min-width:0}.now-playing{background:var(--bg-card);padding:12px 24px;border-radius:var(--border-radius);border:2px solid var(--border-color);min-width:200px;text-align:center}.now-playing-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.now-playing-note{font-family:"Press Start 2P",cursive;font-size:24px;color:var(--neon-green);text-shadow:0 0 10px var(--neon-green);min-height:30px}.piano-container{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:100%}.octave-controls{display:flex;align-items:center;gap:16px}.octave-label{font-size:18px;color:var(--text-secondary)}.piano-keyboard{display:inline-flex;position:relative;background:var(--bg-card);padding:16px 16px 12px;border-radius:var(--border-radius);box-shadow:var(--shadow-card);border:2px solid var(--border-color);min-width:min-content}.piano-key{position:relative;cursor:pointer;transition:all .05s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent}.piano-key-white{width:48px;height:160px;background:linear-gradient(180deg,var(--key-white) 0%,#d8d8e8 100%);border:2px solid var(--border-color);border-radius:0 0 6px 6px;margin-right:-1px;z-index:1}.piano-key-white:hover{background:linear-gradient(180deg,#fff,#e8e8f0)}.piano-key-white.active{background:linear-gradient(180deg,var(--key-white-active) 0%,#00cc6a 100%);box-shadow:var(--shadow-glow-cyan)}.piano-key-black{width:32px;height:100px;background:linear-gradient(180deg,#3a3a5a 0%,var(--key-black) 100%);border:2px solid #0a0a12;border-radius:0 0 4px 4px;position:absolute;top:16px;z-index:2;margin-left:-16px}.piano-key-black:hover{background:linear-gradient(180deg,#4a4a6a,#2a2a4a)}.piano-key-black.active{background:linear-gradient(180deg,var(--key-black-active) 0%,#cc557d 100%);box-shadow:var(--shadow-glow-pink)}.key-label{font-size:11px;color:var(--text-muted);padding-bottom:8px;text-transform:uppercase}.piano-key-black .key-label{color:var(--text-secondary);font-size:10px;padding-bottom:6px}.btn{font-family:VT323,monospace;font-size:18px;padding:8px 16px;border:2px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .1s ease}.btn:hover{background:var(--bg-card-hover);border-color:var(--neon-cyan)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--neon-cyan);color:var(--bg-dark);border-color:var(--neon-cyan)}.btn-primary:hover{background:#3df;border-color:#3df}.btn-danger{background:var(--neon-pink);color:var(--bg-dark);border-color:var(--neon-pink)}.btn-danger:hover{background:#ff8db8;border-color:#ff8db8}.btn-success{background:var(--neon-green);color:var(--bg-dark);border-color:var(--neon-green)}.btn-success:hover{background:#3f9;border-color:#3f9}.btn-warning{background:var(--neon-yellow);color:var(--bg-dark);border-color:var(--neon-yellow)}.btn-warning:hover{background:#ffe066;border-color:#ffe066}.btn-small{font-size:14px;padding:4px 10px}.btn-icon{padding:8px;min-width:36px;display:flex;align-items:center;justify-content:center}.control-group{margin-bottom:16px}.control-label{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:6px}.control-row{display:flex;align-items:center;gap:8px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;background:var(--bg-input);border-radius:4px;outline:none;border:1px solid var(--border-color)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--neon-cyan);border-radius:50%;cursor:pointer;border:2px solid var(--bg-dark)}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--neon-cyan);border-radius:50%;cursor:pointer;border:2px solid var(--bg-dark)}input[type=number]{font-family:VT323,monospace;font-size:18px;width:70px;padding:6px 8px;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);text-align:center}input[type=number]:focus{outline:none;border-color:var(--neon-cyan)}select{font-family:VT323,monospace;font-size:18px;padding:6px 12px;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;width:100%}select:focus{outline:none;border-color:var(--neon-cyan)}.toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-switch{width:44px;height:24px;background:var(--bg-input);border:2px solid var(--border-color);border-radius:12px;position:relative;transition:all .2s ease}.toggle-switch:after{content:"";position:absolute;width:16px;height:16px;background:var(--text-secondary);border-radius:50%;top:2px;left:2px;transition:all .2s ease}.toggle.active .toggle-switch{background:var(--neon-cyan);border-color:var(--neon-cyan)}.toggle.active .toggle-switch:after{background:var(--bg-dark);left:22px}.mode-toggle{display:flex;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.mode-option{padding:6px 14px;font-size:16px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .1s ease}.mode-option.active{background:var(--neon-cyan);color:var(--bg-dark)}.mode-option:hover:not(.active){color:var(--text-primary)}.transport-controls{display:flex;align-items:center;gap:8px}.transport-btn{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px}.transport-btn.recording{animation:pulse-red 1s infinite}@keyframes pulse-red{0%,to{box-shadow:0 0 #ff6b9db3}50%{box-shadow:0 0 0 10px #ff6b9d00}}.bpm-control{display:flex;align-items:center;gap:8px}.bpm-label{font-size:14px;color:var(--text-secondary)}.bpm-value{font-family:"Press Start 2P",cursive;font-size:14px;color:var(--neon-yellow);min-width:40px;text-align:center}.events-list{max-height:400px;overflow-y:auto}.event-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-input);border-radius:var(--border-radius-sm);margin-bottom:6px;border:1px solid var(--border-color)}.event-note{font-family:"Press Start 2P",cursive;font-size:10px;color:var(--neon-green)}.event-time{font-size:14px;color:var(--text-secondary)}.event-duration{font-size:12px;color:var(--text-muted)}.piano-roll{background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--border-radius-sm);height:200px;overflow:hidden;position:relative}.piano-roll-grid{width:100%;height:100%;position:relative}.piano-roll-note{position:absolute;background:var(--neon-green);border-radius:2px;min-width:4px;height:8px;opacity:.8}.piano-roll-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--neon-pink);z-index:10}.file-actions{display:flex;gap:8px;flex-wrap:wrap}.file-input-hidden{display:none}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-state-icon{font-size:48px;margin-bottom:12px}.empty-state-text{font-size:16px}.divider{height:1px;background:var(--border-color);margin:16px 0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.audio-prompt{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,var(--neon-pink),var(--neon-orange));color:var(--bg-dark);padding:12px 20px;text-align:center;font-family:"Press Start 2P",cursive;font-size:12px;z-index:10000;cursor:pointer;animation:pulse-glow 2s infinite;box-shadow:0 4px 20px #ff6b9d80}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.85}}.audio-prompt:hover{background:linear-gradient(135deg,#ff8db8,#ffaa6b)}@media(max-width:1400px){.panel-left,.panel-right{width:240px}.piano-key-white{width:42px;height:145px}.piano-key-black{width:30px;height:90px;margin-left:-15px}}@media(max-width:1200px){.panel-left,.panel-right{width:220px}.piano-key-white{width:38px;height:135px}.piano-key-black{width:27px;height:82px;margin-left:-13.5px}}@media(max-width:900px){.main-content{flex-direction:column}.panel-left,.panel-right{width:100%;max-height:200px;border:none;border-bottom:2px solid var(--border-color)}.panel-right{border-bottom:none;border-top:2px solid var(--border-color)}.piano-key-white{width:32px;height:120px}.piano-key-black{width:24px;height:75px;margin-left:-12px}}@media(hover:none)and (pointer:coarse){body{overflow:hidden}.app{display:flex;flex-direction:column;height:100vh;height:100dvh}.top-bar{padding:6px 10px;flex-shrink:0;height:auto}.logo{font-size:11px}.top-bar-center{gap:6px}.transport-btn{width:28px;height:28px;font-size:12px}.btn-small{font-size:11px;padding:3px 6px}.main-content{flex-direction:column;flex:1;min-height:0;overflow:hidden;display:flex}.panel-left,.panel-right{display:none!important}.center-area{flex:1;display:flex;flex-direction:column;padding:8px;gap:8px;min-height:0;overflow:hidden}.now-playing{padding:4px 8px;min-width:auto;flex-shrink:0}.now-playing-label{font-size:8px}.now-playing-note{font-size:14px;min-height:18px}.piano-container{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;min-height:0}.octave-controls{gap:10px;flex-shrink:0}.octave-controls button{padding:4px 10px;font-size:13px}.octave-label{font-size:13px}.piano-keyboard{width:100%!important;display:flex!important;justify-content:center;padding:12px 4px!important;box-sizing:border-box;flex-shrink:0;min-height:40vh}.piano-key-white{width:calc((100vw - 24px) / 14);min-width:22px;max-width:70px;height:min(45vh,220px);min-height:140px;flex-shrink:0}.piano-key-black{width:calc((100vw - 24px) / 14 * .6);min-width:14px;max-width:45px;height:min(28vh,138px);min-height:88px;margin-left:calc((100vw - 24px) / 14 * -.3)}.key-label{font-size:8px;padding-bottom:4px}.piano-key-black .key-label{font-size:7px;padding-bottom:3px}.piano-container>div:last-child{display:none}}@media(max-width:768px)and (max-height:450px)and (orientation:landscape){.top-bar{padding:4px 8px;min-height:44px}.piano-key-white{height:100px!important}.piano-key-black{height:62px!important}.octave-controls button{padding:3px 8px;font-size:12px}}.landing-page{position:absolute;inset:0;width:100%;height:100vh;background:var(--bg-dark);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:0}.landing-container{max-width:1200px;margin:0 auto;padding:20px}.landing-hero{text-align:center;padding:60px 20px 40px;position:relative}.hero-badge{display:inline-block;background:var(--neon-green);color:var(--bg-dark);padding:6px 16px;border-radius:20px;font-family:"Press Start 2P",cursive;font-size:10px;margin-bottom:20px;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.hero-title{font-family:"Press Start 2P",cursive;font-size:42px;color:var(--neon-cyan);text-shadow:0 0 20px var(--neon-cyan);margin-bottom:12px;line-height:1.3}.hero-subtitle{display:block;font-size:18px;color:var(--neon-pink);text-shadow:0 0 15px var(--neon-pink);margin-top:16px}.hero-description{font-size:22px;color:var(--text-secondary);margin:24px auto 40px;max-width:700px;line-height:1.5}.cta-button{font-family:"Press Start 2P",cursive;font-size:14px;padding:18px 36px;background:linear-gradient(135deg,var(--neon-cyan),var(--neon-green));color:var(--bg-dark);border:none;border-radius:8px;cursor:pointer;box-shadow:0 8px 32px #00d4ff66;transition:all .3s ease}.cta-button:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00d4ff99}.cta-button:active{transform:translateY(0)}.cta-large{font-size:16px;padding:22px 44px}.ad-space{margin:40px auto;max-width:900px;min-height:120px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center}.features-section{padding:60px 20px}.section-title{font-family:"Press Start 2P",cursive;font-size:24px;color:var(--neon-cyan);text-align:center;margin-bottom:50px;text-shadow:0 0 15px var(--neon-cyan)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.feature-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:30px;transition:all .3s ease}.feature-card:hover{border-color:var(--neon-cyan);box-shadow:0 0 30px #00d4ff33;transform:translateY(-4px)}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h3{font-family:"Press Start 2P",cursive;font-size:12px;color:var(--neon-green);margin-bottom:12px}.feature-card p{font-size:18px;color:var(--text-secondary);line-height:1.6}.benefits-section{padding:60px 20px;background:var(--bg-card);border-radius:var(--border-radius);margin:40px 0}.benefits-list{max-width:800px;margin:0 auto}.benefit-item{display:flex;gap:16px;margin-bottom:20px;font-size:18px;color:var(--text-primary);line-height:1.6}.benefit-check{color:var(--neon-green);font-size:24px;flex-shrink:0}.use-cases-section{padding:60px 20px}.use-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:1000px;margin:0 auto}.use-case{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:24px;text-align:center}.use-case h3{font-family:"Press Start 2P",cursive;font-size:11px;color:var(--neon-pink);margin-bottom:12px}.use-case p{font-size:16px;color:var(--text-secondary);line-height:1.5}.final-cta{text-align:center;padding:80px 20px}.final-cta h2{font-family:"Press Start 2P",cursive;font-size:22px;color:var(--neon-cyan);margin-bottom:16px;text-shadow:0 0 15px var(--neon-cyan)}.final-cta p{font-size:20px;color:var(--text-secondary);margin-bottom:40px}.cta-note{margin-top:20px;font-size:14px;color:var(--text-muted)}.landing-footer{text-align:center;padding:40px 20px;border-top:2px solid var(--border-color);margin-top:60px}.landing-footer p{font-size:16px;color:var(--text-secondary);margin-bottom:8px}.footer-tags{font-size:12px;color:var(--text-muted);line-height:1.6}@media(max-width:768px){.landing-container{padding:10px}.hero-title{font-size:24px}.hero-subtitle{font-size:14px}.hero-description{font-size:18px}.cta-button{font-size:11px;padding:14px 24px}.cta-large{font-size:12px;padding:16px 28px}.section-title{font-size:16px}.features-grid,.use-cases-grid{grid-template-columns:1fr}}
