*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#050508;min-height:100vh;min-height:-webkit-fill-available;color:#fff;line-height:1.6;overflow-x:hidden;touch-action:manipulation;position:relative}body:before{background:radial-gradient(ellipse 80% 60% at 20% 30%,rgba(0,191,255,.25) 0,rgba(30,144,255,.15) 30%,transparent 60%),radial-gradient(ellipse 70% 50% at 80% 70%,rgba(255,69,0,.3) 0,rgba(255,140,0,.2) 25%,transparent 55%),radial-gradient(ellipse 60% 80% at 10% 80%,rgba(0,206,209,.2) 0,rgba(64,224,208,.1) 30%,transparent 50%),radial-gradient(ellipse 50% 70% at 90% 20%,rgba(255,99,71,.25) 0,rgba(255,165,0,.15) 30%,transparent 55%),radial-gradient(ellipse 90% 90% at 50% 100%,rgba(255,55,0,.2) 0,transparent 50%),radial-gradient(ellipse 90% 90% at 50% 0,rgba(0,150,255,.2) 0,transparent 50%);animation:fireIceDance 8s ease-in-out infinite}body:after,body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:-1}body:after{background:radial-gradient(ellipse 60% 50% at 70% 40%,rgba(255,100,50,.2) 0,transparent 50%),radial-gradient(ellipse 50% 60% at 30% 60%,rgba(0,200,255,.2) 0,transparent 50%),radial-gradient(ellipse 40% 40% at 85% 85%,rgba(255,200,50,.15) 0,transparent 45%),radial-gradient(ellipse 40% 40% at 15% 15%,rgba(100,200,255,.15) 0,transparent 45%);animation:fireIceDance 8s ease-in-out infinite reverse}@keyframes fireIceDance{0%{opacity:1;transform:scale(1) rotate(0deg);filter:hue-rotate(0deg)}25%{opacity:.9;transform:scale(1.08) rotate(1deg);filter:hue-rotate(10deg)}50%{opacity:1;transform:scale(1.02) rotate(-1deg);filter:hue-rotate(-10deg)}75%{opacity:.85;transform:scale(1.1) rotate(.5deg);filter:hue-rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0deg);filter:hue-rotate(0deg)}}.bg-decoration{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:-1;overflow:hidden}.bg-note{position:absolute;font-size:2.5rem;opacity:.12;animation:floatNote 20s linear infinite;text-shadow:0 0 20px currentColor}.bg-note:first-child{left:10%;animation-delay:0s;animation-duration:25s;color:#ff6b35}.bg-note:nth-child(3){left:40%;animation-delay:-10s;animation-duration:28s;color:#ff9f1c}.bg-note:nth-child(5){left:70%;animation-delay:-12s;animation-duration:26s;color:#ff4500}.bg-note:nth-child(2){left:25%;animation-delay:-5s;animation-duration:20s;color:#00d4ff}.bg-note:nth-child(4){left:55%;animation-delay:-7s;animation-duration:22s;color:#4cc9f0}.bg-note:nth-child(6){left:85%;animation-delay:-3s;animation-duration:24s;color:#00bfff}@keyframes floatNote{0%{transform:translateY(100vh) rotate(0deg) scale(.8);opacity:0}10%{opacity:.15}50%{opacity:.2;transform:translateY(50vh) rotate(180deg) scale(1.2)}90%{opacity:.15}to{transform:translateY(-100px) rotate(1turn) scale(.8);opacity:0}}.container{width:100%;max-width:1500px;margin:0 auto;padding:1rem 3rem;min-height:100vh;display:flex;flex-direction:column}.page-title{margin-bottom:1rem;padding:1rem;background:rgba(17,17,17,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 20px rgba(0,0,0,.15);flex-shrink:0}.header-content{justify-content:space-between;gap:2rem}.brand,.header-content{display:flex;align-items:center}.brand{gap:.75rem;flex-shrink:0}.brand-logo{width:60px;height:60px;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-name{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:1px}.brand-sub{font-size:.7rem;color:#888;letter-spacing:.5px;font-weight:400}.header-title{text-align:center;flex:1 1}.header-spacer{width:180px;flex-shrink:0}.page-title h1{font-size:2rem;font-weight:700;margin-bottom:.25rem;background:linear-gradient(90deg,#3498db,#5dade2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:#888;font-size:1rem}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem}.header-spacer{display:none}.brand{order:-1}.page-title h1{font-size:1.6rem}}main{flex:1 1;display:flex;flex-direction:column}.glass{border:1px solid rgba(255,255,255,.1)}.fretboard-container,.glass{background:rgba(17,17,17,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}.fretboard-container{border-radius:16px;padding:1rem 1.5rem;border:1px solid rgba(255,255,255,.1);flex:1 1;display:flex;flex-direction:column}.scale-header{justify-content:space-between;margin-bottom:.5rem;gap:1rem}.header-left,.scale-header{display:flex;align-items:center}.header-left{gap:.75rem;flex-shrink:0}.scale-select-prominent{width:auto;min-width:200px;padding:.65rem 2.25rem .65rem 1rem!important;font-size:1.05rem!important;font-weight:600!important;border:2px solid rgba(52,152,219,.5)!important;border-radius:10px!important;background:linear-gradient(135deg,rgba(52,152,219,.15),rgba(41,128,185,.08))!important;color:#5dade2!important;box-shadow:0 0 16px rgba(52,152,219,.15),0 4px 12px rgba(0,0,0,.25)!important;transition:all .25s ease;letter-spacing:.3px}.scale-select-prominent:hover{border-color:rgba(52,152,219,.8)!important;background:linear-gradient(135deg,rgba(52,152,219,.25),rgba(41,128,185,.15))!important;box-shadow:0 0 24px rgba(52,152,219,.25),0 6px 16px rgba(0,0,0,.3)!important;transform:translateY(-1px)}.scale-select-prominent:focus{border-color:rgba(52,152,219,1)!important;box-shadow:0 0 28px rgba(52,152,219,.35),0 6px 16px rgba(0,0,0,.3)!important;outline:none}.display-buttons{display:flex;gap:.25rem}.display-btn{padding:.4rem .6rem;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:rgba(26,26,26,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#888;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s}.display-btn:hover{border-color:rgba(52,152,219,.4);color:#3498db;background:rgba(52,152,219,.1)}.display-btn.active{background:rgba(52,152,219,.9);border-color:rgba(52,152,219,.8);color:#fff;box-shadow:0 0 12px rgba(52,152,219,.3)}.label-rotation-buttons{display:flex;gap:.2rem;align-items:center;margin-left:.5rem;padding-left:.5rem;border-left:1px solid rgba(255,255,255,.1)}.rotation-btn{padding:.35rem .5rem;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:rgba(26,26,26,.8);color:#888;font-size:.65rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.rotation-btn:hover{border-color:rgba(52,152,219,.4);color:#3498db;background:rgba(52,152,219,.1)}.rotation-btn.active{background:rgba(52,152,219,.9);border-color:rgba(52,152,219,.8);color:#fff}.pattern-selector{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem;padding:.5rem .75rem;background:rgba(0,0,0,.3);border-radius:8px;border:1px solid rgba(255,255,255,.05)}.pattern-modes{display:flex;gap:.35rem}.pattern-btn{padding:.5rem 1rem;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:rgba(26,26,26,.8);color:#aaa;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.pattern-btn:hover{border-color:rgba(230,126,34,.5);color:#e67e22;background:rgba(230,126,34,.1)}.pattern-btn.active{background:rgba(230,126,34,.9);border-color:rgba(230,126,34,.8);color:#fff;box-shadow:0 0 15px rgba(230,126,34,.4)}.position-selector{display:flex;gap:.25rem;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.1)}.position-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(26,26,26,.8);color:#888;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s}.position-btn:hover{border-color:rgba(52,152,219,.5);color:#3498db;background:rgba(52,152,219,.1)}.position-btn.active{background:rgba(52,152,219,.9);border-color:rgba(52,152,219,.8);color:#fff;box-shadow:0 0 12px rgba(52,152,219,.4)}.pattern-btn.diagonal{background:rgba(142,68,173,.2);border-color:rgba(142,68,173,.3)}.pattern-btn.diagonal:hover{border-color:rgba(142,68,173,.6);color:#9b59b6;background:rgba(142,68,173,.2)}.pattern-btn.diagonal.active{background:rgba(142,68,173,.9);border-color:rgba(142,68,173,.8);color:#fff;box-shadow:0 0 15px rgba(142,68,173,.5)}.diagonal-options{gap:1rem}.diagonal-options,.start-fret-selector{display:flex;padding-left:.75rem;border-left:1px solid rgba(255,255,255,.1)}.start-fret-selector{align-items:center;gap:.5rem}.start-fret-selector label{color:#888;font-size:.85rem;white-space:nowrap}.crop-slider{display:flex;align-items:center;gap:.45rem}.crop-slider-value{min-width:1.25rem;color:#e0e0e0;font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.crop-slider-track{position:relative;width:150px;height:28px}.crop-slider-track:before{content:"";left:0;right:0;background:rgba(255,255,255,.15)}.crop-slider-fill,.crop-slider-track:before{position:absolute;top:50%;height:4px;transform:translateY(-50%);border-radius:2px;pointer-events:none}.crop-slider-fill{background:rgba(52,152,219,.65);z-index:1}.crop-slider-input{position:absolute;left:0;top:0;width:100%;height:28px;margin:0;background:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none;touch-action:none}.crop-slider-start{z-index:2}.crop-slider-end{z-index:3}.crop-slider-input.active{z-index:4}.crop-slider-input::-webkit-slider-runnable-track{height:4px;background:transparent;border:none}.crop-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6px;background:#5dade2;border:2px solid #1a1a1a;border-radius:50%;box-shadow:0 0 8px rgba(52,152,219,.4);cursor:pointer;pointer-events:auto;-webkit-transition:transform .1s;transition:transform .1s}.crop-slider-input::-webkit-slider-thumb:hover{transform:scale(1.15)}.crop-slider-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(52,152,219,.45)}.crop-slider-input::-moz-range-track{height:4px;background:transparent;border:none}.crop-slider-input::-moz-range-thumb{width:16px;height:16px;background:#5dade2;border:2px solid #1a1a1a;border-radius:50%;box-shadow:0 0 8px rgba(52,152,219,.4);cursor:pointer;pointer-events:auto}.crop-slider-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px rgba(52,152,219,.45)}.diagonal-types{display:flex;gap:.25rem}.diagonal-type-btn{padding:.4rem .75rem;border-radius:5px;border:1px solid rgba(255,255,255,.15);background:rgba(26,26,26,.8);color:#888;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.diagonal-type-btn:hover{border-color:rgba(142,68,173,.5);color:#9b59b6;background:rgba(142,68,173,.1)}.diagonal-type-btn.active{background:rgba(142,68,173,.9);border-color:rgba(142,68,173,.8);color:#fff;box-shadow:0 0 10px rgba(142,68,173,.4)}.diagonal-direction{display:flex;gap:.25rem}.direction-btn{padding:.4rem .6rem;border-radius:5px;border:1px solid rgba(255,255,255,.15);background:rgba(26,26,26,.8);color:#888;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.direction-btn:hover{border-color:rgba(46,204,113,.5);color:#2ecc71;background:rgba(46,204,113,.1)}.direction-btn.active{background:rgba(46,204,113,.9);border-color:rgba(46,204,113,.8);color:#fff;box-shadow:0 0 10px rgba(46,204,113,.4)}.compare-btn{background:rgba(155,89,182,.2)!important;border-color:rgba(155,89,182,.3)!important}.compare-btn:hover{background:rgba(155,89,182,.3)!important;border-color:rgba(155,89,182,.6)!important;color:#9b59b6!important}.comparison-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.comparison-modal{background:rgba(17,17,17,.95);border-radius:16px;border:1px solid rgba(255,255,255,.1);width:100%;max-width:1600px;max-height:95vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5)}.comparison-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);position:-webkit-sticky;position:sticky;top:0;background:rgba(17,17,17,.98);z-index:10}.comparison-header h1,.comparison-header h2{color:#3498db;font-size:1.2rem;margin:0}.comparison-header-controls{display:flex;align-items:center;gap:1rem}.comparison-display-modes{display:flex;gap:.25rem}.reset-hidden-btn{padding:.4rem .75rem;border-radius:6px;border:1px solid rgba(231,76,60,.4);background:rgba(231,76,60,.15);color:#e74c3c;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.reset-hidden-btn:hover{background:rgba(231,76,60,.9);color:#fff}.clear-slides-btn{padding:.4rem .75rem;border-radius:6px;border:1px solid rgba(255,204,0,.4);background:rgba(255,204,0,.15);color:#ffcc00;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.clear-slides-btn:hover{background:rgba(255,204,0,.9);color:#111}.clear-outside-btn{padding:.4rem .75rem;border-radius:6px;border:1px solid rgba(230,126,34,.5);background:rgba(230,126,34,.15);color:#e67e22;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.clear-outside-btn:hover{background:rgba(230,126,34,.9);color:#fff}.clickable-note{cursor:pointer}.clickable-note circle{transition:filter .15s,stroke-width .15s}.clickable-note:hover circle{filter:brightness(1.3) drop-shadow(0 0 6px currentColor);stroke-width:3}.clickable-note:active circle{filter:brightness(.8)}.highlighted-note .highlight-ring{animation:highlightPulse 1.5s ease-in-out infinite}@keyframes highlightPulse{0%,to{opacity:.7;stroke-width:2.5}50%{opacity:1;stroke-width:3.5}}.clear-highlights-btn{padding:.4rem .75rem;border-radius:6px;border:1px solid rgba(241,196,15,.4);background:rgba(241,196,15,.15);color:#f1c40f;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.clear-highlights-btn:hover{background:rgba(241,196,15,.9);color:#111}.clear-bends-btn{padding:.4rem .75rem;border-radius:6px;border:1px solid rgba(231,76,60,.4);background:rgba(231,76,60,.15);color:#e74c3c;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.clear-bends-btn:hover{background:rgba(231,76,60,.9);color:#fff}.bend-marker{animation:bendFadeIn .2s ease-out}@keyframes bendFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.close-btn{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(231,76,60,.2);color:#e74c3c;font-size:1.2rem;cursor:pointer;transition:all .2s}.close-btn:hover{background:rgba(231,76,60,.9);color:#fff}.comparison-content{display:flex;gap:1rem;padding:1rem}.comparison-side{flex:1 1;display:flex;flex-direction:column;gap:.75rem}.comparison-side.left{border-right:none}.comparison-divider{display:flex;align-items:center;justify-content:center;width:50px;flex-shrink:0}.comparison-divider span{background:rgba(155,89,182,.3);color:#9b59b6;padding:.5rem .75rem;border-radius:20px;font-weight:700;font-size:.8rem}.comparison-controls{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:rgba(0,0,0,.3);border-radius:8px;border:1px solid rgba(255,255,255,.05)}.comparison-row{display:flex;gap:.5rem;align-items:center}.select-input.compact{padding:.4rem .6rem;font-size:.75rem;min-width:auto;flex:1 1}.mini-pattern-modes{display:flex;gap:.2rem;flex:1 1}.mini-pattern-btn{flex:1 1;padding:.35rem .5rem;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:rgba(26,26,26,.8);color:#888;font-size:.65rem;font-weight:600;cursor:pointer;transition:all .15s}.mini-pattern-btn:hover{border-color:rgba(230,126,34,.4);color:#e67e22}.mini-pattern-btn.active{background:rgba(230,126,34,.9);border-color:rgba(230,126,34,.8);color:#fff}.mini-positions{display:flex;gap:.2rem;flex:1 1}.mini-pos-btn{flex:1 1;padding:.3rem;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:rgba(26,26,26,.8);color:#888;font-size:.65rem;font-weight:600;cursor:pointer;transition:all .15s}.mini-pos-btn:hover{border-color:rgba(52,152,219,.4);color:#3498db}.mini-pos-btn.active{background:rgba(52,152,219,.9);border-color:rgba(52,152,219,.8);color:#fff}.mini-direction{display:flex;gap:.2rem}.mini-dir-btn{padding:.35rem .5rem;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:rgba(26,26,26,.8);color:#888;font-size:.7rem;cursor:pointer;transition:all .15s}.mini-dir-btn:hover{border-color:rgba(46,204,113,.4);color:#2ecc71}.mini-dir-btn.active{background:rgba(46,204,113,.9);border-color:rgba(46,204,113,.8);color:#fff}.comparison-fretboard{overflow-x:auto;border-radius:8px;background:rgba(0,0,0,.2);padding:.5rem}.comparison-fretboard .fretboard-svg{min-width:600px}.fretboard-svg-container{position:relative}.fretboard-svg-container.compact .fretboard-svg{min-width:500px}.fretboard-label{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;align-items:flex-start;padding:.4rem .6rem;background:rgba(0,0,0,.7);border-radius:6px;border:2px solid;z-index:5}.label-key{font-size:1.2rem;font-weight:700}.label-scale{font-size:.65rem;opacity:.8}.comparison-modal.single-fretboard{max-width:1200px}.comparison-single-content{padding:1rem;display:flex;flex-direction:column;gap:1rem}.scale-selectors{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}.scale-selector{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:rgba(0,0,0,.3);border-radius:10px;border:2px solid transparent;transition:all .2s}.scale-selector .select-input.compact:first-of-type{min-width:55px}.scale-selector.active{border-color:rgba(255,255,255,.1)}.scale-selector.scale-a.active{border-color:rgba(52,152,219,.4);background:rgba(52,152,219,.1)}.scale-selector.scale-b.active{border-color:rgba(230,126,34,.4);background:rgba(230,126,34,.1)}.toggle-scale-btn{width:24px;height:24px;border-radius:4px;border:2px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.toggle-scale-btn:hover{border-color:rgba(255,255,255,.5)}.scale-label{font-weight:700;font-size:1.1rem;min-width:20px}.overlap-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(46,204,113,.15);border-radius:20px;border:1px solid rgba(46,204,113,.3);color:#2ecc71;font-size:.85rem;font-weight:600}.overlap-dot{width:12px;height:12px;border-radius:50%}.fretboard-hint-icon{position:absolute;top:10px;right:10px;z-index:20;display:flex;align-items:center;gap:.5rem}.hint-icon-wrapper{position:relative;display:inline-flex}.hint-icon{width:20px;height:20px;border-radius:50%;background:rgba(52,152,219,.2);border:1px solid rgba(52,152,219,.5);color:#3498db;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:help;transition:all .2s}.hint-icon:hover{background:rgba(52,152,219,.4);transform:scale(1.1)}.hint-tooltip{position:absolute;top:100%;right:0;margin-top:8px;background:rgba(17,17,17,.98);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.75rem 1rem;min-width:250px;opacity:0;visibility:hidden;transition:all .2s;z-index:100;box-shadow:0 8px 25px rgba(0,0,0,.4)}.hint-tooltip:before{content:"";position:absolute;top:-6px;right:6px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid rgba(255,255,255,.15)}.hint-tooltip:after{content:"";position:absolute;top:-4px;right:7px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid rgba(17,17,17,.98)}.hint-icon-wrapper:hover .hint-tooltip{opacity:1;visibility:visible}.hint-tooltip p{margin:0 0 .5rem;color:#fff;font-size:.8rem}.hint-tooltip ul{margin:0;padding-left:1.2rem;color:#aaa;font-size:.75rem}.hint-tooltip li{margin-bottom:.25rem}.hint-tooltip li:last-child{margin-bottom:0}.clear-slides-inline{background:rgba(231,76,60,.2);border:1px solid rgba(231,76,60,.5);color:#e74c3c;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.clear-slides-inline:hover{background:rgba(231,76,60,.4)}.comparison-svg.dragging,.fretboard-svg.dragging{cursor:-webkit-grabbing;cursor:grabbing}.draggable-note{-webkit-user-select:none;-moz-user-select:none;user-select:none}.hidden-note circle{transition:all .2s}.hidden-note:hover circle{stroke:rgba(255,255,255,.4);stroke-width:2;fill:rgba(255,255,255,.05)}.slide-connection{pointer-events:auto}.slide-line{animation:slideDash 1s linear infinite}@keyframes slideDash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-24}}.slide-delete{opacity:0;cursor:pointer;transition:opacity .2s}.slide-connection:hover .slide-delete{opacity:1}.slide-delete:hover circle{fill:#c0392b}.slide-target{animation:pulseTarget 1.5s ease-in-out infinite}@keyframes pulseTarget{0%,to{opacity:.6;stroke-width:2}50%{opacity:1;stroke-width:3}background:rgba(255,255,255,.03);border-radius:6px}.comparison-logo-wrapper{z-index:10;margin-bottom:.5rem;padding:0 1rem}.comparison-logo,.comparison-logo-wrapper{display:flex;justify-content:center;position:relative}.comparison-logo{width:100%;max-width:800px;height:80px;border-radius:12px;background:transparent;border:none;align-items:center;overflow:visible;padding:10px}.comparison-logo:before{content:"";position:absolute;inset:10px 30px;background:radial-gradient(ellipse 40% 70% at 25% 50%,rgba(52,152,219,.6) 0,transparent 100%),radial-gradient(ellipse 30% 50% at 30% 35%,rgba(41,128,185,.5) 0,transparent 100%),radial-gradient(ellipse 35% 60% at 28% 65%,rgba(52,73,94,.5) 0,transparent 100%),radial-gradient(ellipse 40% 70% at 75% 50%,rgba(230,126,34,.6) 0,transparent 100%),radial-gradient(ellipse 30% 50% at 70% 65%,rgba(211,84,0,.5) 0,transparent 100%),radial-gradient(ellipse 35% 60% at 72% 35%,rgba(241,196,15,.4) 0,transparent 100%),radial-gradient(ellipse 25% 50% at 50% 50%,rgba(52,152,219,.15) 0,transparent 100%),radial-gradient(ellipse 25% 50% at 50% 50%,rgba(230,126,34,.15) 0,transparent 100%);animation:fireIceSwirl 8s ease-in-out infinite alternate;-webkit-mask:radial-gradient(ellipse 100% 100% at 50% 50%,black 30%,transparent 70%);mask:radial-gradient(ellipse 100% 100% at 50% 50%,black 30%,transparent 70%)}.comparison-logo:after{content:"";position:absolute;inset:5px 20px;background:radial-gradient(ellipse 50% 40% at 35% 45%,rgba(52,152,219,.35) 0,transparent 100%),radial-gradient(ellipse 50% 40% at 65% 55%,rgba(230,126,34,.35) 0,transparent 100%),radial-gradient(ellipse 40% 30% at 42% 60%,rgba(41,128,185,.25) 0,transparent 100%),radial-gradient(ellipse 40% 30% at 58% 40%,rgba(211,84,0,.25) 0,transparent 100%);animation:fireIceWisp 6s ease-in-out infinite alternate-reverse;-webkit-mask:radial-gradient(ellipse 100% 100% at 50% 50%,black 20%,transparent 80%);mask:radial-gradient(ellipse 100% 100% at 50% 50%,black 20%,transparent 80%)}@keyframes fireIceSwirl{0%{transform:scale(1) translateX(0);opacity:.8}50%{transform:scale(1.05) translateX(5px);opacity:1}to{transform:scale(1) translateX(-5px);opacity:.9}}@keyframes fireIceWisp{0%{transform:translateY(0) scaleX(1);opacity:.6}50%{transform:translateY(-3px) scaleX(1.1);opacity:.8}to{transform:translateY(3px) scaleX(.95);opacity:.7}}.comparison-logo-img{object-fit:contain;height:100%;width:auto;position:relative;z-index:2}.sound-wave{display:flex;align-items:center;justify-content:flex-end;gap:2px;height:100%;flex:1 1;padding:10px 5px;position:relative;z-index:1}.sound-wave.right{justify-content:flex-start}.wave-bar{width:3px;min-height:4px;background:linear-gradient(0deg,rgba(52,152,219,.3) 0,rgba(52,152,219,.8) 30%,rgba(255,255,255,.9) 50%,rgba(52,152,219,.8) 70%,rgba(52,152,219,.3));border-radius:2px;animation:waveFloat 1.5s ease-in-out infinite;box-shadow:0 0 5px rgba(52,152,219,.5),0 0 10px rgba(52,152,219,.3)}.sound-wave.right .wave-bar{background:linear-gradient(0deg,rgba(230,126,34,.3) 0,rgba(230,126,34,.8) 30%,rgba(255,255,255,.9) 50%,rgba(230,126,34,.8) 70%,rgba(230,126,34,.3));box-shadow:0 0 5px rgba(230,126,34,.5),0 0 10px rgba(230,126,34,.3)}@keyframes waveFloat{0%,to{transform:scaleY(.5);opacity:.6}50%{transform:scaleY(1);opacity:1}}.comparison-fretboard-wrapper{position:relative;overflow-x:auto;padding:.5rem;background:rgba(0,0,0,.2);border-radius:12px}.comparison-svg{min-width:800px}.comparison-legend{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;padding:1rem;background:rgba(0,0,0,.2);border-radius:10px}.legend-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:150px}.legend-section h4{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.legend-section.overlap-section{padding:0 1.5rem;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}.legend-notes{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center}.legend-note{padding:.3rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700;color:#fff}.legend-hidden,.legend-none{color:#666;font-size:.75rem;font-style:italic}@media (max-width:1200px){.comparison-content{flex-direction:column}.comparison-divider{width:100%;height:40px}.comparison-side{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem}.comparison-side:last-child{border-bottom:none}}@media (max-width:768px){.scale-selectors{flex-direction:column;gap:.75rem}.scale-selector{width:100%;justify-content:center}.comparison-legend{flex-direction:column;align-items:center;gap:1rem}.legend-section.overlap-section{border:1px solid rgba(255,255,255,.1);border-right:none;border-left:none;padding:1rem 0;width:100%}}.progression-modal{max-width:1100px}.progression-info{display:flex;flex-direction:column;gap:1rem;padding:0 1rem;margin-bottom:1rem}.progression-key-selector{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}.key-quality-toggle{display:flex;gap:0;background:rgba(0,0,0,.3);border-radius:8px;overflow:hidden}.quality-btn{padding:.5rem 1rem;border:none;background:transparent;color:#888;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.quality-btn.active{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff}.quality-btn:hover:not(.active){color:#fff;background:rgba(255,255,255,.1)}.key-select-group{display:flex;align-items:center;gap:.5rem}.key-select-group label{font-size:.9rem;color:#888;font-weight:500}.key-select-group .select-input{min-width:80px}.progression-chain{justify-content:center;gap:.5rem;flex-wrap:wrap;padding:1rem;background:rgba(0,0,0,.3);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.chain-item,.progression-chain{display:flex;align-items:center}.chain-item{flex-direction:column;padding:.5rem 1rem;border-radius:8px;background:rgba(255,255,255,.05);min-width:60px;transition:all .3s}.chain-item.active{background:linear-gradient(135deg,rgba(230,126,34,.4),rgba(211,84,0,.4));border:1px solid #e67e22;transform:scale(1.1);box-shadow:0 0 20px rgba(230,126,34,.3)}.chain-item .chord-numeral{font-size:.75rem;color:#888;text-transform:lowercase}.chain-item.active .chord-numeral{color:#f39c12;font-weight:600}.chain-item .chord-name{font-size:1rem;font-weight:700;color:#fff}.chain-arrow{color:#555;font-size:1.2rem}.dominant-scale-selector{padding:0 1rem;margin-bottom:1rem}.dominant-scale-selector h3{text-align:center;font-size:1rem;color:#ccc;margin-bottom:.75rem;font-weight:500}.dominant-scale-selector h3 .highlight{color:#e67e22;font-weight:700}.dominant-scale-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.5rem;gap:.5rem}.dominant-scale-btn{display:flex;flex-direction:column;align-items:flex-start;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(0,0,0,.3);cursor:pointer;transition:all .2s;text-align:left}.dominant-scale-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.dominant-scale-btn.active{background:linear-gradient(135deg,rgba(230,126,34,.3),rgba(211,84,0,.2));border-color:#e67e22;box-shadow:0 0 15px rgba(230,126,34,.2)}.dominant-scale-btn .scale-name{font-size:.9rem;font-weight:600;color:#fff;margin-bottom:.25rem}.dominant-scale-btn .scale-context{font-size:.75rem;color:#888;line-height:1.3}.dominant-scale-btn.active .scale-context{color:#f39c12}.fretboard-scale-title{text-align:center;margin-bottom:.75rem}.fretboard-scale-title h4{font-size:1.1rem;color:#e67e22;margin-bottom:.25rem}.fretboard-scale-title p{font-size:.8rem;color:#888}.progression-legend{display:flex;gap:2rem;justify-content:center;padding:1rem;flex-wrap:wrap}.progression-legend .legend-section{display:flex;flex-direction:column;align-items:center;gap:.5rem}.progression-legend .legend-section h4{font-size:.85rem;color:#888;font-weight:500}.progression-legend .legend-items{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.progression-legend .legend-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#ccc}.progression-legend .legend-dot{width:12px;height:12px;border-radius:50%}.scale-notes-section{flex:1 1;max-width:400px}.scale-notes-row{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.scale-note-item{display:flex;flex-direction:column;align-items:center;padding:.4rem .6rem;border-radius:6px;min-width:36px}.scale-note-item .note-name{font-size:.85rem;font-weight:700;color:#fff}.scale-note-item .note-interval{font-size:.65rem;color:rgba(255,255,255,.7)}.progression-practice{padding:1rem;background:rgba(0,0,0,.3);border-radius:12px;margin:0 1rem 1rem;border:1px solid rgba(255,255,255,.1)}.progression-practice h4{font-size:.9rem;color:#f39c12;margin-bottom:.75rem}.progression-practice ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.progression-practice li{font-size:.85rem;color:#aaa;padding-left:1.2rem;position:relative}.progression-practice li:before{content:"→";position:absolute;left:0;color:#e67e22}.progression-btn svg text{fill:currentColor}.tuner-modal{background:rgba(15,15,20,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);max-width:500px;width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5)}.tuner-content{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.tuner-permission-denied{text-align:center;padding:1.5rem;background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.3);border-radius:12px}.tuner-permission-denied p{color:#e74c3c;margin-bottom:.5rem}.tuner-permission-denied p.small{font-size:.85rem;color:#999}.tuner-controls{display:flex;justify-content:center}.tuner-toggle-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border:2px solid rgba(46,204,113,.5);border-radius:50px;background:rgba(46,204,113,.1);color:#2ecc71;cursor:pointer;transition:all .3s}.tuner-toggle-btn:hover{background:rgba(46,204,113,.2);border-color:#2ecc71;transform:scale(1.02)}.tuner-toggle-btn.active{background:linear-gradient(135deg,rgba(231,76,60,.2),rgba(192,57,43,.2));border-color:#e74c3c;color:#e74c3c}.tuner-toggle-btn.active:hover{background:linear-gradient(135deg,rgba(231,76,60,.3),rgba(192,57,43,.3))}.mic-icon{font-size:1.5rem}.mic-icon.listening{animation:pulse 1s ease-in-out infinite}.tuner-display{display:flex;align-items:stretch;gap:1rem;padding:1.5rem;background:rgba(0,0,0,.4);border-radius:16px;border:1px solid rgba(255,255,255,.05);height:260px;transition:border-color .3s,box-shadow .3s;overflow:hidden}.tuner-main{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;height:100%}.tuner-display.active{border-color:rgba(46,204,113,.3);box-shadow:0 0 30px rgba(46,204,113,.1)}.volume-indicator{width:24px;height:150px;background:rgba(255,255,255,.1);border-radius:12px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;flex-shrink:0}.volume-bar{width:100%;background:linear-gradient(0deg,#2ecc71,#f1c40f,#e74c3c);border-radius:0 0 12px 12px;transition:height .05s ease-out}.volume-label{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:.65rem;color:#666}.note-display{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:160px;width:100%}.detected-note{font-size:4rem;font-weight:800;line-height:1;transition:color .2s;min-width:120px;text-align:center}.detected-note .octave{font-size:1.5rem;vertical-align:super;opacity:.6}.detected-frequency{font-size:1rem;color:#888;margin-top:.5rem;min-height:1.5rem}.tuning-status{font-size:1.1rem;font-weight:600;margin-top:.5rem;transition:color .2s;min-height:1.5rem}.string-match{margin-top:.5rem;padding:.3rem .8rem;background:rgba(52,152,219,.2);border:1px solid rgba(52,152,219,.4);border-radius:20px;font-size:.8rem;color:#3498db;min-height:1.75rem}.no-signal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#555;height:100%;width:100%}.waiting-icon{font-size:2.5rem;opacity:.5}.cents-meter{flex-direction:column;flex-shrink:0;height:55px}.cents-meter,.cents-scale{width:100%;display:flex;align-items:center;gap:.5rem}.cents-scale{max-width:280px;box-sizing:border-box}.cents-mark{font-size:1.2rem;width:20px;text-align:center}.cents-mark.flat{color:#3498db}.cents-mark.sharp{color:#e74c3c}.cents-track{flex:1 1;height:20px;background:rgba(255,255,255,.1);border-radius:10px;position:relative;overflow:hidden}.cents-markers{left:0;right:0}.cents-marker,.cents-markers{position:absolute;top:0;bottom:0}.cents-marker{width:2px;transform:translateX(-50%)}.marker-line{display:block;width:2px;height:100%;background:rgba(255,255,255,.2)}.cents-marker:nth-child(3) .marker-line{background:rgba(46,204,113,.6);width:3px}.cents-needle{position:absolute;top:2px;bottom:2px;width:8px;border-radius:4px;transform:translateX(-50%);transition:left .1s ease-out,background-color .2s;box-shadow:0 0 10px currentColor}.cents-value{font-size:.85rem;color:#888;min-height:1.25rem}.string-reference{padding:1rem;background:rgba(0,0,0,.3);border-radius:12px;border:1px solid rgba(255,255,255,.05)}.string-reference h4{text-align:center;font-size:.9rem;color:#888;margin-bottom:.75rem;font-weight:500}.strings-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:.5rem;gap:.5rem}.string-item{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:rgba(255,255,255,.05);border-radius:8px;border:1px solid transparent;transition:all .3s}.string-item.active{background:rgba(46,204,113,.2);border-color:#2ecc71;box-shadow:0 0 15px rgba(46,204,113,.3)}.string-number{font-size:.7rem;color:#666}.string-note{font-size:1.2rem;font-weight:700;color:#fff}.string-item.active .string-note{color:#2ecc71}.string-freq{font-size:.65rem;color:#555}.tuner-tips{text-align:center;font-size:.8rem;color:#666;padding:.75rem;background:rgba(255,255,255,.03);border-radius:8px}.tuner-tips strong{color:#f39c12}.floating-buttons{position:fixed;bottom:20px;right:20px;display:flex;gap:.6rem;z-index:1000}.backing-track-toggle,.compare-float-btn,.effects-float-btn,.tuner-float-btn{position:static;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:rgba(26,26,26,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid;border-radius:50px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px rgba(0,0,0,.3);font-family:inherit}.compare-float-btn{border-color:rgba(155,89,182,.4);color:#9b59b6}.compare-float-btn:hover{background:rgba(155,89,182,.15);border-color:rgba(155,89,182,.6);transform:translateY(-2px);box-shadow:0 6px 25px rgba(155,89,182,.3)}.tuner-float-btn{border-color:rgba(46,204,113,.4);color:#2ecc71}.tuner-float-btn:hover{background:rgba(46,204,113,.15);border-color:rgba(46,204,113,.6);transform:translateY(-2px);box-shadow:0 6px 25px rgba(46,204,113,.3)}.backing-track-toggle .toggle-icon,.compare-float-icon,.effects-float-btn .toggle-icon,.tuner-float-icon{width:18px;height:18px}.download-btn:hover{border-color:rgba(155,89,182,.5);color:#9b59b6;background:rgba(155,89,182,.1)}.download-dropdown-wrapper{position:relative}.download-dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.download-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:rgba(20,20,25,.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.4rem;min-width:240px;z-index:100;box-shadow:0 12px 40px rgba(0,0,0,.5);animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.download-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .75rem;border:none;border-radius:7px;background:transparent;color:#ccc;cursor:pointer;transition:all .15s;text-align:left}.download-option:hover{background:rgba(155,89,182,.15);color:#fff}.download-option+.download-option{margin-top:.2rem}.download-option-icon{width:22px;height:22px;flex-shrink:0;opacity:.7}.download-option:hover .download-option-icon{opacity:1;color:#9b59b6}.download-option-text{display:flex;flex-direction:column;gap:.1rem}.download-option-title{font-size:.82rem;font-weight:600}.download-option-desc{font-size:.68rem;color:#777}.download-option-divider{height:1px;background:rgba(255,255,255,.08);margin:.25rem 0}.download-rotation-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;gap:.75rem}.download-rotation-label{font-size:.75rem;color:#999;white-space:nowrap}.download-rotation-btns{display:flex;gap:.3rem}.download-rotation-btns .rotation-btn{padding:.25rem .6rem;font-size:.7rem;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#999;cursor:pointer;transition:all .15s;font-family:inherit;font-weight:600}.download-rotation-btns .rotation-btn:hover{border-color:rgba(52,152,219,.4);color:#3498db}.download-rotation-btns .rotation-btn.active{background:rgba(52,152,219,.9);border-color:rgba(52,152,219,.8);color:#fff}@media (max-width:480px){.tuner-display{flex-direction:column;padding:1rem;height:300px}.tuner-main{width:100%;flex:1 1}.note-display{height:140px}.volume-indicator{width:100%;height:16px;flex-direction:row;flex-shrink:0}.volume-bar{height:100%;width:auto;border-radius:8px 0 0 8px;background:linear-gradient(90deg,#2ecc71,#f1c40f,#e74c3c)}.volume-label{bottom:auto;right:-30px;left:auto;transform:none}.detected-note{font-size:3rem;min-width:100px}.strings-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.progression-chain{gap:.25rem;padding:.75rem}.chain-item{padding:.4rem .6rem;min-width:50px}.chain-item .chord-name{font-size:.85rem}.chain-arrow{font-size:1rem}.dominant-scale-grid{grid-template-columns:1fr}.progression-legend{flex-direction:column;align-items:center;gap:1rem}}.header-center{flex:1 1;text-align:center}.header-center h2{font-size:1.5rem;color:#3498db;margin-bottom:.15rem}.scale-header .scale-description{color:#888;font-size:.85rem}.panel-buttons{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}.panel-btn{border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(26,26,26,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.2)}.panel-btn.text-btn{padding:.35rem .7rem;font-size:.75rem;font-weight:600;font-family:inherit;letter-spacing:.02em;white-space:nowrap}.panel-btn:hover{border-color:rgba(52,152,219,.5);color:#3498db;background:rgba(52,152,219,.1)}.panel-btn.active{border-color:rgba(52,152,219,.8);background:rgba(52,152,219,.9);color:#fff;box-shadow:0 0 15px rgba(52,152,219,.4)}.panel-btn svg{width:100%;height:100%}.fretboard-main{display:flex;gap:1rem;min-height:0}.fretboard-column{flex:1 1;min-width:0;display:flex;flex-direction:column}.tools-section{flex-shrink:0}.fretboard-container.with-panel .fretboard-column{flex:1 1}.fretboard-container.with-panel .fretboard-svg{min-width:500px}.side-panel{width:280px;flex-shrink:0;background:rgba(22,22,22,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:10px;padding:1rem;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 24px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.03);overflow-y:auto}.side-panel h3{color:#3498db;font-size:.9rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #333}.side-panel h3,.side-panel h4{text-transform:uppercase;letter-spacing:1px}.side-panel h4{color:#5dade2;font-size:.8rem;margin-top:1rem;margin-bottom:.5rem}.interval-list{display:flex;flex-direction:column;gap:.5rem}.interval-item{gap:.75rem}.interval-item,.interval-note{display:flex;align-items:center}.interval-note{width:28px;height:28px;border-radius:50%;background:#5a5a5a;color:#fff;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.interval-note.root{background:#c0392b}.interval-note.blue{background:#2980b9}.interval-name{color:#aaa;font-size:.8rem}.scale-formula{margin-top:.5rem}.scale-formula p{color:#888;font-size:.8rem;font-family:monospace}.practice-list{list-style:none;padding:0;margin:0}.practice-list li{color:#aaa;font-size:.85rem;padding:.5rem 0 .5rem 1.25rem;position:relative;border-bottom:1px solid #222}.practice-list li:last-child{border-bottom:none}.practice-list li:before{content:"▸";color:#3498db;position:absolute;left:0}.fretboard-wrapper{overflow-x:auto;margin:.5rem 0;padding:.5rem 0;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#333 #111}.fretboard-wrapper::-webkit-scrollbar{height:8px}.fretboard-wrapper::-webkit-scrollbar-track{background:#111;border-radius:4px}.fretboard-wrapper::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.fretboard-wrapper::-webkit-scrollbar-thumb:hover{background:#444}.fretboard-svg{min-width:900px;width:100%;height:auto;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.3)}.legend{display:flex;justify-content:center;gap:1.5rem;margin:.5rem 0;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;color:#ccc;font-size:.9rem}.legend-dot{width:16px;height:16px;border-radius:50%;border:2px solid #888}.legend-dot.root{background:#c0392b}.legend-dot.blue{background:#2980b9}.legend-dot.scale{background:#5a5a5a}.legend-dot.outside{background:transparent;border:2px solid #e67e22;border-radius:50%;box-sizing:border-box}.scale-notes-inline{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;margin-top:.25rem}.notes-label{color:#5dade2;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.notes-row-inline{display:flex;gap:.4rem;flex-wrap:wrap}.note-pill{padding:.25rem .6rem;background:#5a5a5a;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.note-pill.root{background:#c0392b}.note-pill.blue{background:#2980b9}.key-row{display:flex;align-items:center;gap:1rem;margin:.75rem 0;padding:.75rem 1rem;background:rgba(22,22,22,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:10px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.03)}.key-row label{color:#5dade2;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;flex-shrink:0}.key-buttons{display:flex;gap:.5rem;flex-wrap:wrap;flex:1 1;justify-content:center}.key-btn{width:52px;height:44px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(26,26,26,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#aaa;font-size:1rem;font-weight:700;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(0,0,0,.2)}.key-btn:hover{border-color:rgba(52,152,219,.5);color:#3498db;transform:scale(1.05);background:rgba(52,152,219,.1)}.key-btn.active{background:rgba(52,152,219,.9);border-color:rgba(52,152,219,.8);color:#fff;box-shadow:0 0 20px rgba(52,152,219,.4),inset 0 1px 0 rgba(255,255,255,.2)}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{color:#5dade2;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}.select-input{font-size:.9rem;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:rgba(26,26,26,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;cursor:pointer;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding:.5rem 2rem .5rem .75rem;box-shadow:0 2px 8px rgba(0,0,0,.2)}.select-input:hover{border-color:rgba(52,152,219,.4);background:rgba(52,152,219,.1)}.select-input:focus{outline:none;border-color:rgba(52,152,219,.6);box-shadow:0 0 12px rgba(52,152,219,.2)}.select-input option{background:#111;color:#fff;padding:.5rem}.select-input optgroup{background:#111;color:#5dade2;font-weight:600;font-style:normal}.button-group{display:flex;gap:0;border-radius:8px;overflow:hidden;border:2px solid #333}.mode-btn{padding:.5rem .75rem;font-size:.8rem;font-weight:600;border:none;background:#1a1a1a;color:#888;cursor:pointer;transition:all .2s;flex:1 1;white-space:nowrap}.mode-btn:not(:last-child){border-right:1px solid #333}.mode-btn:hover{background:#2a2a2a;color:#ccc}.mode-btn.active{background:#333;color:#fff}.metronome{justify-content:center;gap:1.5rem;padding:.75rem 1.5rem;background:rgba(22,22,22,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:10px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.03);margin-top:auto}.metronome,.time-signature{display:flex;align-items:center}.time-signature{flex-direction:column;gap:.35rem}.time-sig-label{font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:1px}.time-sig-buttons{display:flex;gap:.25rem}.time-sig-btn{padding:.3rem .5rem;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:rgba(26,26,26,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#888;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s}.time-sig-btn:hover{border-color:rgba(52,152,219,.4);color:#3498db;background:rgba(52,152,219,.1)}.time-sig-btn.active{background:rgba(52,152,219,.9);border-color:rgba(52,152,219,.8);color:#fff;box-shadow:0 0 8px rgba(52,152,219,.3)}.beat-indicator{display:flex;gap:.4rem;padding:.5rem}.beat-dot{width:12px;height:12px;background:#333}.beat-dot.accent{border:2px solid #555}.beat-dot.active{background:#3498db;box-shadow:0 0 10px #3498db}.beat-dot.accent.active{background:#e74c3c;box-shadow:0 0 10px #e74c3c;border-color:#e74c3c}.metronome-display{display:flex;flex-direction:column;align-items:center;min-width:70px}.bpm-value{font-size:2rem;font-weight:700;color:#3498db;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bpm-label{font-size:.7rem;color:#666;text-transform:uppercase;letter-spacing:1px}.metronome-controls{display:flex;align-items:center;gap:.5rem}.bpm-btn{width:36px;height:36px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(26,26,26,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#888;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.bpm-btn:hover{border-color:rgba(52,152,219,.4);color:#3498db;background:rgba(52,152,219,.1)}.play-btn{width:50px;height:50px;border-radius:50%;border:2px solid rgba(52,152,219,.6);background:rgba(26,26,26,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#3498db;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:12px;box-shadow:0 4px 15px rgba(0,0,0,.2)}.play-btn:hover{box-shadow:0 0 20px rgba(52,152,219,.4)}.play-btn.playing,.play-btn:hover{background:rgba(52,152,219,.9);color:#fff}.play-btn.playing{animation:pulse .5s ease-in-out infinite;box-shadow:0 0 25px rgba(52,152,219,.5)}.play-btn svg{width:100%;height:100%}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.tempo-presets{display:flex;gap:.4rem}.tempo-btn{padding:.4rem .75rem;border-radius:15px;border:1px solid rgba(255,255,255,.1);background:rgba(26,26,26,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#888;font-size:.75rem;cursor:pointer;transition:all .2s}.tempo-btn:hover{border-color:rgba(52,152,219,.4);color:#3498db;background:rgba(52,152,219,.1)}.tempo-btn.active{background:rgba(52,152,219,.9);border-color:rgba(52,152,219,.8);color:#fff;box-shadow:0 0 10px rgba(52,152,219,.3)}.intervals-info{margin:2rem 0;padding:1.5rem;background:#161616;border-radius:12px}.intervals-info h3{color:#5dade2;font-size:1rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;text-align:center}.intervals-row{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.interval-badge{padding:.5rem 1rem;background:#1a1a1a;border-radius:20px;font-size:.85rem;color:#ccc;border:1px solid #333}.tips-section{margin-top:2rem;padding:2rem;background:#111;border-radius:20px;border:1px solid #222}.tips-section h3{color:#5dade2;margin-bottom:1rem;font-size:1.1rem}.tips-section ol{padding-left:1.5rem}.tips-section li{color:#ccc;margin-bottom:.5rem;font-size:.95rem}footer{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid #222;color:#555;font-size:.9rem}@media (hover:none) and (pointer:coarse){.bpm-btn:hover,.display-btn:hover,.key-btn:hover,.mode-btn:hover,.panel-btn:hover,.play-btn:hover,.tempo-btn:hover,.time-sig-btn:hover{transform:none;border-color:inherit;color:inherit;background:inherit}.bpm-btn:active,.display-btn:active,.key-btn:active,.mode-btn:active,.panel-btn:active,.tempo-btn:active,.time-sig-btn:active{transform:scale(.95);opacity:.8}.play-btn:active{transform:scale(.95)}}@media (max-width:1024px){.container{padding:1rem 2rem}.fretboard-main{flex-direction:column}.side-panel{width:100%;max-height:200px}.header-center{display:none}}@media (max-width:768px){.container{padding:.75rem 1rem}.page-title{margin-bottom:.75rem;padding-bottom:.75rem}.brand-logo{width:40px;height:40px}.brand-name{font-size:1.1rem}.brand-sub{font-size:.6rem}.page-title h1{font-size:1.4rem}.header-spacer{display:none}.fretboard-container{padding:.75rem}.scale-header{flex-wrap:wrap;gap:.5rem;position:relative;padding-top:2.5rem}.header-left{order:1;width:100%;justify-content:center;flex-wrap:wrap;gap:.5rem}.header-center{order:0;width:100%}.header-center h2{font-size:1.2rem}.scale-header .scale-description{font-size:.75rem}.panel-buttons{position:static;justify-content:flex-end}.panel-btn.text-btn{padding:.3rem .5rem;font-size:.65rem}.scale-select-prominent{min-width:160px!important;font-size:.95rem!important;padding:.55rem 2rem .55rem .75rem!important}.display-btn{padding:.5rem .6rem;font-size:.7rem;min-height:44px}.fretboard-wrapper{margin:.25rem 0;padding:.25rem 0}.legend{gap:.75rem;margin:.25rem 0}.legend-item{font-size:.75rem}.legend-dot{width:12px;height:12px}.scale-notes-inline{flex-wrap:wrap;gap:.5rem;justify-content:center}.key-row{flex-direction:column;gap:.5rem;padding:.5rem}.key-buttons{gap:.35rem}.key-btn{width:48px;height:44px;font-size:.9rem}.metronome{flex-wrap:wrap;gap:.75rem;padding:.75rem}.metronome-display{min-width:60px}.bpm-value{font-size:1.5rem}.time-signature{order:-2}.beat-indicator{order:-1;width:100%;justify-content:center}.beat-dot{width:14px;height:14px}.metronome-controls{gap:.35rem}.bpm-btn{width:44px;height:44px;font-size:.9rem}.play-btn{width:56px;height:56px}.tempo-presets{width:100%;justify-content:center;flex-wrap:wrap}.tempo-btn{padding:.5rem .75rem;min-height:44px}.side-panel{padding:.75rem}.side-panel h3{font-size:.8rem}.interval-item{gap:.5rem}.interval-note{width:32px;height:32px}.practice-list li{font-size:.8rem;padding:.6rem 0 .6rem 1rem}}@media (max-width:480px){.container{padding:.5rem}.header-content{gap:.5rem}.brand-name{font-size:1rem}.page-title h1{font-size:1.2rem}.key-btn{width:44px;height:42px;font-size:.85rem}.scale-header{padding-top:2rem}.header-center h2{font-size:1.1rem}.time-sig-buttons{gap:.2rem}.time-sig-btn{padding:.4rem .5rem;min-height:36px}.metronome-display{min-width:50px}.bpm-value{font-size:1.3rem}.bpm-btn{width:40px;height:40px}.play-btn{width:50px;height:50px}}@media (max-height:500px) and (orientation:landscape){.container{padding:.5rem 1rem;min-height:auto}.page-title{margin-bottom:.5rem;padding-bottom:.5rem}.fretboard-container{padding:.5rem}.scale-header{margin-bottom:.25rem;padding-top:0}.header-left{order:0;width:auto}.header-center{width:auto;flex:1 1}.panel-buttons{position:static}.key-row{margin:.5rem 0;padding:.5rem}.metronome{padding:.5rem;margin-top:.5rem}}.backing-track-toggle{border-color:rgba(52,152,219,.3);color:#3498db}.backing-track-toggle:hover{background:rgba(52,152,219,.2);border-color:rgba(52,152,219,.6);transform:translateY(-2px);box-shadow:0 6px 25px rgba(52,152,219,.3)}.backing-track-toggle .toggle-icon{font-size:1rem;line-height:1}.effects-float-btn{border-color:rgba(155,89,182,.3);color:#9b59b6}.effects-float-btn:hover{background:rgba(155,89,182,.2);border-color:rgba(155,89,182,.6);transform:translateY(-2px);box-shadow:0 6px 25px rgba(155,89,182,.3)}.effects-float-btn .toggle-icon{font-size:1rem;line-height:1}.backing-track-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.backing-track-modal{background:rgba(17,17,17,.95);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 60px rgba(0,0,0,.5)}.backing-track-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);position:-webkit-sticky;position:sticky;top:0;background:rgba(17,17,17,.98);z-index:10}.backing-track-header h2{margin:0;color:#3498db;font-size:1.3rem}.header-buttons{display:flex;gap:.5rem}.minimize-btn{width:32px;height:32px;border:1px solid rgba(255,255,255,.2);background:rgba(52,152,219,.2);color:#3498db;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.minimize-btn:hover{background:rgba(52,152,219,.4)}.backing-track-mini{position:fixed;bottom:20px;right:20px;background:rgba(17,17,17,.95);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(52,152,219,.4);border-radius:16px;padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;box-shadow:0 8px 32px rgba(0,0,0,.4),0 0 20px rgba(52,152,219,.2);z-index:1000;min-width:280px}.mini-info{display:flex;flex-direction:column;flex:1 1}.mini-chord{font-size:1.5rem;font-weight:700;color:#fff;line-height:1.2}.mini-position{font-size:.75rem;color:#888}.mini-controls{display:flex;gap:.4rem}.mini-play-btn{width:40px;height:40px;border-radius:50%;border:2px solid rgba(46,204,113,.5);background:rgba(46,204,113,.2);color:#2ecc71;font-size:1.1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.mini-play-btn:hover{background:rgba(46,204,113,.3);transform:scale(1.05)}.mini-play-btn.playing{border-color:rgba(241,196,15,.6);background:rgba(241,196,15,.2);color:#f1c40f}.mini-close-btn,.mini-expand-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:rgba(26,26,26,.8);color:#888;font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.mini-expand-btn:hover{background:rgba(52,152,219,.3);border-color:rgba(52,152,219,.5);color:#3498db}.mini-close-btn:hover{background:rgba(231,76,60,.3);border-color:rgba(231,76,60,.5);color:#e74c3c}.mini-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.1);border-radius:0 0 16px 16px;overflow:hidden}.mini-progress-bar{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);transition:width .1s linear}@keyframes chordPulse{0%,to{opacity:1}50%{opacity:.7}}.backing-track-mini.playing .mini-chord{animation:chordPulse .5s ease-in-out}.backing-track-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1rem 1.5rem;background:rgba(0,0,0,.3);flex-wrap:wrap}.backing-track-controls .control-group{display:flex;flex-direction:column;align-items:center;gap:.3rem}.backing-track-controls .control-group label{font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.number-input{display:flex;align-items:center;gap:.5rem;background:rgba(26,26,26,.8);border-radius:8px;padding:.25rem}.number-input button{width:28px;height:28px;border:none;background:rgba(52,152,219,.2);color:#3498db;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .2s}.number-input button:hover:not(:disabled){background:rgba(52,152,219,.4)}.number-input button:disabled{opacity:.4;cursor:not-allowed}.number-input span{min-width:36px;text-align:center;font-weight:700;color:#fff;font-size:1.1rem}.loop-btn{width:36px;height:36px;border:1px solid rgba(255,255,255,.2);background:rgba(26,26,26,.8);border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s}.loop-btn.active{background:rgba(46,204,113,.3);border-color:rgba(46,204,113,.6)}.sound-toggle-btn{width:32px;height:32px;border:1px solid rgba(255,255,255,.2);background:rgba(26,26,26,.8);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;opacity:.5}.sound-toggle-btn.active{opacity:1;background:rgba(52,152,219,.3);border-color:rgba(52,152,219,.6)}.drum-controls{display:flex;gap:.25rem}.double-kick-btn{font-size:.8rem}.double-kick-btn.active{background:rgba(241,196,15,.3);border-color:rgba(241,196,15,.6)}.double-kick-btn:disabled{opacity:.3;cursor:not-allowed}.volume-slider{width:60px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.2);border-radius:2px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:#3498db;border-radius:50%;cursor:pointer;-webkit-transition:transform .1s;transition:transform .1s}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{width:12px;height:12px;background:#3498db;border-radius:50%;cursor:pointer;border:none}.play-btn.large{width:50px;height:50px;border-radius:50%;border:2px solid rgba(46,204,113,.5);background:rgba(46,204,113,.2);color:#2ecc71;font-size:1.3rem;cursor:pointer;transition:all .2s}.play-btn.large:hover{background:rgba(46,204,113,.3);transform:scale(1.05)}.play-btn.large.playing{background:rgba(231,76,60,.3);border-color:rgba(231,76,60,.6);color:#e74c3c}.backing-track-presets{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap}.preset-label{color:#666;font-size:.8rem;margin-right:.5rem}.preset-btn{padding:.3rem .6rem;background:rgba(52,152,219,.15);border:1px solid rgba(52,152,219,.3);color:#5dade2;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.preset-btn:hover:not(:disabled){background:rgba(52,152,219,.3)}.preset-btn:disabled{opacity:.4;cursor:not-allowed}.preset-btn.clear{background:rgba(231,76,60,.15);border-color:rgba(231,76,60,.3);color:#e74c3c}.preset-btn.clear:hover:not(:disabled){background:rgba(231,76,60,.3)}.chord-grid-container{padding:1rem 1.5rem;overflow-x:auto}.chord-grid{display:grid;grid-gap:1rem;gap:1rem;min-width:-moz-fit-content;min-width:fit-content}.bar-container{background:rgba(26,26,26,.6);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.5rem;transition:all .2s}.bar-container.active{border-color:rgba(46,204,113,.6);background:rgba(46,204,113,.1);box-shadow:0 0 15px rgba(46,204,113,.2)}.bar-header{text-align:center;font-size:.7rem;color:#666;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px}.beat-boxes{display:grid;grid-gap:.3rem;gap:.3rem}.beat-box{position:relative;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.4rem;transition:all .2s}.beat-box.downbeat{border-color:rgba(52,152,219,.3);background:rgba(52,152,219,.1)}.beat-box.current{border-color:rgba(46,204,113,.8);background:rgba(46,204,113,.2);box-shadow:0 0 10px rgba(46,204,113,.3)}.beat-number{position:absolute;top:2px;left:4px;font-size:.6rem;color:#555}.chord-input{width:100%;background:transparent;border:none;color:#fff;font-size:1rem;font-weight:700;text-align:center;padding:.3rem;outline:none}.chord-input::placeholder{color:#444}.chord-input:focus{background:rgba(255,255,255,.05);border-radius:4px}.chord-input:disabled{color:#888}.current-chord-display{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,rgba(46,204,113,.2),rgba(52,152,219,.2));border-top:1px solid rgba(255,255,255,.1)}.current-label{color:#888;font-size:.8rem}.current-chord{font-size:2rem;font-weight:700;color:#fff;min-width:80px;text-align:center}.current-position{color:#666;font-size:.8rem}.chord-reference{padding:.75rem 1.5rem;border-top:1px solid rgba(255,255,255,.05)}.chord-reference summary{color:#666;font-size:.8rem;cursor:pointer;padding:.5rem 0}.chord-reference summary:hover{color:#888}.chord-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem;padding-top:.75rem}.chord-category h4{color:#3498db;font-size:.75rem;margin:0 0 .25rem}.chord-list{color:#888;font-size:.7rem;line-height:1.4}@media (max-width:768px){.backing-track-mini{bottom:10px;right:10px;left:10px;min-width:auto;padding:.6rem .8rem}.mini-chord{font-size:1.3rem}.mini-play-btn{width:36px;height:36px}.mini-close-btn,.mini-expand-btn{width:28px;height:28px;font-size:.8rem}.floating-buttons{bottom:10px;right:10px;left:10px;flex-direction:row;justify-content:center;gap:.4rem}.backing-track-toggle,.compare-float-btn,.effects-float-btn,.tuner-float-btn{padding:.5rem .75rem;font-size:.7rem}.backing-track-modal{max-height:95vh;border-radius:12px}.backing-track-controls{gap:.75rem;padding:.75rem 1rem}.backing-track-presets{padding:.5rem 1rem}.chord-grid{grid-template-columns:repeat(2,1fr)!important}.current-chord{font-size:1.5rem}}.chord-player-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.chord-player-modal{background:linear-gradient(145deg,#1a1a2e,#16162a);border:1px solid rgba(255,255,255,.08);border-radius:20px;width:100%;max-width:800px;max-height:92vh;overflow-y:auto;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 40px rgba(52,152,219,.08)}.chord-player-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.chord-player-header h1,.chord-player-header h2{margin:0;font-size:1.4rem;font-weight:700;color:#fff;letter-spacing:-.02em}.chord-player-header .close-btn{width:36px;height:36px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#888;border-radius:10px;cursor:pointer;font-size:1rem;transition:all .2s}.chord-player-header .close-btn:hover{background:rgba(231,76,60,.2);border-color:rgba(231,76,60,.4);color:#e74c3c}.chord-player-topbar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.5rem;gap:1rem;border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap}.style-tabs{display:flex;gap:.3rem;background:rgba(0,0,0,.3);border-radius:10px;padding:.25rem}.style-tab{padding:.45rem 1rem;border:none;background:transparent;color:#888;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:500;transition:all .2s;white-space:nowrap}.style-tab:hover:not(:disabled){color:#ccc;background:rgba(255,255,255,.05)}.style-tab.active{background:rgba(52,152,219,.25);color:#5dade2}.style-tab:disabled{opacity:.4;cursor:not-allowed}.topbar-controls{gap:1rem}.topbar-controls,.topbar-group{display:flex;align-items:center}.topbar-group{gap:.4rem}.topbar-group label{font-size:.72rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.cp-select{background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.12);color:#fff;padding:.35rem .5rem;border-radius:6px;font-size:.85rem;cursor:pointer}.bpm-control{display:flex;align-items:center;gap:.3rem;background:rgba(0,0,0,.3);border-radius:8px;padding:.2rem}.bpm-control button{width:26px;height:26px;border:none;background:rgba(52,152,219,.2);color:#5dade2;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .15s}.bpm-control button:hover:not(:disabled){background:rgba(52,152,219,.4)}.bpm-control button:disabled{opacity:.35;cursor:not-allowed}.bpm-control span{min-width:34px;text-align:center;font-weight:600;color:#fff;font-size:.95rem}.cp-icon-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.3);border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s;display:flex;align-items:center;justify-content:center;opacity:.5}.cp-icon-btn.active{opacity:1;background:rgba(52,152,219,.2);border-color:rgba(52,152,219,.4)}.chord-player-actions{display:flex;gap:.5rem;padding:.8rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06)}.cp-action-btn{padding:.45rem 1rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#aaa;border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .2s}.cp-action-btn:hover:not(:disabled){background:rgba(255,255,255,.08);color:#fff}.cp-action-btn:disabled{opacity:.35;cursor:not-allowed}.cp-action-btn.generate{background:rgba(52,152,219,.15);border-color:rgba(52,152,219,.3);color:#5dade2}.cp-action-btn.generate:hover:not(:disabled){background:rgba(52,152,219,.25)}.cp-action-btn.clear{color:#e74c3c;border-color:rgba(231,76,60,.2)}.cp-action-btn.clear:hover:not(:disabled){background:rgba(231,76,60,.15)}.chord-sections{padding:.8rem 1.5rem .5rem;display:flex;flex-direction:column;gap:1rem}.chord-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:.8rem}.section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.section-label-input{background:transparent;border:1px solid transparent;color:#888;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:.2rem .4rem;border-radius:4px;outline:none;flex:1 1;max-width:180px}.section-label-input:focus,.section-label-input:hover{border-color:rgba(255,255,255,.15);color:#bbb}.section-remove{width:22px;height:22px;border:none;background:rgba(231,76,60,.12);color:#e74c3c;border-radius:50%;cursor:pointer;font-size:.6rem;display:flex;align-items:center;justify-content:center;opacity:.5;transition:all .15s}.section-remove:hover{opacity:1;background:rgba(231,76,60,.3)}.chord-timeline{display:flex;gap:.5rem;flex-wrap:wrap;align-items:stretch}.chord-slot{position:relative;min-width:80px;min-height:70px;background:rgba(255,255,255,.03);border:2px solid rgba(255,255,255,.08);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .25s;flex:1 1;max-width:160px;padding:.6rem .4rem}.chord-slot:hover{border-color:rgba(52,152,219,.4);background:rgba(52,152,219,.06)}.chord-slot.playing{border-color:rgba(46,204,113,.7);background:rgba(46,204,113,.12);box-shadow:0 0 20px rgba(46,204,113,.15)}.chord-slot.editing{border-color:rgba(52,152,219,.6);background:rgba(52,152,219,.1);box-shadow:0 0 12px rgba(52,152,219,.15)}.chord-slot-name{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.2}.chord-slot-name:only-child{color:#555}.chord-remove{position:absolute;top:3px;right:3px;width:18px;height:18px;border:none;background:rgba(231,76,60,.15);color:#e74c3c;border-radius:50%;cursor:pointer;font-size:.55rem;transition:all .15s;display:flex;align-items:center;justify-content:center;opacity:0}.chord-slot:hover .chord-remove{opacity:1}.chord-remove:hover{background:rgba(231,76,60,.4)}.chord-add-btn{min-width:44px;min-height:70px;border:2px dashed rgba(255,255,255,.1);background:transparent;color:#555;border-radius:12px;font-size:1.4rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.chord-add-btn:hover{border-color:rgba(52,152,219,.4);color:#5dade2;background:rgba(52,152,219,.05)}.beat-dots{display:flex;gap:5px;margin-top:6px}.beat-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.15);transition:all .1s}.beat-dot.active{background:#2ecc71;box-shadow:0 0 6px rgba(46,204,113,.6)}.chord-picker-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.chord-picker{background:linear-gradient(145deg,#1e1e36,#1a1a30);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1.2rem;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.6)}.picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid rgba(255,255,255,.08)}.picker-preview{font-size:2rem;font-weight:800;color:#fff;min-width:80px}.picker-mode-toggle{padding:.35rem .8rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#888;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s}.picker-mode-toggle:hover{color:#bbb;background:rgba(255,255,255,.1)}.picker-row{margin-bottom:.8rem}.picker-label{display:block;font-size:.7rem;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem}.picker-options{display:flex;gap:.3rem}.picker-options-wrap{flex-wrap:wrap}.picker-opt{padding:.45rem .7rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#aaa;border-radius:8px;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;min-width:36px;text-align:center}.picker-opt:hover{background:rgba(52,152,219,.12);border-color:rgba(52,152,219,.3);color:#ddd}.picker-opt.active{background:rgba(52,152,219,.25);border-color:rgba(52,152,219,.5);color:#5dade2;font-weight:600}.picker-manual{padding:.5rem 0}.manual-chord-input{width:100%;background:rgba(0,0,0,.3);border:1px solid rgba(52,152,219,.3);color:#fff;font-size:1.2rem;font-weight:600;text-align:center;padding:.6rem;border-radius:10px;outline:none}.manual-chord-input:focus{border-color:rgba(52,152,219,.6);box-shadow:0 0 12px rgba(52,152,219,.15)}.picker-hint{margin:.5rem 0 0;font-size:.72rem;color:#555;text-align:center}.picker-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.06)}.picker-apply{flex:1 1;padding:.55rem;background:rgba(52,152,219,.2);border:1px solid rgba(52,152,219,.4);color:#5dade2;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.picker-apply:hover{background:rgba(52,152,219,.35)}.picker-cancel{flex:1 1;padding:.55rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#888;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .2s}.picker-cancel:hover{background:rgba(255,255,255,.08);color:#bbb}.chord-progress-bar{height:3px;background:rgba(255,255,255,.06);margin:0 1.5rem;border-radius:2px;overflow:hidden}.chord-progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);transition:width .12s linear;border-radius:2px}.chord-now-playing{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.6rem 1.5rem}.now-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.now-chord{font-size:2.2rem;font-weight:800;color:#fff;min-width:70px;text-align:center;animation:chordPulseIn .2s ease-out}@keyframes chordPulseIn{0%{transform:scale(.9);opacity:.7}to{transform:scale(1);opacity:1}}.chord-player-footer{display:flex;align-items:center;justify-content:center;gap:2rem;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.volume-group{display:flex;align-items:center;gap:.5rem}.cp-slider{width:70px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.15);border-radius:2px;outline:none;cursor:pointer}.cp-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#5dade2;border-radius:50%;cursor:pointer;-webkit-transition:transform .1s;transition:transform .1s}.cp-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.cp-slider::-moz-range-thumb{width:14px;height:14px;background:#5dade2;border-radius:50%;cursor:pointer;border:none}.cp-play-btn{padding:.7rem 2rem;border:2px solid rgba(46,204,113,.5);background:rgba(46,204,113,.15);color:#2ecc71;border-radius:30px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.02em}.cp-play-btn:hover{background:rgba(46,204,113,.25);transform:scale(1.03)}.cp-play-btn.playing{border-color:rgba(231,76,60,.5);background:rgba(231,76,60,.15);color:#e74c3c}.cp-play-btn.playing:hover{background:rgba(231,76,60,.25)}.play-shortcut{display:inline-block;margin-left:.5rem;font-size:.65rem;padding:.15rem .4rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;opacity:.6;font-weight:400;vertical-align:middle;letter-spacing:0}.chord-player-presets{padding:1rem 1.5rem 1.5rem}.presets-header{font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.7rem}.presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.5rem;gap:.5rem}.progression-btn{display:flex;flex-direction:column;gap:.2rem;padding:.6rem .8rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.progression-btn:hover:not(:disabled){background:rgba(52,152,219,.1);border-color:rgba(52,152,219,.3)}.progression-btn:disabled{opacity:.35;cursor:not-allowed}.progression-name{font-size:.75rem;color:#888;font-weight:500}.progression-chords{font-size:.82rem;color:#5dade2;font-weight:600}@media (max-width:768px){.chord-player-modal{max-height:95vh;border-radius:14px}.chord-player-topbar{flex-direction:column;align-items:stretch;gap:.6rem;padding:.6rem 1rem}.style-tabs{justify-content:center;flex-wrap:wrap}.style-tab{padding:.35rem .65rem;font-size:.72rem}.topbar-controls{justify-content:center;flex-wrap:wrap;gap:.7rem}.chord-player-actions{padding:.6rem 1rem;flex-wrap:wrap;justify-content:center}.chord-sections{padding:.6rem .8rem .4rem}.chord-section{padding:.6rem}.chord-slot{min-width:60px;min-height:55px;max-width:120px}.chord-add-btn,.chord-slot-name{font-size:1.1rem}.chord-add-btn{min-width:36px;min-height:55px}.chord-picker{max-width:360px;padding:1rem}.picker-preview{font-size:1.6rem}.picker-opt{padding:.35rem .55rem;font-size:.75rem;min-width:32px}.chord-player-footer{gap:1rem;padding:.8rem 1rem}.cp-play-btn{padding:.6rem 1.5rem;font-size:.9rem}.cp-slider{width:50px}.now-chord{font-size:1.6rem}.presets-grid{grid-template-columns:1fr}}.instrument-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.instrument-modal{background:linear-gradient(135deg,rgba(30,30,40,.97),rgba(20,20,30,.97));border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2.5rem;max-width:960px;width:92%;max-height:85vh;overflow-y:auto;box-shadow:0 25px 60px rgba(0,0,0,.5);animation:slideUp .35s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.instrument-modal-header{text-align:center;margin-bottom:2rem;position:relative}.instrument-modal-header h2{font-size:1.6rem;font-weight:700;color:#fff;margin:0 0 .5rem}.instrument-modal-header p{color:rgba(255,255,255,.5);font-size:.95rem;margin:0}.instrument-close-btn{position:absolute;top:-.5rem;right:-.5rem;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:rgba(255,255,255,.6);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.instrument-close-btn:hover{background:rgba(231,76,60,.2);border-color:rgba(231,76,60,.5);color:#e74c3c}.instrument-columns{display:flex;gap:1rem;justify-content:center}.instrument-col-card{flex:1 1;max-width:180px;display:flex;flex-direction:column;overflow:hidden;border-radius:14px;border:2px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);cursor:pointer;transition:all .25s ease;color:#fff;font-family:inherit;font-size:inherit;padding:0}.instrument-col-card:hover{border-color:rgba(255,255,255,.25);transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.4)}.instrument-col-card.selected{border-color:#3498db;box-shadow:0 0 24px rgba(52,152,219,.3)}.instrument-col-image{width:100%;height:200px;background-size:cover;background-position:50%;background-repeat:no-repeat}.instrument-col-info{padding:.75rem .6rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;background:rgba(0,0,0,.3)}.instrument-col-name{font-weight:600;font-size:.85rem;text-align:center;line-height:1.2}.instrument-col-tuning{font-size:.7rem;color:rgba(255,255,255,.4);font-family:SF Mono,Fira Code,monospace;letter-spacing:.05em}.instrument-switch-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:rgba(255,255,255,.7);cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:.85rem;white-space:nowrap}.instrument-switch-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}.instrument-switch-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){.instrument-modal{padding:1.5rem;max-width:95%;border-radius:16px}.instrument-modal-header h2{font-size:1.3rem}.instrument-columns{flex-wrap:wrap;gap:.75rem}.instrument-col-card{max-width:calc(33.33% - .5rem);min-width:100px}.instrument-col-image{height:140px}.instrument-col-name{font-size:.75rem}.instrument-col-tuning{font-size:.6rem}.instrument-switch-label{display:none}.instrument-switch-btn{padding:.4rem .6rem}}.version-footer{position:fixed;bottom:0;left:0;display:flex;padding:.75rem;pointer-events:none;z-index:50}.version-links{pointer-events:auto;display:flex;align-items:center;gap:.5rem;background:rgba(20,20,28,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:.3rem 1rem}.version-link{color:rgba(255,255,255,.35);font-size:.7rem;text-decoration:none;transition:color .2s;letter-spacing:.02em}.version-link:hover{color:rgba(255,255,255,.7)}.version-sep{color:rgba(255,255,255,.15);font-size:.7rem}.version-btn{pointer-events:auto;background:none;border:none;padding:0;color:rgba(255,255,255,.35);font-size:.7rem;font-family:inherit;cursor:pointer;transition:color .2s;letter-spacing:.02em}.version-btn:hover{color:rgba(255,255,255,.7)}.changelog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.changelog-modal{background:linear-gradient(135deg,rgba(30,30,40,.97),rgba(20,20,30,.97));border:1px solid rgba(255,255,255,.1);border-radius:20px;max-width:560px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 25px 60px rgba(0,0,0,.5);animation:slideUp .35s ease}.changelog-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem 1rem;flex-shrink:0}.changelog-header h2{font-size:1.4rem;font-weight:700;color:#fff;margin:0}.changelog-close-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:rgba(255,255,255,.6);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.changelog-close-btn:hover{background:rgba(231,76,60,.2);border-color:rgba(231,76,60,.5);color:#e74c3c}.changelog-body{padding:.5rem 2rem 2rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.changelog-release{padding:1.2rem;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}.changelog-release.latest{background:rgba(52,152,219,.06);border-color:rgba(52,152,219,.2)}.changelog-release-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.changelog-version{font-size:.8rem;font-weight:700;color:#3498db;font-family:SF Mono,Fira Code,monospace}.changelog-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:rgba(52,152,219,.2);color:#3498db;padding:.15rem .5rem;border-radius:10px}.changelog-date{font-size:.75rem;color:rgba(255,255,255,.3);margin-left:auto}.changelog-title{font-size:1rem;font-weight:600;color:#fff;margin:0 0 .6rem}.changelog-list{margin:0;padding:0 0 0 1.2rem;display:flex;flex-direction:column;gap:.3rem}.changelog-list li{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.5}.changelog-release.latest .changelog-list li{color:rgba(255,255,255,.75)}@media (max-width:768px){.changelog-modal{max-width:95%;border-radius:16px}.changelog-header{padding:1.2rem 1.2rem .8rem}.changelog-body{padding:.5rem 1.2rem 1.5rem}.changelog-release{padding:1rem}}.static-page{max-width:860px;margin:0 auto;padding:1.5rem 2rem;min-height:100vh}.static-nav{margin-bottom:2rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#5dade2;text-decoration:none;font-size:.9rem;font-weight:500;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(52,152,219,.3);background:rgba(52,152,219,.1);transition:all .2s}.back-link:hover{background:rgba(52,152,219,.2);border-color:rgba(52,152,219,.5)}.back-link svg{width:18px;height:18px}.static-content{background:rgba(17,17,17,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3)}.static-hero{text-align:center;padding:2.5rem 2rem 2rem;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.3)}.static-logo{width:80px;height:80px;object-fit:contain;margin-bottom:1rem}.static-hero h1{font-size:2rem;font-weight:700;background:linear-gradient(90deg,#3498db,#5dade2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.35rem}.static-tagline{color:#888;font-size:.95rem}.static-section{padding:2rem;border-bottom:1px solid rgba(255,255,255,.05)}.static-section:last-of-type{border-bottom:none}.static-section h2{font-size:1.3rem;font-weight:600;color:#5dade2;margin-bottom:1rem}.static-section p{color:#bbb;font-size:.95rem;line-height:1.7;margin-bottom:.75rem}.static-section p:last-child{margin-bottom:0}.static-section ul{list-style:none;padding:0;margin:.75rem 0 0}.static-section ul li{color:#bbb;font-size:.95rem;line-height:1.7;padding:.3rem 0 .3rem 1.5rem;position:relative}.static-section ul li:before{content:"•";color:#e74c3c;position:absolute;left:.4rem;font-weight:700}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem;margin-top:.5rem}.feature-card{background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;transition:border-color .2s,transform .2s}.feature-card:hover{border-color:rgba(52,152,219,.3);transform:translateY(-2px)}.feature-icon{display:block;margin-bottom:.5rem;color:#2ecc71}.feature-card h3{font-size:1rem;font-weight:600;color:#fff;margin-bottom:.4rem}.feature-card p{color:#999;font-size:.85rem;line-height:1.5;margin:0}.static-footer{padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2);text-align:center}.static-footer p{color:#555;font-size:.8rem;margin-bottom:.75rem}.static-footer-links{display:flex;justify-content:center;gap:1.5rem}.static-footer-links a{color:#5dade2;text-decoration:none;font-size:.85rem;transition:color .2s}.static-footer-links a:hover{color:#fff}@media (max-width:768px){.static-page{padding:1rem}.static-hero h1{font-size:1.5rem}.static-section{padding:1.5rem 1.25rem}.feature-grid{grid-template-columns:1fr}.static-footer{padding:1.25rem 1rem}}.drawer-backdrop,.mobile-drawer{display:none}@media (max-width:768px){.panel-buttons{display:flex!important;justify-content:flex-end}.panel-buttons>.panel-btn.text-btn:not(.download-btn),.panel-buttons>.progression-btn,.side-panel-desktop{display:none!important}.legend-item-desktop{display:none}.mobile-drawer{display:block;position:fixed;bottom:0;left:0;right:0;z-index:900;background:rgba(15,15,20,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);border-radius:18px 18px 0 0;transform:translateY(calc(100% - 48px));transition:transform .35s cubic-bezier(.4,0,.2,1);max-height:75vh;box-shadow:0 -8px 40px rgba(0,0,0,.5)}.mobile-drawer.open{transform:translateY(0)}.drawer-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:899;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer-handle{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:100%;padding:.65rem 1rem .5rem;border:none;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.drawer-handle-bar{width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,.25);transition:background .2s}.drawer-handle:active .drawer-handle-bar{background:rgba(255,255,255,.5)}.drawer-handle-label{font-size:.7rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:1px;font-weight:600}.drawer-content{padding:0 1rem 1.5rem;overflow-y:auto;max-height:calc(75vh - 48px);-webkit-overflow-scrolling:touch}.drawer-content .key-row{margin:.5rem 0;padding:.6rem}.drawer-content .key-btn{width:44px;height:40px;font-size:.85rem}.drawer-content .metronome{margin-top:.5rem}.drawer-content .legend{margin:.5rem 0 0;gap:.5rem}.drawer-content .scale-notes-inline{justify-content:center;padding:.25rem 0}.page-title{margin-bottom:.5rem;padding:.6rem .75rem}.header-content{flex-direction:row!important;gap:.6rem!important;align-items:center}.brand-logo{width:32px!important;height:32px!important}.brand-name{font-size:1rem!important}.brand-sub{font-size:.55rem!important}.header-title{display:none}.instrument-switch-btn{margin-left:auto}.fretboard-container{padding:.5rem!important;border-radius:10px}.scale-header{flex-wrap:nowrap!important;gap:.4rem!important;padding-top:0!important;margin-bottom:.35rem;align-items:center}.header-left{order:0!important;width:auto!important;flex-wrap:nowrap!important;gap:.35rem!important}.header-center{display:none!important}.panel-buttons{position:static!important;gap:.3rem!important}.panel-btn{width:auto!important;height:auto!important;padding:.3rem .5rem!important;border-radius:6px!important;font-size:.65rem!important}.scale-select-prominent{min-width:120px!important;padding:.45rem 1.8rem .45rem .6rem!important;font-size:.8rem!important;border-radius:8px!important}.display-buttons{gap:.15rem}.display-btn{padding:.35rem .45rem!important;font-size:.6rem!important;min-height:auto!important}.pattern-selector{padding:.4rem .5rem;margin-bottom:.35rem;gap:.5rem;flex-wrap:wrap}.pattern-btn{padding:.35rem .6rem;font-size:.7rem}.position-btn{width:28px;height:28px;font-size:.7rem}.start-fret-selector{flex:1 1 100%;padding-left:0;padding-top:.35rem;margin-top:.1rem;border-left:none;border-top:1px solid rgba(255,255,255,.08)}.start-fret-selector label{font-size:.7rem!important}.crop-slider{flex:1 1;min-width:0}.crop-slider-track{flex:1 1;width:auto;min-width:120px;height:32px}.crop-slider-input{height:32px}.crop-slider-value{font-size:.75rem;min-width:1.1rem}.crop-slider-input::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px}.crop-slider-input::-moz-range-thumb{width:18px;height:18px}.fretboard-wrapper{margin:0!important;padding:0!important}.fretboard-svg{min-width:600px!important;border-radius:8px}.container{padding-bottom:100px!important}.side-panel{max-height:160px}.version-footer{bottom:0;left:0;right:0;justify-content:center;padding:.4rem}.floating-buttons{bottom:40px}}.fx-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0d0d0f;z-index:2000;display:flex;justify-content:center;overflow-y:auto}.fx-modal{background:#141418;width:100%;min-height:100vh}.fx-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 2rem;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);border-bottom:1px solid rgba(255,255,255,.06)}.fx-header-left{display:flex;align-items:baseline;gap:.75rem}.fx-header h1,.fx-header h2{font-size:1.4rem;font-weight:700;color:#f0f0f0;margin:0;letter-spacing:-.02em}.fx-header-sub{font-size:.7rem;color:#555;text-transform:uppercase;letter-spacing:.1em}.fx-error{margin:1rem 2rem;padding:.75rem 1rem;background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.25);border-radius:8px;color:#e74c3c;font-size:.85rem}.fx-error-hint{color:#666;font-size:.75rem;margin-top:.3rem}.fx-io-bar{display:flex;align-items:stretch;justify-content:center;gap:1rem;padding:1rem 2rem;background:rgba(255,255,255,.015);border-bottom:1px solid rgba(255,255,255,.05)}.fx-io-section{flex:0 1 340px;min-width:0;display:flex;flex-direction:column;gap:.4rem}.fx-io-device{display:flex;align-items:center;gap:.5rem}.fx-io-device label{font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:.08em;min-width:42px}.fx-device-select{flex:1 1;min-width:0;text-overflow:ellipsis;padding:.3rem .5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ccc;font-size:.75rem;outline:none}.fx-rate-select{flex:0 0 auto;width:88px}.fx-device-select:focus{border-color:rgba(155,89,182,.5)}.fx-meter-group{display:flex;align-items:center;gap:.5rem}.fx-meter{flex:1 1;height:6px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden}.fx-meter-fill{height:100%;border-radius:3px;transition:width .06s linear}.fx-mini-slider{width:70px;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.08);border-radius:2px;outline:none}.fx-mini-slider::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;background:#9b59b6;border-radius:50%;cursor:pointer}.fx-meter-label{font-size:.6rem;color:#555;min-width:30px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fx-power-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.8rem 1.6rem;border:2px solid rgba(46,204,113,.3);background:transparent;color:#2ecc71;border-radius:12px;font-size:.65rem;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:all .2s;white-space:nowrap;align-self:center}.fx-power-icon{width:22px;height:22px;flex-shrink:0}.fx-power-btn:hover{background:rgba(46,204,113,.08);border-color:rgba(46,204,113,.5);transform:scale(1.04)}.fx-power-btn.active{border-color:rgba(46,204,113,.6);background:rgba(46,204,113,.08);animation:fx-pulse 2.5s ease-in-out infinite}.fx-power-btn.muted{border-color:rgba(231,76,60,.35);color:#e8806f;min-width:108px}.fx-power-btn.muted:hover{background:rgba(231,76,60,.08);border-color:rgba(231,76,60,.55)}.fx-power-btn.active{min-width:108px}.fx-io-center{display:flex;gap:.6rem}.fx-tuner-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-width:96px;padding:.8rem 1.2rem;border:2px solid rgba(255,255,255,.12);background:transparent;color:#999;border-radius:12px;font-size:.65rem;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:all .2s}.fx-tuner-btn:hover{color:#ddd;border-color:rgba(255,255,255,.25)}.fx-tuner-btn.active{color:#5dade2;border-color:rgba(93,173,226,.6);background:rgba(93,173,226,.08)}.fx-tuner{display:flex;align-items:center;justify-content:center;gap:2rem;padding:1rem 2rem;background:rgba(93,173,226,.04);border-bottom:1px solid rgba(255,255,255,.05);--tuner-color:#5dade2}.fx-tuner.in-tune{--tuner-color:#2ecc71}.fx-tuner-note{min-width:72px;text-align:center;font-size:2.6rem;font-weight:800;line-height:1;color:var(--tuner-color);transition:color .15s}.fx-tuner-note sub{font-size:.9rem;font-weight:600;opacity:.6;margin-left:2px}.fx-tuner-meter{flex:0 1 420px}.fx-tuner-scale{position:relative;height:28px;border-radius:6px;background:linear-gradient(90deg,rgba(231,76,60,.15),rgba(46,204,113,.18) 45%,rgba(46,204,113,.18) 55%,rgba(231,76,60,.15))}.fx-tuner-scale span{position:absolute;top:6px;bottom:6px;width:1px;background:rgba(255,255,255,.2)}.fx-tuner-scale span.center{top:2px;bottom:2px;width:2px;margin-left:-1px;background:rgba(46,204,113,.7)}.fx-tuner-needle{position:absolute;top:-3px;bottom:-3px;width:4px;margin-left:-2px;border-radius:2px;background:var(--tuner-color);box-shadow:0 0 10px var(--tuner-color);transition:left .25s ease-out,background .2s}.fx-tuner-labels{display:flex;justify-content:space-between;margin-top:.3rem;font-size:.6rem;color:#555}.fx-tuner-info{display:flex;flex-direction:column;gap:.15rem;min-width:150px}.fx-tuner-status{font-size:.85rem;font-weight:700;color:var(--tuner-color)}.fx-tuner-detail{font-size:.65rem;color:#666}@keyframes fx-pulse{0%,to{box-shadow:0 0 15px rgba(46,204,113,.15)}50%{box-shadow:0 0 30px rgba(46,204,113,.3)}}.fx-section-title{display:flex;align-items:center;justify-content:space-between;padding:.7rem 2rem;background:rgba(255,255,255,.02);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.03)}.fx-section-title span{font-size:.7rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.1em}.fx-section-actions{display:flex;gap:.5rem}.fx-add-btn{padding:.3rem .8rem;border:1px solid rgba(155,89,182,.3);background:rgba(155,89,182,.08);color:#b388d9;border-radius:6px;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s}.fx-add-btn:hover{background:rgba(155,89,182,.15);border-color:rgba(155,89,182,.5)}.fx-reset-btn{padding:.3rem .8rem;border:1px solid rgba(255,255,255,.1);background:transparent;color:#777;border-radius:6px;font-size:.7rem;cursor:pointer;transition:all .15s}.fx-reset-btn:hover{color:#e74c3c;border-color:rgba(231,76,60,.4)}.fx-section-toggle{padding:.25rem .6rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#666;border-radius:4px;font-size:.6rem;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:all .15s}.fx-section-toggle.on{border-color:rgba(46,204,113,.4);color:#2ecc71;background:rgba(46,204,113,.08)}.fx-add-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:.75rem;gap:.75rem;padding:.6rem 2rem .8rem}.fx-add-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:1.1rem .6rem .95rem;border:1px solid color-mix(in srgb,var(--pedal-color) 30%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--pedal-color) 10%,transparent),rgba(255,255,255,.02));color:#ddd;border-radius:12px;font-family:inherit;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.fx-add-option:hover{transform:translateY(-2px);border-color:var(--pedal-color);background:linear-gradient(180deg,color-mix(in srgb,var(--pedal-color) 20%,transparent),rgba(255,255,255,.03))}.fx-add-option-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:color-mix(in srgb,var(--pedal-color) 16%,#111);color:var(--pedal-color);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pedal-color) 40%,transparent)}.fx-add-option-label{font-size:.85rem;font-weight:700}.fx-add-option-tag{font-size:.6rem;font-weight:600;color:#8f9ab0;letter-spacing:.02em}@media (max-width:768px){.fx-add-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.fx-add-option{padding:.8rem .3rem .7rem;gap:.4rem}.fx-add-option-icon{width:46px;height:46px}.fx-add-option-icon svg{width:24px;height:24px}.fx-add-option-label{font-size:.75rem}}.fx-sync-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 .6rem}.fx-sync-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#aaa;font-family:inherit;font-size:.7rem;font-weight:700;cursor:pointer}.fx-sync-dot{width:7px;height:7px;border-radius:50%;background:#444}.fx-sync-toggle.active{color:#fff;border-color:var(--pedal-color,#2ecc71)}.fx-sync-toggle.active .fx-sync-dot{background:var(--pedal-color,#2ecc71);box-shadow:0 0 6px var(--pedal-color,#2ecc71)}.fx-sync-info{font-size:.65rem;color:#8a8a96}.fx-skin-classic .fx-sync-info{color:rgba(0,0,0,.6);font-weight:600}.fx-knob-synced{justify-content:flex-start}.fx-sync-division{min-height:44px;max-width:110px;padding:.3rem .4rem;background:rgba(0,0,0,.45);border:1px solid var(--pedal-color,#666);border-radius:8px;color:#fff;font-family:inherit;font-size:.8rem;font-weight:700;text-align:center;cursor:pointer}.metro-strip{display:flex;align-items:center;gap:.6rem;max-width:1500px;margin:0 auto;padding:.3rem 1.5rem;border-bottom:1px solid rgba(120,170,255,.14);font-size:.72rem;color:#aab4c8}.fx-modal>.metro-strip{padding:.4rem 2rem;margin-bottom:.5rem;max-width:none}.metro-play{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;background:rgba(46,204,113,.12);border:1px solid rgba(46,204,113,.45);border-radius:50%;color:#2ecc71;cursor:pointer}.metro-play.playing{background:rgba(231,76,60,.15);border-color:rgba(231,76,60,.55);color:#e57373}.metro-dots{display:flex;gap:4px}.metro-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.14);transition:background .05s}.metro-dot.accent{box-shadow:0 0 0 1px rgba(241,196,15,.5)}.metro-dot.on{background:#2ecc71}.metro-dot.accent.on{background:#f1c40f}.metro-bpm{display:flex;align-items:center;gap:2px}.metro-bpm button{width:22px;height:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#ccc;font-size:.85rem;line-height:1;cursor:pointer}.metro-bpm button:disabled{opacity:.4;cursor:default}.metro-bpm input{width:42px;height:22px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#fff;font-family:inherit;font-size:.8rem;font-weight:700;text-align:center;-moz-appearance:textfield}.metro-bpm input::-webkit-inner-spin-button,.metro-bpm input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.metro-unit{margin-left:3px;font-size:.6rem;font-weight:700;letter-spacing:.05em;color:#7d879b}.metro-slider{flex:0 1 160px;min-width:60px;accent-color:#2ecc71;height:4px}.metro-sig,.metro-tap{height:22px;padding:0 .5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#ccc;font-family:inherit;font-size:.68rem;font-weight:700;cursor:pointer}.metro-tap:active{background:rgba(46,204,113,.2)}.metro-sig{padding:0 .25rem}@media (max-width:768px){.metro-strip{padding:.3rem .75rem;gap:.45rem}.metro-slider{display:none}}@media (pointer:coarse){.metro-bpm button,.metro-bpm input,.metro-sig,.metro-tap{height:28px}.metro-bpm button{width:28px}.metro-play{width:30px;height:30px}}.fx-rate-icon{flex-shrink:0;color:#666}.fx-home-btn,.fx-pedalboard{display:flex;align-items:center;justify-content:center}.fx-pedalboard{flex-wrap:wrap;column-gap:36px;row-gap:44px;margin:1.25rem 2rem 1.5rem;padding:2rem 3rem;background:rgba(255,255,255,.015);border:1px solid rgba(255,255,255,.05);border-radius:16px;position:relative}.fx-chain-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.fx-chain-cable{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fx-chain-dot{filter:drop-shadow(0 0 3px currentColor)}.fx-pedalboard>.fx-block,.fx-pedalboard>.fx-block-add,.fx-pedalboard>.fx-chain-endpoint{position:relative;z-index:1}.fx-empty{width:100%;text-align:center;color:#555;font-size:.8rem;padding:2rem}.fx-chain-endpoint{display:flex;align-items:center;flex-shrink:0}.fx-chain-jack{padding:.35rem .6rem;border:2px solid rgba(46,204,113,.4);background:rgba(46,204,113,.06);color:#2ecc71;border-radius:6px;font-size:.6rem;font-weight:700;letter-spacing:.1em;white-space:nowrap}.fx-chain-jack.out{border-color:rgba(46,204,113,.4)}.fx-pedal{flex:0 0 auto;width:200px;background:linear-gradient(145deg,color-mix(in srgb,var(--pedal-color) 8%,#181820),color-mix(in srgb,var(--pedal-color) 4%,#141418));border:1px solid color-mix(in srgb,var(--pedal-color) 20%,transparent);border-radius:10px;padding:.65rem .7rem;transition:all .2s;cursor:default;position:relative}.fx-pedal.on{border-color:color-mix(in srgb,var(--pedal-color) 40%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--pedal-color) 10%,transparent)}.fx-pedal.off{opacity:.45;filter:saturate(.3)}.fx-pedal.off:hover{opacity:.6}.fx-pedal.dragging{opacity:.4;transform:scale(.95)}.fx-pedal.drag-over{border-color:#9b59b6!important;box-shadow:0 0 15px rgba(155,89,182,.2)!important}.fx-pedal-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fx-pedal-top:active{cursor:-webkit-grabbing;cursor:grabbing}.fx-pedal-drag{cursor:-webkit-grab;cursor:grab;color:#444;font-size:.7rem;letter-spacing:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.1rem;transition:color .15s}.fx-pedal-drag:hover{color:#888}.fx-pedal-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.fx-pedal-top h3{flex:1 1;display:flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;color:#ccc;margin:0;white-space:nowrap;letter-spacing:.03em}.fx-pedal.on .fx-pedal-top h3{color:var(--pedal-color)}.fx-pedal-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#444;font-size:.65rem;cursor:pointer;border-radius:4px;transition:all .15s}.fx-pedal-remove:hover{color:#e74c3c;background:rgba(231,76,60,.1)}.fx-pedal-switch{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.1);background:rgba(0,0,0,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.fx-pedal-switch:hover{border-color:rgba(255,255,255,.25);transform:scale(1.1)}.fx-led{width:8px;height:8px;border-radius:50%;background:#2a2a2a;transition:all .15s}.fx-pedal.on .fx-led{background:var(--pedal-color);box-shadow:0 0 6px var(--pedal-color),0 0 12px color-mix(in srgb,var(--pedal-color) 50%,transparent)}.fx-knob-row{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center;padding:.1rem 0}.fx-knob-group{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:38px;flex:1 1}.fx-knob-group label{font-size:.5rem;color:#666;text-transform:uppercase;letter-spacing:.04em}.fx-rotary{width:36px;height:36px;position:relative;cursor:ns-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fx-rotary-track{inset:0;background:conic-gradient(from 225deg,rgba(255,255,255,.12) 0deg,color-mix(in srgb,var(--knob-color) 40%,transparent) 135deg,color-mix(in srgb,var(--knob-color) 50%,transparent) 200deg,rgba(255,255,255,.06) 270deg,transparent 270deg);-webkit-mask:radial-gradient(circle,transparent 55%,black 56%);mask:radial-gradient(circle,transparent 55%,black 56%)}.fx-rotary-body,.fx-rotary-track{position:absolute;border-radius:50%}.fx-rotary-body{inset:4px;background:radial-gradient(circle at 38% 35%,#555,#222);box-shadow:0 1px 3px rgba(0,0,0,.5),inset 0 1px 1px rgba(255,255,255,.06);transform:rotate(var(--knob-angle,0deg));transition:background .15s}.fx-pedal.on .fx-rotary-body{background:radial-gradient(circle at 38% 35%,color-mix(in srgb,var(--knob-color) 70%,#ddd),color-mix(in srgb,var(--knob-color) 40%,#222))}.fx-rotary-indicator{position:absolute;top:3px;left:50%;transform:translateX(-50%);width:3px;height:8px;background:#eee;border-radius:2px;box-shadow:0 0 3px rgba(255,255,255,.3)}.fx-pedal.on .fx-rotary-indicator{background:#fff;box-shadow:0 0 5px color-mix(in srgb,var(--knob-color) 80%,white)}.fx-knob-val{font-size:.5rem;color:#777;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.fx-model-selector{margin-bottom:.35rem}.fx-model-select{width:100%;padding:.25rem .4rem;background:rgba(255,255,255,.05);border:1px solid color-mix(in srgb,var(--pedal-color) 25%,transparent);border-radius:5px;color:#ccc;font-size:.65rem;outline:none;cursor:pointer}.fx-model-select:focus{border-color:color-mix(in srgb,var(--pedal-color) 50%,transparent)}.fx-model-select optgroup{color:#888;background:#1a1a20}.fx-model-select option{color:#ddd;background:#1a1a20}.fx-model-char{margin-top:.2rem;font-size:.55rem;color:#666}.fx-ir-load,.fx-model-char{display:block;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-ir-load{margin-top:.35rem;padding:.3rem .4rem;border:1px dashed color-mix(in srgb,var(--pedal-color) 40%,transparent);border-radius:5px;font-size:.6rem;color:var(--pedal-color);cursor:pointer;transition:background .15s}.fx-ir-load:hover{background:color-mix(in srgb,var(--pedal-color) 10%,transparent)}.fx-pedal.on .fx-model-select{color:var(--pedal-color);border-color:color-mix(in srgb,var(--pedal-color) 40%,transparent)}.fx-type-btns{display:flex;gap:.25rem;justify-content:center;margin-bottom:.35rem}.fx-type-btn{padding:.15rem .45rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#777;border-radius:4px;font-size:.6rem;text-transform:capitalize;cursor:pointer;transition:all .15s}.fx-type-btn:hover{color:#bbb}.fx-type-btn.active,.fx-type-btn:hover{border-color:color-mix(in srgb,var(--pedal-color) 40%,transparent)}.fx-type-btn.active{background:color-mix(in srgb,var(--pedal-color) 15%,transparent);color:var(--pedal-color)}.fx-footer-hint{padding:1rem 2rem 1.5rem;text-align:center;font-size:.7rem;color:#444;border-top:1px solid rgba(255,255,255,.03)}.fx-footer-hint strong{color:#777}@media (max-width:768px){.fx-modal{max-height:100vh;overflow-y:auto}.fx-header{padding:.8rem 1rem}.fx-header h1,.fx-header h2{font-size:1.1rem}.fx-header-sub{display:none}.fx-io-bar{flex-direction:column;gap:.6rem;padding:.8rem 1rem}.fx-io-section{flex:none;gap:.3rem}.fx-device-select{font-size:.7rem}.fx-power-btn,.fx-tuner-btn{flex:1 1;flex-direction:row;padding:.6rem 1.2rem;gap:.4rem}.fx-tuner{flex-wrap:wrap;gap:.8rem 1.2rem;padding:.8rem 1rem}.fx-tuner-note{font-size:2rem;min-width:52px}.fx-tuner-meter{flex:1 1 200px}.fx-tuner-info{min-width:0}.fx-power-icon{width:16px;height:16px}.fx-add-picker,.fx-section-title{padding:.5rem 1rem}.fx-pedalboard{margin:.75rem;padding:1.25rem 2rem;border-radius:12px;column-gap:28px;row-gap:36px}.fx-pedal{width:170px;flex:0 0 auto}.fx-rotary{width:30px;height:30px}.fx-rotary-body{inset:3px}.fx-rotary-indicator{height:6px;top:2px;width:2px}.fx-model-select{font-size:.6rem}}.icon{display:inline-block;vertical-align:-.125em;flex-shrink:0}.inline-icon{margin-right:.4em}.label-short{display:none}@media (max-width:768px){.floating-buttons{gap:.35rem}.backing-track-toggle,.compare-float-btn,.effects-float-btn,.tuner-float-btn{flex:1 1;min-width:0;flex-direction:column;justify-content:center;gap:.2rem;min-height:48px;padding:.4rem .25rem;border-radius:14px;font-size:.68rem;white-space:nowrap}.label-long{display:none}.label-short{display:inline}}.scale-select-prominent:focus-visible,.select-input:focus-visible{outline:2px solid #5dade2!important;outline-offset:2px}.fx-rotary:focus-visible{outline:2px solid var(--knob-color,#5dade2);outline-offset:3px;border-radius:50%}.fx-knob-group label,.fx-knob-val{font-size:.6rem}.fx-meter-label,.fx-type-btn{font-size:.65rem}.fx-mini-slider{height:18px;background:transparent;cursor:pointer}.fx-mini-slider::-webkit-slider-runnable-track{height:3px;background:rgba(255,255,255,.08);border-radius:2px}.fx-mini-slider::-moz-range-track{height:3px;background:rgba(255,255,255,.08);border-radius:2px}.fx-mini-slider::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5.5px}.fx-pedal-remove,.fx-pedal-switch,.toggle-scale-btn{position:relative}.fx-pedal-remove:after,.fx-pedal-switch:after,.toggle-scale-btn:after{content:"";position:absolute;inset:-10px}@media (pointer:coarse){.account-btn,.direction-btn,.display-btn,.fx-add-btn,.fx-patch-delete,.fx-patches-btn,.fx-patches-toggle,.fx-reset-btn,.panel-btn,.pattern-btn,.style-tab,.tempo-btn,.time-sig-btn{min-height:36px}.fx-type-btn{min-height:28px;padding-left:.5rem;padding-right:.5rem}.version-btn,.version-link{padding-top:.35rem;padding-bottom:.35rem}}.fx-start-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;font-size:.75rem;color:#c9a0dc;background:rgba(155,89,182,.06);border-bottom:1px solid rgba(255,255,255,.05);text-align:center}.fx-start-hint strong{color:#e8806f}.not-found-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.not-found-link{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.2rem;border-radius:999px;border:1px solid rgba(52,152,219,.35);color:#5dade2;text-decoration:none;font-weight:600;transition:background .2s,border-color .2s}.not-found-link:hover{background:rgba(52,152,219,.12);border-color:rgba(52,152,219,.6)}@media (max-width:768px){.scale-header .header-left{flex:1 1 auto;min-width:0}.scale-header .header-left .scale-select-prominent{flex:1 1 auto;min-width:0!important;width:100%;text-overflow:ellipsis}.scale-header .display-buttons,.scale-header .panel-buttons{flex-shrink:0}.scale-header .display-btn{white-space:nowrap}}.fx-header-actions,.header-actions{display:flex;align-items:center;gap:.5rem}.account-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .9rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:rgba(255,255,255,.75);font-family:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:all .2s ease}.account-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}.account-btn.signed-in{padding:.2rem;border-radius:50%}.account-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center}.account-avatar.initial{background:linear-gradient(135deg,#9b59b6,#6c3483);color:#fff;font-weight:700;font-size:.85rem}.account-menu-wrap{position:relative}.account-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:300;min-width:220px;padding:.4rem;background:#1c1c24;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.5)}.account-menu-head{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .6rem .6rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.3rem}.account-menu-name{color:#f0f0f0;font-size:.85rem;font-weight:600}.account-menu-email{color:#888;font-size:.75rem;overflow:hidden;text-overflow:ellipsis}.account-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .6rem;background:none;border:none;border-radius:6px;color:#ccc;font-family:inherit;font-size:.8rem;text-align:left;cursor:pointer}.account-menu button:hover{background:rgba(255,255,255,.06);color:#fff}.account-menu button.danger{color:#e57373}.account-menu button.danger:hover{background:rgba(231,76,60,.12)}.auth-backdrop{position:fixed;inset:0;z-index:10500;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-dialog{position:relative;width:100%;max-width:400px;padding:2rem 1.75rem 1.5rem;background:#17171f;border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.6);color:#ddd}.auth-dialog h2{margin:0 0 .5rem;font-size:1.3rem;color:#fff}.auth-lead{margin:0 0 1rem;font-size:.9rem;color:#aaa;line-height:1.5}.auth-guest-note{margin:0 0 1rem;padding:.6rem .8rem;font-size:.8rem;line-height:1.45;color:#c9a0dc;background:rgba(155,89,182,.08);border:1px solid rgba(155,89,182,.25);border-radius:8px}.auth-close{position:absolute;top:.75rem;right:.75rem;display:flex;padding:.4rem;background:none;border:none;border-radius:6px;color:#888;cursor:pointer}.auth-close:hover{color:#fff;background:rgba(255,255,255,.06)}.auth-providers{display:flex;flex-direction:column;gap:.6rem}.auth-provider{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:46px;padding:.7rem 1rem;border-radius:10px;border:1px solid transparent;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:filter .15s,opacity .15s}.auth-provider:hover:not(:disabled){filter:brightness(1.08)}.auth-provider:disabled{opacity:.6;cursor:wait}.auth-provider.google{background:#fff;color:#1f1f1f}.auth-provider.facebook{background:#1877f2;color:#fff}.auth-error{margin:.8rem 0 0;font-size:.8rem;color:#e57373}.auth-fine{margin:1.1rem 0 0;font-size:.75rem;color:#777;line-height:1.5;text-align:center}.auth-fine a{color:#b388d9}.auth-callback{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;color:#ccc}.auth-callback h1{margin:0;font-size:1.4rem;color:#fff}.auth-callback p{margin:0;color:#999}.auth-callback a{margin-top:.75rem;color:#b388d9}.fx-patches-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .8rem;border:1px solid rgba(46,204,113,.3);background:rgba(46,204,113,.06);color:#6fd59a;border-radius:6px;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s}.fx-patches-toggle.active,.fx-patches-toggle:hover{background:rgba(46,204,113,.14);border-color:rgba(46,204,113,.55)}.fx-patches{margin:0 2rem 1rem;padding:1rem;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);border-radius:12px}.fx-patches-save{display:flex;flex-wrap:wrap;gap:.5rem}.fx-patches-input{flex:1 1 220px;min-width:0;padding:.55rem .75rem;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#eee;font-family:inherit;font-size:.85rem}.fx-patches-input:focus{outline:none;border-color:rgba(46,204,113,.6)}.fx-patches-btn{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.5rem .9rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#ccc;font-family:inherit;font-size:.8rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-patches-btn.primary{background:#27ae60;border-color:#27ae60;color:#fff;font-weight:600}.fx-patches-btn:hover:not(:disabled){filter:brightness(1.12)}.fx-patches-btn:disabled{opacity:.6;cursor:wait}.fx-patches-btn.pending{border-color:#f39c12;color:#f5c26b;background:rgba(243,156,18,.1)}.fx-patches-btn.done,.fx-patches-btn.done:disabled{opacity:1;border-color:#2ecc71;color:#2ecc71;background:rgba(46,204,113,.12);cursor:default}.fx-patches-btn:disabled:not(.done){cursor:not-allowed}.fx-patches-list li.just-saved{animation:fx-patch-saved 1.4s ease-out}@keyframes fx-patch-saved{0%,30%{background:rgba(46,204,113,.3);border-color:#2ecc71;box-shadow:0 0 0 3px rgba(46,204,113,.25)}}@media (prefers-reduced-motion:reduce){.fx-patches-list li.just-saved{animation:none}}.fx-patches-status{margin:.7rem 0 0;font-size:.75rem;color:#888;line-height:1.5}.fx-patches-link{padding:0;background:none;border:none;color:#b388d9;font:inherit;text-decoration:underline;cursor:pointer}.fx-patches-error{margin:.5rem 0 0;font-size:.8rem;color:#e57373}.fx-patches-empty{margin:.9rem 0 .2rem;font-size:.8rem;color:#666}.fx-patches-list{list-style:none;margin:.8rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.5rem;gap:.5rem}.fx-patches-list li{display:flex;align-items:stretch;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.fx-patches-list li.active{border-color:rgba(46,204,113,.6);background:rgba(46,204,113,.07)}.fx-patch-load{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .75rem;background:none;border:none;color:#ddd;font-family:inherit;text-align:left;cursor:pointer}.fx-patch-load:hover{background:rgba(255,255,255,.04)}.fx-patch-name{max-width:100%;font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-patch-date{font-size:.7rem;color:#777}.fx-patch-delete{display:flex;align-items:center;padding:0 .7rem;background:none;border:none;border-left:1px solid rgba(255,255,255,.06);color:#777;cursor:pointer}.fx-patch-delete:hover{color:#e74c3c;background:rgba(231,76,60,.1)}.fx-patches-fine{margin:.8rem 0 0;font-size:.7rem;color:#555}@media (max-width:768px){.header-actions{margin-left:auto}.account-btn-label{display:none}.account-btn{padding:.4rem .6rem}.account-btn.signed-in{padding:.15rem}.fx-patches{margin:0 1rem 1rem}}body{padding-bottom:var(--fx-drawer-h,0)}.floating-buttons,.mobile-drawer,.version-footer{translate:0 calc(-1 * var(--fx-drawer-h, 0px));transition:translate .2s ease}.fx-drawer{position:fixed;left:0;right:0;bottom:0;z-index:950;background:linear-gradient(180deg,rgba(22,40,78,.72),rgba(10,20,44,.82));backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-top:1px solid rgba(120,170,255,.28);box-shadow:0 -10px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(160,200,255,.12);padding-bottom:env(safe-area-inset-bottom);animation:fx-drawer-in .25s cubic-bezier(.4,0,.2,1)}@keyframes fx-drawer-in{0%{transform:translateY(100%)}}.fx-drawer-bar{display:flex;align-items:center;gap:.75rem;max-width:1500px;margin:0 auto;padding:.7rem 1.5rem .4rem}.fx-drawer-title{display:flex;gap:.4rem;font-size:.8rem;font-weight:700;color:#c9a0dc;letter-spacing:.02em}.efx-mark,.fx-drawer-title{align-items:center;white-space:nowrap}.efx-mark{display:inline-flex;gap:.35em;font-weight:800;letter-spacing:-.01em;line-height:1}.efx-mark-name{color:#f2f2f7}.efx-mark-pro{background:linear-gradient(135deg,#ff8a3d,#e74c3c);-webkit-background-clip:text;background-clip:text;color:transparent}.efx-mark-badge{padding:.18em .4em .14em;font-size:.72em;font-weight:800;letter-spacing:.08em;color:#14141c;background:linear-gradient(135deg,#ff8a3d,#e74c3c);border-radius:4px}.fx-drawer-title .efx-mark{font-size:.95rem}.efx-header{display:flex;align-items:baseline;gap:.6rem;padding:.9rem 2rem .6rem}.efx-header-title{margin:0;font-size:1.5rem}@media (max-width:768px){.efx-header{padding:.8rem 1rem .5rem}.fx-modal>.metro-strip{padding:.4rem 1rem}}.fx-drawer-btn,.fx-drawer-power{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:.35rem .75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#bbb;font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.fx-drawer-btn:hover,.fx-drawer-power:hover{color:#fff;border-color:rgba(255,255,255,.25)}.fx-drawer-btn.active{color:#2ecc71;border-color:rgba(46,204,113,.5)}.fx-drawer-power{color:#e57373;border-color:rgba(231,76,60,.4)}.fx-drawer-power.active{color:#2ecc71;border-color:rgba(46,204,113,.55);background:rgba(46,204,113,.1)}.fx-drawer-power.alerting{animation:fx-muted-pulse .9s ease-in-out 4}.fx-muted-alert{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem .55rem .9rem;font-size:.8rem;color:#fff;background:rgba(60,18,22,.95);border:1px solid rgba(231,76,60,.6);border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 0 4px rgba(231,76,60,.12);animation:fx-muted-in .25s cubic-bezier(.2,.9,.3,1.2),fx-muted-pulse .9s ease-in-out .25s 3}.fx-muted-alert>svg{color:#ff6b6b;flex-shrink:0}.fx-drawer>.fx-muted-alert{position:absolute;bottom:calc(100% + 12px);left:50%;translate:-50% 0;width:max-content;max-width:calc(100vw - 24px)}.fx-modal>.fx-muted-alert{margin:.75rem auto 0;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 2rem)}.fx-muted-alert-unmute{padding:.35rem .8rem;font:inherit;font-weight:600;color:#fff;background:#e74c3c;border:none;border-radius:7px;cursor:pointer}.fx-muted-alert-unmute:hover{background:#ff5e4d}.fx-muted-alert-close{padding:0 .35rem;font-size:1.1rem;line-height:1;color:#bbb;background:none;border:none;cursor:pointer}.fx-muted-alert-close:hover{color:#fff}@keyframes fx-muted-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes fx-muted-pulse{50%{box-shadow:0 8px 30px rgba(0,0,0,.5),0 0 0 7px rgba(231,76,60,.35)}}@media (prefers-reduced-motion:reduce){.fx-drawer-power.alerting,.fx-muted-alert{animation:none}}.fx-vmeters{display:flex;gap:6px;align-items:flex-end}.fx-vmeter,.fx-vmeter-bar{display:flex;flex-direction:column;align-items:center;gap:2px}.fx-vmeter-clip{width:10px;height:3px;border-radius:1px;background:#3a1414}.fx-vmeter-clip.on{background:#ff3b3b;box-shadow:0 0 6px #ff3b3b}.fx-vmeter-track{--vu-h:30px;position:relative;width:10px;height:var(--vu-h);border-radius:2px;background:#0b0b0e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden}.fx-vmeter-fill{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,#2ecc71 0,#2ecc71 60%,#f1c40f 80%,#e74c3c 100%) bottom /100% var(--vu-h) no-repeat}.fx-vmeter-track:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 2px,#0b0b0e 2px 3px);pointer-events:none}.fx-vmeter-label{font-size:.5rem;font-weight:700;letter-spacing:.05em;color:#777;line-height:1}.fx-drawer-volume{width:90px;flex-shrink:1;min-width:50px}.fx-drawer-actions{display:flex;gap:.5rem;margin-left:auto}.fx-drawer-error{max-width:1500px;margin:0 auto;padding:0 1rem .4rem;font-size:.75rem;color:#e57373}.fx-drawer .fx-tuner{margin:0 auto .4rem;max-width:640px;padding:.5rem .9rem}.fx-drawer-chain{position:relative;display:flex;align-items:center;gap:40px;max-width:1500px;margin:0 auto;padding:.75rem 1.5rem 1.25rem;overflow-x:auto;scrollbar-width:thin}.fx-drawer-chain>.fx-block,.fx-drawer-chain>.fx-block-add,.fx-drawer-chain>.fx-chain-endpoint{position:relative;z-index:1}.fx-drawer-chain>[data-chain-id=in]{margin-left:auto}.fx-drawer-chain>.fx-block-add{margin-right:auto}.fx-block{flex:0 0 auto;position:relative;width:116px;aspect-ratio:1;background:linear-gradient(145deg,color-mix(in srgb,var(--pedal-color) 12%,#1a1a22),color-mix(in srgb,var(--pedal-color) 4%,#141418));border:1px solid color-mix(in srgb,var(--pedal-color) 22%,transparent);border-radius:12px;cursor:-webkit-grab;cursor:grab;transition:border-color .15s,opacity .15s,transform .15s,box-shadow .15s}.fx-block.on{border-color:color-mix(in srgb,var(--pedal-color) 45%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--pedal-color) 10%,transparent)}.fx-block.off{opacity:.5;filter:saturate(.3)}.fx-block:hover{transform:translateY(-2px);border-color:var(--pedal-color)}.fx-block.dragging{opacity:.35}.fx-block.drag-over{border-color:#9b59b6;box-shadow:0 0 12px rgba(155,89,182,.3)}.fx-block-led{position:absolute;top:6px;left:6px;z-index:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.3);cursor:pointer}.fx-block.on .fx-led{background:var(--pedal-color);box-shadow:0 0 6px var(--pedal-color)}.fx-block-main{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.75rem .5rem .5rem;background:none;border:none;border-radius:inherit;color:inherit;font-family:inherit;text-align:center;cursor:pointer}.fx-block-icon{display:flex;color:#888}.fx-block.on .fx-block-icon{color:var(--pedal-color)}.fx-block-name{max-width:100%;font-size:.75rem;font-weight:700;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-block.on .fx-block-name{color:var(--pedal-color)}.fx-block-sub{max-width:100%;font-size:.62rem;line-height:1.25;color:#888;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fx-block-add{flex:0 0 auto;width:48px;height:48px;border-radius:12px;border:1px dashed rgba(155,89,182,.5);background:rgba(155,89,182,.08);color:#b388d9;font-size:1.4rem;cursor:pointer}.fx-block-add:hover{background:rgba(155,89,182,.18)}.fx-settings{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;grid-gap:1rem 1.25rem;gap:1rem 1.25rem;padding:.5rem .25rem .25rem}.fx-settings-label{font-size:.7rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.fx-settings .fx-device-select{width:100%;max-width:none}.fx-settings .fx-settings-rate{width:auto;justify-self:start;min-width:110px}.fx-settings-level{display:grid;grid-template-columns:minmax(40px,1fr) minmax(60px,1.2fr) 3rem;align-items:center;grid-gap:.6rem;gap:.6rem}.fx-settings-level .fx-mini-slider{width:100%}.fx-settings-level .fx-meter-label{text-align:right}.fx-settings-hint{margin:0;font-size:.7rem;color:#666}.fx-settings .fx-settings-note{grid-column:2/-1;margin-top:-.4rem}.fx-popup-backdrop{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fx-fade-in .15s ease}.fx-popup-backdrop.docked{align-items:flex-end;padding-bottom:calc(var(--fx-drawer-h, 0px) + 12px);background:rgba(0,0,0,.2);-webkit-backdrop-filter:none;backdrop-filter:none}@keyframes fx-fade-in{0%{opacity:0}}.fx-popup.fx-pedal{width:min(380px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1rem 1.1rem 1.2rem;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.6);background:linear-gradient(145deg,color-mix(in srgb,var(--pedal-color) 10%,#1a1a22),color-mix(in srgb,var(--pedal-color) 4%,#15151b))}.fx-popup.fx-pedal.off{opacity:1;filter:none}.fx-popup .fx-pedal-top{cursor:default;margin-bottom:.8rem}.fx-popup .fx-pedal-top h3{font-size:.95rem}.fx-popup .fx-model-select{padding:.45rem .55rem;font-size:.8rem}.fx-popup .fx-knob-row{gap:.8rem .6rem;padding-top:.4rem}.fx-popup .fx-knob-group{min-width:64px;flex:0 1 auto;gap:.3rem}.fx-popup .fx-knob-group label{font-size:.68rem}.fx-popup .fx-knob-val{font-size:.72rem;color:#aaa}.fx-popup .fx-rotary{width:56px;height:56px}.fx-popup .fx-rotary-indicator{height:12px;width:4px}.fx-popup .fx-type-btn{font-size:.75rem;padding:.3rem .65rem}.fx-popup-close,.fx-popup-remove{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;background:rgba(255,255,255,.04);color:#888;cursor:pointer}.fx-popup-remove:hover{color:#e74c3c;background:rgba(231,76,60,.12)}.fx-popup-close:hover{color:#fff;background:rgba(255,255,255,.1)}.fx-popup-panel{width:min(640px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.25rem 1.5rem 1.5rem;background:#16161c;border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.6)}.fx-popup-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.fx-popup-head h3{margin:0;font-size:.95rem;color:#eee}.fx-popup-panel.wide{width:min(980px,100%)}@media (min-width:769px){.fx-popup-panel.wide .fx-presets-grid{grid-template-columns:repeat(4,1fr)}}.fx-popup-panel .fx-add-picker,.fx-popup-panel .fx-patches{margin:0;padding:.25rem 0 0}@media (max-width:768px){.fx-drawer-bar{flex-wrap:wrap;padding:.55rem .75rem .3rem;gap:.4rem;flex-wrap:nowrap}.fx-drawer-btn-label,.fx-drawer-title .efx-mark-name,.fx-drawer-volume{display:none}.fx-vmeters{gap:4px}.fx-vmeter-track{--vu-h:24px;width:8px}.fx-vmeter-clip{width:8px}.fx-drawer-actions{gap:.25rem}.fx-drawer-btn{padding:.3rem .5rem}.fx-drawer-chain{gap:24px;padding:.5rem .75rem .9rem}.fx-block{width:96px}.fx-block-sub{-webkit-line-clamp:1}.fx-block-main{padding:1.4rem .4rem .4rem;gap:.2rem}.fx-block-icon svg{width:18px;height:18px}.fx-settings{grid-template-columns:auto minmax(0,1fr);gap:.6rem .9rem}.fx-settings-level{grid-column:2}.fx-settings-hint{grid-column:1/-1}.fx-popup-backdrop,.fx-popup-backdrop.docked{align-items:flex-end;padding:0;background:rgba(0,0,0,.45)}.fx-popup-panel,.fx-popup.fx-pedal{width:100%;border-radius:16px 16px 0 0;max-height:80vh;padding-bottom:calc(1.2rem + env(safe-area-inset-bottom))}}@media (pointer:coarse){.fx-drawer-btn,.fx-drawer-power{min-height:36px}.fx-block-led{width:28px;height:28px;top:4px;left:4px}}.fx-skin-switch{display:inline-flex;padding:2px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:8px}.fx-skin-switch button{padding:.3rem .7rem;border:none;border-radius:6px;background:none;color:#888;font-family:inherit;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s}.fx-skin-switch button:hover{color:#ddd}.fx-skin-switch button.active{background:rgba(155,89,182,.25);color:#e0c3f0}.fx-skin-classic .fx-pedal{--screw:radial-gradient(circle,#e8e8e8 0 1.6px,#8a8a8a 2.2px,#444 3px,transparent 3.5px);display:flex;flex-direction:column;width:190px;padding:.9rem .9rem 1rem;border:1px solid rgba(0,0,0,.6);border-radius:12px;color:#141414;background:var(--screw) 4px 4px /14px 14px no-repeat,var(--screw) calc(100% - 4px) 4px /14px 14px no-repeat,var(--screw) 4px calc(100% - 4px) /14px 14px no-repeat,var(--screw) calc(100% - 4px) calc(100% - 4px) /14px 14px no-repeat,linear-gradient(160deg,color-mix(in srgb,var(--pedal-color) 92%,#fff),color-mix(in srgb,var(--pedal-color) 70%,#000) 95%)}.fx-skin-classic .fx-pedal,.fx-skin-classic .fx-pedal.on{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -3px 6px rgba(0,0,0,.25),0 8px 18px rgba(0,0,0,.55),0 2px 0 rgba(0,0,0,.6)}.fx-skin-classic .fx-pedal.on{border-color:rgba(0,0,0,.6)}.fx-skin-classic .fx-pedal.off{opacity:1;filter:saturate(.75) brightness(.85)}.fx-skin-classic .fx-pedal.off:hover{opacity:1}.fx-skin-classic .fx-pedal-top{order:0;margin:-.3rem 0 .2rem;min-height:18px}.fx-skin-classic .fx-pedal-top .fx-pedal-switch{display:none}.fx-skin-classic .fx-pedal-top h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fx-skin-classic .fx-pedal-top{justify-content:space-between}.fx-skin-classic .fx-pedal-drag,.fx-skin-classic .fx-pedal-remove,.fx-skin-classic .fx-popup-close,.fx-skin-classic .fx-popup-remove{color:rgba(0,0,0,.55);background:none}.fx-skin-classic .fx-popup .fx-pedal-top{margin-bottom:.2rem;justify-content:flex-end;gap:.3rem}.fx-skin-classic .fx-knob-row{gap:.5rem .4rem}.fx-skin-classic .fx-knob-group label{color:#141414;font-weight:800;letter-spacing:.06em}.fx-skin-classic .fx-knob-val{color:rgba(0,0,0,.6);font-weight:600}.fx-skin-classic .fx-rotary-track{background:radial-gradient(circle,#2b2b2b 58%,#111 60%,#3a3a3a 66%,#151515 70%);box-shadow:0 3px 5px rgba(0,0,0,.45)}.fx-skin-classic .fx-pedal.on .fx-rotary-body,.fx-skin-classic .fx-rotary-body{inset:5px;background:radial-gradient(circle at 35% 30%,#5a5a5a,#121212 70%);box-shadow:0 1px 2px rgba(0,0,0,.6),inset 0 1px 1px rgba(255,255,255,.15)}.fx-skin-classic .fx-rotary-indicator{background:#f4f4f4;box-shadow:none}.fx-skin-classic .fx-model-select{background:#0f1a12;color:#8ef0a8;border:2px solid rgba(0,0,0,.6);font-family:ui-monospace,SF Mono,Menlo,monospace;box-shadow:inset 0 2px 4px rgba(0,0,0,.6)}.fx-skin-classic .fx-model-char{color:rgba(0,0,0,.6)}.fx-skin-classic .fx-ir-load{color:#141414;border-color:rgba(0,0,0,.4);background:rgba(255,255,255,.25)}.fx-skin-classic .fx-type-btn{background:#1d1d1d;border:1px solid #000;color:#aaa}.fx-skin-classic .fx-type-btn.active{background:#f4f4f4;color:#111;border-color:#000}.fx-stomp-footer{margin-top:auto;padding-top:.7rem;display:flex;flex-direction:column;align-items:center;gap:.55rem}.fx-stomp-plate{width:100%;padding:.45rem .4rem;text-align:center;background:rgba(0,0,0,.12);border-radius:6px;box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}.fx-stomp-name{display:block;font-size:1rem;font-weight:900;font-style:italic;letter-spacing:.04em;text-transform:uppercase;color:#141414;line-height:1.1}.fx-stomp-model{display:block;margin-top:.15rem;font-size:.6rem;font-weight:700;color:rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-stomp-led{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#7a2a2a,#3a0d0d);box-shadow:0 0 0 2px rgba(0,0,0,.5)}.fx-pedal.on .fx-stomp-led{background:radial-gradient(circle at 35% 35%,#fff 0 10%,#ff4d4d 40%,#c40000);box-shadow:0 0 0 2px rgba(0,0,0,.5),0 0 10px 2px rgba(255,50,50,.7)}.fx-stomp{width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;background:radial-gradient(circle at 40% 35%,#fafafa,#b9b9b9 45%,#6d6d6d 75%,#3c3c3c);box-shadow:0 0 0 4px #2a2a2a,0 0 0 6px #8c8c8c,0 5px 8px 4px rgba(0,0,0,.45);transition:transform .08s}.fx-stomp:hover{filter:brightness(1.08)}.fx-stomp:active{transform:scale(.94) translateY(1px)}.fx-stomp:focus-visible{outline:2px solid #fff;outline-offset:8px}.fx-skin-classic .fx-pedal[data-type=amp],.fx-skin-classic .fx-pedal[data-type=nam]{width:250px;color:#eee;background:var(--screw) 4px 4px /14px 14px no-repeat,var(--screw) calc(100% - 4px) 4px /14px 14px no-repeat,var(--screw) 4px calc(100% - 4px) /14px 14px no-repeat,var(--screw) calc(100% - 4px) calc(100% - 4px) /14px 14px no-repeat,repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 4px),linear-gradient(180deg,#232323,#111);border-color:#000}.fx-skin-classic .fx-pedal[data-type=amp] .fx-knob-row,.fx-skin-classic .fx-pedal[data-type=nam] .fx-knob-row{padding:.55rem .4rem .4rem;border-radius:6px;background:linear-gradient(180deg,#e6d39a,#b9984f);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 2px rgba(0,0,0,.3)}.fx-skin-classic .fx-pedal[data-type=amp] .fx-stomp-plate,.fx-skin-classic .fx-pedal[data-type=nam] .fx-stomp-plate{background:#0b0b0b;box-shadow:inset 0 0 0 1px #3a3a3a}.fx-skin-classic .fx-pedal[data-type=amp] .fx-stomp-name,.fx-skin-classic .fx-pedal[data-type=nam] .fx-stomp-name{color:var(--pedal-color);font-family:Brush Script MT,Segoe Script,cursive;font-size:1.35rem;text-transform:none;font-weight:700}.fx-skin-classic .fx-pedal[data-type=amp] .fx-model-char,.fx-skin-classic .fx-pedal[data-type=amp] .fx-pedal-drag,.fx-skin-classic .fx-pedal[data-type=amp] .fx-pedal-remove,.fx-skin-classic .fx-pedal[data-type=amp] .fx-popup-close,.fx-skin-classic .fx-pedal[data-type=amp] .fx-popup-remove,.fx-skin-classic .fx-pedal[data-type=amp] .fx-stomp-model,.fx-skin-classic .fx-pedal[data-type=nam] .fx-model-char,.fx-skin-classic .fx-pedal[data-type=nam] .fx-pedal-drag,.fx-skin-classic .fx-pedal[data-type=nam] .fx-pedal-remove,.fx-skin-classic .fx-pedal[data-type=nam] .fx-popup-close,.fx-skin-classic .fx-pedal[data-type=nam] .fx-popup-remove,.fx-skin-classic .fx-pedal[data-type=nam] .fx-stomp-model{color:#999}.fx-skin-classic .fx-pedal[data-type=cab]{width:220px;color:#eee;background:linear-gradient(180deg,#1f1f1f,#0e0e0e);border:1px solid #000}.fx-skin-classic .fx-pedal[data-type=cab] .fx-stomp-plate{min-height:92px;display:flex;flex-direction:column;justify-content:flex-end;background:repeating-linear-gradient(45deg,rgba(0,0,0,.35) 0 1px,transparent 1px 4px),repeating-linear-gradient(-45deg,rgba(0,0,0,.35) 0 1px,transparent 1px 4px),linear-gradient(180deg,#4a4334,#2c271d);border:3px solid #0a0a0a}.fx-skin-classic .fx-pedal[data-type=cab] .fx-stomp-name{color:#e8dcc0;font-size:.85rem}.fx-skin-classic .fx-pedal[data-type=cab] .fx-knob-group label,.fx-skin-classic .fx-pedal[data-type=cab] .fx-knob-val,.fx-skin-classic .fx-pedal[data-type=cab] .fx-model-char,.fx-skin-classic .fx-pedal[data-type=cab] .fx-pedal-drag,.fx-skin-classic .fx-pedal[data-type=cab] .fx-pedal-remove,.fx-skin-classic .fx-pedal[data-type=cab] .fx-popup-close,.fx-skin-classic .fx-pedal[data-type=cab] .fx-popup-remove,.fx-skin-classic .fx-pedal[data-type=cab] .fx-stomp-model{color:#aaa}.fx-skin-classic .fx-pedal[data-type=cab] .fx-ir-load{color:#ddd;border-color:#555;background:rgba(255,255,255,.06)}.fx-skin-classic .fx-popup.fx-pedal{width:min(320px,100%);padding:1rem 1.2rem 1.4rem}.fx-skin-classic .fx-popup.fx-pedal[data-type=amp],.fx-skin-classic .fx-popup.fx-pedal[data-type=nam]{width:min(400px,100%)}.fx-skin-classic .fx-popup .fx-stomp{width:56px;height:56px}.fx-skin-classic .fx-popup .fx-stomp-name{font-size:1.25rem}.fx-skin-classic .fx-block{--screw:radial-gradient(circle,#e8e8e8 0 1.2px,#777 1.8px,#333 2.4px,transparent 2.8px);width:104px;aspect-ratio:auto;height:140px;border:1px solid rgba(0,0,0,.6);border-radius:10px;background:var(--screw) 3px 3px /10px 10px no-repeat,var(--screw) calc(100% - 3px) 3px /10px 10px no-repeat,var(--screw) 3px calc(100% - 3px) /10px 10px no-repeat,var(--screw) calc(100% - 3px) calc(100% - 3px) /10px 10px no-repeat,linear-gradient(160deg,color-mix(in srgb,var(--pedal-color) 92%,#fff),color-mix(in srgb,var(--pedal-color) 68%,#000) 95%);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 6px 12px rgba(0,0,0,.5)}.fx-skin-classic .fx-block.on{border-color:rgba(0,0,0,.6)}.fx-skin-classic .fx-block.off{opacity:1;filter:saturate(.75) brightness(.8)}.fx-skin-classic .fx-block:hover{border-color:#000}.fx-skin-classic .fx-block[data-type=amp],.fx-skin-classic .fx-block[data-type=cab],.fx-skin-classic .fx-block[data-type=nam]{width:120px;background:var(--screw) 3px 3px /10px 10px no-repeat,var(--screw) calc(100% - 3px) 3px /10px 10px no-repeat,var(--screw) 3px calc(100% - 3px) /10px 10px no-repeat,var(--screw) calc(100% - 3px) calc(100% - 3px) /10px 10px no-repeat,linear-gradient(180deg,#232323,#101010);border-color:#000}.fx-skin-classic .fx-block-main{justify-content:flex-start;padding:.55rem .4rem 2.6rem;gap:.35rem}.fx-mini-knobs{display:flex;gap:6px;justify-content:center;min-height:20px}.fx-mini-knob{position:relative;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#5a5a5a,#111 70%);box-shadow:0 0 0 2px #1a1a1a,0 2px 3px rgba(0,0,0,.5);transform:rotate(var(--knob-angle,0deg))}.fx-mini-knob:after{content:"";position:absolute;top:2px;left:50%;width:2px;height:6px;margin-left:-1px;border-radius:1px;background:#f4f4f4}.fx-skin-classic .fx-block[data-type=amp] .fx-mini-knobs,.fx-skin-classic .fx-block[data-type=nam] .fx-mini-knobs{padding:4px 6px;border-radius:4px;background:linear-gradient(180deg,#e6d39a,#b9984f)}.fx-skin-classic .fx-block[data-type=cab] .fx-mini-knobs{width:100%;min-height:44px;border:2px solid #0a0a0a;border-radius:4px;background:repeating-linear-gradient(45deg,rgba(0,0,0,.35) 0 1px,transparent 1px 4px),repeating-linear-gradient(-45deg,rgba(0,0,0,.35) 0 1px,transparent 1px 4px),linear-gradient(180deg,#4a4334,#2c271d)}.fx-skin-classic .fx-block[data-type=cab] .fx-mini-knob{display:none}.fx-skin-classic .fx-block-name,.fx-skin-classic .fx-block.on .fx-block-name{color:#141414;font-size:.66rem;font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:0}.fx-skin-classic .fx-block-sub{color:rgba(0,0,0,.6);font-weight:600;-webkit-line-clamp:1}.fx-skin-classic .fx-block[data-type=amp] .fx-block-name,.fx-skin-classic .fx-block[data-type=nam] .fx-block-name{color:var(--pedal-color);font-family:Brush Script MT,Segoe Script,cursive;font-size:.95rem;text-transform:none;font-weight:700}.fx-skin-classic .fx-block[data-type=cab] .fx-block-name{color:#e8dcc0}.fx-skin-classic .fx-block[data-type=amp] .fx-block-sub,.fx-skin-classic .fx-block[data-type=cab] .fx-block-sub,.fx-skin-classic .fx-block[data-type=nam] .fx-block-sub{color:#999}.fx-skin-classic .fx-block-led{top:auto;left:50%;bottom:9px;width:26px;height:26px;margin-left:-13px;border:none;background:radial-gradient(circle at 40% 35%,#fafafa,#b9b9b9 45%,#6d6d6d 75%,#3c3c3c);box-shadow:0 0 0 3px #2a2a2a,0 0 0 4px #8c8c8c,0 3px 5px 2px rgba(0,0,0,.45)}.fx-skin-classic .fx-block-led:active{transform:scale(.92)}.fx-skin-classic .fx-block-led .fx-led,.fx-skin-classic .fx-block.on .fx-block-led .fx-led{position:absolute;top:-13px;left:50%;width:6px;height:6px;margin-left:-3px;background:radial-gradient(circle at 35% 35%,#7a2a2a,#3a0d0d);box-shadow:0 0 0 1.5px rgba(0,0,0,.5)}.fx-skin-classic .fx-block.on .fx-block-led .fx-led{background:radial-gradient(circle at 35% 35%,#fff 0 10%,#ff4d4d 40%,#c40000);box-shadow:0 0 0 1.5px rgba(0,0,0,.5),0 0 7px 2px rgba(255,50,50,.7)}@media (max-width:768px){.fx-skin-classic .fx-block{width:92px;height:128px}.fx-skin-classic .fx-block[data-type=amp],.fx-skin-classic .fx-block[data-type=cab],.fx-skin-classic .fx-block[data-type=nam]{width:104px}.fx-drawer-bar .fx-skin-switch{display:none}}@media (pointer:coarse){.fx-skin-classic .fx-block-led{width:28px;height:28px;margin-left:-14px}}.fx-settings .fx-skin-switch{justify-self:start}.fx-presets{margin-bottom:1rem}.fx-presets-title{margin:0 0 .5rem;font-size:.7rem;font-weight:700;color:#c9a0dc;text-transform:uppercase;letter-spacing:.08em}.fx-presets-title span{margin-left:.5rem;font-weight:500;color:#777;text-transform:none;letter-spacing:0}.fx-presets-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.5rem;gap:.5rem}.fx-preset{width:100%;height:100%;display:flex;flex-direction:column;gap:.15rem;padding:.55rem .7rem;text-align:left;font-family:inherit;background:rgba(155,89,182,.06);border:1px solid rgba(155,89,182,.25);border-radius:8px;color:#ddd;cursor:pointer;transition:all .15s}.fx-preset:hover{background:rgba(155,89,182,.14);border-color:rgba(155,89,182,.5)}.fx-preset.active{background:rgba(155,89,182,.22);border-color:#b388d9}.fx-preset-name{font-size:.8rem;font-weight:700;color:#e0c3f0}.fx-preset-desc{font-size:.65rem;line-height:1.3;color:#888}@media (max-width:768px){.fx-presets-title span{display:block;margin:.15rem 0 0}.fx-presets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fx-patch-current{flex:1 1;justify-content:center;gap:.4rem}.fx-patch-current,.fx-patch-current-btn{min-width:0;display:flex;align-items:center}.fx-patch-current-btn{gap:.35rem;padding:.25rem .5rem;background:none;border:1px solid transparent;border-radius:7px;color:#e6d4f2;font-family:inherit;font-size:.9rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:color .15s,border-color .15s}.fx-patch-current-btn:hover{color:#fff;border-color:rgba(255,255,255,.15)}.fx-patch-current-btn.none{color:#6f7a90;font-weight:500;font-style:italic}.fx-patch-caret{flex-shrink:0;opacity:.55}.fx-patch-save,.fx-patch-save-icon{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;flex-shrink:0;min-height:30px;padding:.25rem .7rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:7px;color:#9aa3b5;font-family:inherit;font-size:.72rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:all .15s}.fx-patch-save-icon{padding:.25rem;width:30px}.fx-patch-save-icon:hover,.fx-patch-save:hover:not(:disabled){color:#fff;border-color:rgba(255,255,255,.3)}.fx-patch-save.primary{background:#9b59b6;border-color:#b07cc6;color:#fff}.fx-patch-save.primary:hover:not(:disabled){background:#a96cc2}.fx-patch-save.done{background:rgba(46,204,113,.15);border-color:rgba(46,204,113,.55);color:#2ecc71}.fx-patch-save:disabled{opacity:.6;cursor:default}.fx-patch-naming{gap:.3rem}.fx-patch-name-input{flex:0 1 240px;min-width:80px;min-height:30px;padding:.25rem .6rem;background:rgba(0,0,0,.35);border:1px solid #9b59b6;border-radius:7px;color:#fff;font-family:inherit;font-size:.85rem;font-weight:600;outline:none}.fx-patch-name-input:focus{box-shadow:0 0 0 3px rgba(155,89,182,.3)}.fx-patch-current-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-patch-edited{color:#f1c40f;font-size:1.1rem;line-height:0}.fx-drawer-bar .fx-drawer-actions{margin-left:0}.fx-section-title .fx-patch-current-name,.fx-section-title .fx-patch-edited{font-size:inherit;font-weight:inherit;color:inherit;text-transform:none;letter-spacing:0}.fx-section-title .fx-patch-edited{color:#f1c40f;font-size:1.1rem}@media (max-width:768px){.fx-section-title{flex-wrap:wrap;row-gap:.5rem}.fx-section-actions{flex-wrap:wrap}.fx-patch-current-btn{font-size:.8rem;padding:.2rem .25rem}.fx-drawer-bar .fx-patch-saveas,.fx-patch-caret{display:none}.fx-patch-current{gap:.25rem}.fx-patch-save{padding:.25rem .45rem}.fx-drawer-bar .fx-patch-save svg,.fx-drawer-patches-btn{display:none}.fx-drawer-chain{gap:18px;padding:.4rem .75rem .7rem}.fx-block{width:74px;border-radius:10px}.fx-block-led{width:22px;height:22px;top:3px;left:3px}.fx-block-main{padding:1.15rem .25rem .3rem;gap:.1rem}.fx-block-icon svg{width:16px;height:16px}.fx-block-name{font-size:.62rem}.fx-block-sub{font-size:.52rem}.fx-block-add{width:38px;height:38px;font-size:1.1rem}.fx-skin-classic .fx-block{width:76px;height:104px}.fx-skin-classic .fx-block[data-type=amp],.fx-skin-classic .fx-block[data-type=cab],.fx-skin-classic .fx-block[data-type=nam]{width:86px}.fx-skin-classic .fx-block-main{padding:.4rem .25rem 2rem;gap:.2rem}.fx-skin-classic .fx-block[data-type=amp] .fx-block-name,.fx-skin-classic .fx-block[data-type=nam] .fx-block-name{font-size:.8rem}.fx-skin-classic .fx-block[data-type=cab] .fx-mini-knobs{min-height:30px}.fx-mini-knobs{gap:4px;min-height:14px}.fx-mini-knob{width:13px;height:13px;box-shadow:0 0 0 1.5px #1a1a1a,0 1px 2px rgba(0,0,0,.5)}.fx-mini-knob:after{top:1px;height:5px}.fx-skin-classic .fx-block-led{width:22px;height:22px;margin-left:-11px;bottom:7px}.fx-skin-classic .fx-block-led .fx-led,.fx-skin-classic .fx-block.on .fx-block-led .fx-led{top:-10px;width:5px;height:5px;margin-left:-2.5px}.fx-pedalboard{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:0 .75rem;scrollbar-width:none;margin:.5rem;padding:1rem .75rem;column-gap:18px;justify-content:flex-start}.fx-pedalboard>[data-chain-id=in]{margin-left:auto}.fx-pedalboard>.fx-block-add{margin-right:auto}}@media (max-width:768px){.fx-pedalboard::-webkit-scrollbar{display:none}.fx-pedalboard>*{flex-shrink:0;scroll-snap-align:start}.fx-skin-classic .fx-block-name,.fx-skin-classic .fx-block.on .fx-block-name{font-size:.5rem;white-space:normal;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:clip}}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:52px;padding:0 1.25rem;background:rgba(13,13,18,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}.site-header .brand{gap:.55rem;text-decoration:none;color:inherit}.site-header .brand-logo{width:30px;height:30px}.site-header .brand-name{font-size:1.05rem}.site-header .brand-sub{font-size:.58rem}.site-header-actions{gap:.6rem}.site-header-actions,.site-nav{display:flex;align-items:center}.site-nav{gap:.25rem;margin:0 auto 0 1.5rem}.site-nav-link{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:8px;color:#9aa3b2;font-size:.85rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .2s ease,color .2s ease}.site-nav-link:hover{color:#fff;background:rgba(255,255,255,.06)}.site-nav-link.active{color:#5dade2;background:rgba(52,152,219,.14)}.site-header .instrument-switch-btn{padding:.35rem .8rem;font-size:.8rem;margin-left:0}.profile-wrap{position:relative}.profile-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#34495e,#1c2833);border:1px solid rgba(255,255,255,.18);color:#c8d0dc;cursor:pointer;transition:border-color .2s ease,color .2s ease}.profile-btn:hover,.profile-btn[aria-expanded=true]{border-color:rgba(93,173,226,.7);color:#fff}.profile-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;width:220px;padding:.75rem .9rem;background:#1a1a24;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.5);color:#ddd;font-size:.82rem;line-height:1.45}.container,.fx-overlay{min-height:calc(100vh - 52px)}.fx-overlay{position:relative;inset:auto;z-index:auto;overflow:visible}.page-title{display:flex;align-items:center;gap:1rem;padding:.55rem 1.1rem;margin-bottom:.75rem;text-align:left}.page-title h1{font-size:1.25rem;margin-bottom:0;white-space:nowrap}.page-title .subtitle{flex:1 1 auto;min-width:0;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-title .instrument-switch-btn{flex-shrink:0;margin-left:auto;padding:.45rem .95rem;font-size:.9rem;font-weight:600;color:rgba(255,255,255,.85)}.page-title .instrument-switch-label{max-width:180px}.comparison-panel{gap:1rem}.comparison-toolbar{display:flex;justify-content:center}.fretboard-container.chord-player-modal{max-width:none;max-height:none;overflow:visible;padding:0;background:rgba(17,17,17,.7);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:768px){.site-header{position:static;height:48px;padding:0 .75rem;gap:.5rem}.site-header .brand-text{display:none}.site-nav{margin-left:.25rem;gap:.15rem}.site-nav-link{padding:.4rem .55rem;font-size:.8rem;gap:.3rem}.container,.fx-overlay{min-height:calc(100vh - 48px)}.page-title{padding:.5rem .75rem;margin-bottom:.5rem;justify-content:space-between}.page-title .subtitle{display:none}.page-title h1{font-size:1.05rem;line-height:1.25;white-space:normal}.page-title .instrument-switch-btn{padding:.4rem .6rem}.fretboard-container.chord-player-modal{max-height:none;border-radius:12px}}.listen-btn{display:inline-flex;align-items:center;gap:.35rem;min-width:4.5rem;justify-content:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.listen-btn.active{background:rgba(46,204,113,.18);border-color:#2ecc71;color:#2ecc71}.listen-dot{width:7px;height:7px;border-radius:50%;background:#2ecc71;animation:listen-pulse 1.2s ease-in-out infinite}.listen-error{color:#e74c3c;font-size:.75rem}.live-note-ring{fill:rgba(46,204,113,.25);stroke:#2ecc71;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:live-ring .9s ease-out infinite}@keyframes listen-pulse{50%{opacity:.3}}@keyframes live-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(1.25);opacity:0}}@media (prefers-reduced-motion:reduce){.listen-dot,.live-note-ring{animation:none}}@media (min-width:769px){.listen-icon{display:none}}@media (max-width:768px){.listen-btn{min-width:0}.listen-label{display:none}}.live-note-trail{animation:live-trail 1.5s ease-out forwards}@keyframes live-trail{0%{opacity:.75}to{opacity:0}}@media (prefers-reduced-motion:reduce){.live-note-trail{animation:none;opacity:.4}}.seo-article{margin:1.5rem 0 calc(var(--fx-drawer-h, 0px) + 2rem);padding:1.5rem 1.75rem;background:rgba(17,17,17,.7);border:1px solid rgba(255,255,255,.08);border-radius:16px;color:#c9ced8;font-size:.92rem;line-height:1.65}.seo-article+.seo-article{margin-top:-.5rem}.seo-article a{color:#5dade2;text-decoration:none}.seo-article a:hover{text-decoration:underline}.seo-article strong{color:#fff}.seo-section+.seo-section{margin-top:1.75rem}.seo-article h2,.seo-index h2{margin:0 0 .6rem;font-size:1.15rem;font-weight:700;color:#eef2f8}.seo-article p{margin:0 0 .75rem}.seo-article ul:not(.seo-links){margin:0;padding-left:1.2rem}.seo-muted{color:#8a93a5;font-size:.85em}.seo-crumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1.25rem;padding:0;list-style:none;font-size:.78rem;color:#8a93a5}.seo-crumbs li+li:before{content:"›";margin-right:.35rem;color:#555d6c}.seo-crumbs a{color:#8fb8dc;text-decoration:none}.seo-crumbs a:hover{text-decoration:underline}.seo-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.6rem;gap:.6rem;margin:1rem 0 0}.seo-facts div{padding:.6rem .8rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px}.seo-facts dt{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a93a5}.seo-facts dd{margin:.15rem 0 0;font-weight:700;color:#fff}.seo-table{width:100%;max-width:560px;border-collapse:collapse;font-size:.88rem}.seo-table td,.seo-table th{padding:.45rem .7rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.07)}.seo-table th{font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:#8a93a5}.seo-frets strong{color:#e74c3c}.seo-links{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.seo-chips a,.seo-keys a{display:inline-block;padding:.3rem .65rem;background:rgba(52,152,219,.08);border:1px solid rgba(52,152,219,.25);border-radius:999px;font-size:.8rem}.seo-chips a:hover,.seo-keys a:hover{background:rgba(52,152,219,.18);text-decoration:none}.seo-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:.6rem;gap:.6rem;margin:.5rem 0 1rem}.seo-cards a{display:flex;flex-direction:column;gap:.1rem;padding:.7rem .9rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px}.seo-cards a:hover{border-color:rgba(93,173,226,.5);text-decoration:none}.seo-cards strong{font-size:.88rem}.seo-cards span{font-size:.75rem;color:#8a93a5}.seo-index{max-width:1100px;padding-bottom:calc(var(--fx-drawer-h, 0px) + 2rem);color:#c9ced8}.seo-index-head{margin-bottom:2rem}.seo-index-head h1{margin:0 0 .5rem;font-size:1.9rem;color:#5dade2}.seo-index-head p{max-width:760px;margin:0 0 1rem;line-height:1.6}.seo-index a{color:#5dade2;text-decoration:none}.seo-scale-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:.9rem;gap:.9rem}.seo-scale-card{padding:1rem 1.1rem;background:rgba(17,17,17,.7);border:1px solid rgba(255,255,255,.08);border-radius:14px}.seo-scale-card h3{margin:0 0 .25rem;font-size:1rem;color:#eef2f8}.seo-scale-card p{margin:0 0 .7rem;line-height:1.45}.seo-keys{gap:.3rem}.seo-keys a{padding:.2rem .5rem;font-size:.74rem}@media (max-width:768px){.seo-article{padding:1.1rem 1rem;font-size:.88rem}.seo-index{padding:1rem}.seo-index-head h1{font-size:1.45rem}.seo-scale-grid{grid-template-columns:1fr}}