.neck-wrapper{display:flex;align-items:flex-start;gap:10px;margin:0 auto;width:max-content;position:relative;padding:0 0 10px}.instrument-selector{display:flex;flex-direction:column;gap:14px;background:0 0;padding:0;border-radius:0;border:none;position:sticky;left:10px;top:0;z-index:90}.instrument-controls,.instrument-group{display:flex;flex-direction:column;gap:8px;background:#111;padding:8px;border-radius:8px;border:1px solid #333}.inst-btn{width:36px;height:36px;background:#222;border:1px solid #444;border-radius:6px;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;font-size:1.2rem}.inst-btn:hover{color:#fff;border-color:#666}.inst-btn.active{background:var(--accent-color);color:#000;border-color:var(--accent-color);box-shadow:0 0 10px rgba(255,159,67,.4)}.inst-btn img{width:28px;height:28px;display:block;object-fit:contain;filter:brightness(0) saturate(100%) invert(70%)}.inst-btn:hover img{filter:brightness(0) saturate(100%) invert(100%)}.inst-btn.active img{filter:brightness(0) saturate(100%) invert(0%)}.inst-btn.mode-btn{margin-top:0}.instrument-stage{position:relative;user-select:none;background:#161616;border-radius:12px;box-shadow:0 15px 40px rgba(0,0,0,.6);width:max-content!important;transition:width .4s cubic-bezier(.33, 1, .68, 1),height .4s cubic-bezier(.33, 1, .68, 1),font-size .4s cubic-bezier(.33, 1, .68, 1),grid-template-columns .4s cubic-bezier(.33, 1, .68, 1),grid-template-rows .4s cubic-bezier(.33, 1, .68, 1);box-sizing:content-box}.instrument-resize-btn{position:absolute;bottom:3px;right:-17px;width:25px;height:25px;background:#222;border:1px solid #444;border-radius:50%;color:var(--accent-color);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;box-shadow:0 2px 6px rgba(0,0,0,.6);transition:transform .15s,background .15s,color .15s,box-shadow .2s;touch-action:manipulation;padding:0}.instrument-resize-btn:hover{background:var(--accent-color);color:#111;transform:scale(1.05);box-shadow:0 0 10px rgba(255,159,67,.6)}.instrument-resize-btn:active{transform:scale(.98)}.instrument-resize-btn svg{width:100%;height:100%;display:block}.resize-options-menu{position:absolute;bottom:40px;right:-20px;background:#141414;border:1px solid #333;border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:2px;min-width:64px;z-index:130;box-shadow:0 8px 18px rgba(0,0,0,.8);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .15s,transform .15s}.resize-options-menu.visible{opacity:1;transform:translateY(0);pointer-events:auto}.resize-option{background:0 0;border:none;color:#bbb;padding:4px 8px;text-align:center;cursor:pointer;font-size:.75rem;font-weight:700;border-radius:6px;transition:background .15s,color .15s}.resize-option:hover{background:#2a2a2a;color:#fff}.resize-option.selected{background:rgba(255,159,67,.18);color:var(--accent-color);border:1px solid rgba(255,159,67,.35)}.fret.manual-play::after,.piano-key.manual-play::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.35);pointer-events:none;z-index:20;animation:.25s ease-out forwards manualFlash;will-change:opacity;border-radius:inherit}.piano-key.manual-play::after{border-radius:0 0 4px 4px}@keyframes manualFlash{from{opacity:1}to{opacity:0}}@keyframes stringVibrate{0%,100%{transform:translateY(-50%) translate3d(0,0,0)}25%{transform:translateY(-50%) translate3d(0,.8px,0)}75%{transform:translateY(-50%) translate3d(0,-.8px,0)}}.fret.vibrating::before{animation:80ms linear infinite stringVibrate;box-shadow:0 1px 3px rgba(0,0,0,.5)}.fret.vibration-fading::before{animation:1.5s ease-out forwards stringVibrateDamping;box-shadow:0 1px 3px rgba(0,0,0,.5)}@keyframes stringVibrateDamping{0%,5%{transform:translateY(-50%) translate3d(0,.8px,0)}2.5%,7.5%{transform:translateY(-50%) translate3d(0,-.8px,0)}10%,15%{transform:translateY(-50%) translate3d(0,.7px,0)}12.5%,17.5%{transform:translateY(-50%) translate3d(0,-.7px,0)}20%,25%{transform:translateY(-50%) translate3d(0,.6px,0)}22.5%,27.5%{transform:translateY(-50%) translate3d(0,-.6px,0)}30%,35%{transform:translateY(-50%) translate3d(0,.5px,0)}32.5%,37.5%{transform:translateY(-50%) translate3d(0,-.5px,0)}40%,45%{transform:translateY(-50%) translate3d(0,.4px,0)}42.5%,47.5%{transform:translateY(-50%) translate3d(0,-.4px,0)}50%,55%{transform:translateY(-50%) translate3d(0,.3px,0)}52.5%,57.5%{transform:translateY(-50%) translate3d(0,-.3px,0)}60%,65%{transform:translateY(-50%) translate3d(0,.2px,0)}62.5%,67.5%{transform:translateY(-50%) translate3d(0,-.2px,0)}70%,75%{transform:translateY(-50%) translate3d(0,.15px,0)}72.5%,77.5%{transform:translateY(-50%) translate3d(0,-.15px,0)}80%,85%{transform:translateY(-50%) translate3d(0,.1px,0)}82.5%,87.5%{transform:translateY(-50%) translate3d(0,-.1px,0)}90%,95%{transform:translateY(-50%) translate3d(0,.05px,0)}92.5%,97.5%{transform:translateY(-50%) translate3d(0,-.05px,0)}100%{transform:translateY(-50%) translate3d(0,0,0)}}.fret,.piano-key{cursor:pointer;-webkit-tap-highlight-color:transparent}.expression-lock-btn{position:fixed;bottom:40px;right:20px;width:112px;height:100px;border-radius:18px;border:1px solid rgba(120,82,0,.45);background:linear-gradient(180deg,#ffe08b 0,#f1b227 100%);color:#2b1b00;font-weight:800;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:22px 12px 24px;z-index:1000;backdrop-filter:blur(6px) saturate(1.1);transition:transform .12s,box-shadow .2s,background .2s,border-color .2s;touch-action:none;cursor:pointer;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 12px 24px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.55) inset,0 10px 18px rgba(255,194,58,.28);overflow:hidden}.expression-lock-btn.visible{display:flex}body .expression-lock-btn.hidden-by-instrument{display:none!important;opacity:0!important;pointer-events:none!important}.bend-mode-switch{position:absolute;bottom:-5px;left:calc(50% + 3px);transform:translateX(-50%);width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;touch-action:none}.expression-lock-btn .bend-mode-switch i,.expression-lock-btn .bend-mode-switch svg{width:12px;height:12px;color:#fff;opacity:.7}.expression-lock-btn.mode-button .bend-mode-switch{background:#fff}.expression-lock-btn.mode-button .bend-mode-switch i,.expression-lock-btn.mode-button .bend-mode-switch svg{color:var(--accent-color);opacity:1}.expression-lock-btn::before{content:'';position:absolute;inset:3px;border-radius:15px;border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 0 10px rgba(255,255,255,.16);opacity:.7;pointer-events:none}.expression-lock-btn::after{content:'';position:absolute;inset:0;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.45) 0,rgba(255,255,255,.08) 45%,transparent 70%);opacity:.85;pointer-events:none}.expression-lock-btn>*{position:relative;z-index:1}.bend-main-icon{display:inline-flex;align-items:center;justify-content:center}.expression-lock-btn.active,.expression-lock-btn:active{background:linear-gradient(180deg,#ffe69a 0,#f7bf3c 100%);border-color:rgba(120,82,0,.55);transform:translateY(1px);box-shadow:0 8px 16px rgba(0,0,0,.45),0 0 20px rgba(255,206,96,.5),0 1px 0 rgba(255,255,255,.6) inset}.expression-lock-btn .bend-label{font-size:.68rem;margin-top:0;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(120,80,0,.2);color:#2b1b00;text-shadow:0 1px 0 rgba(255,255,255,.5)}.expression-lock-btn i,.expression-lock-btn svg{width:26px;height:26px;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, .25))}.expression-lock-btn.dragging{cursor:grabbing}.bend-guide{position:fixed;top:0;left:0;width:32px;height:180px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:2000;display:flex;flex-direction:column-reverse;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, .6))}.bend-guide.visible{opacity:1}.bend-track{position:relative;width:100%;height:100%;background:#111;border:1px solid #555;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 10px rgba(0,0,0,.8),0 5px 15px rgba(0,0,0,.8)}.bend-fill{position:absolute;bottom:0;left:0;width:100%;height:0;background:linear-gradient(to top,#d35400,#f1c40f);box-shadow:0 0 15px rgba(255,140,0,.5);transition:height 50ms linear;opacity:1}.bend-tick{position:absolute;left:0;width:100%;height:1px;background:rgba(255,255,255,.8);z-index:2}.bend-tick span{position:absolute;top:-14px;width:100%;text-align:center;font-size:.6rem;font-weight:800;color:#fff;text-shadow:0 1px 2px #000}.tick-0{bottom:0;height:2px;background:#fff}.tick-half{bottom:45%}.tick-full{bottom:90%}.bend-cursor{position:absolute;left:50%;bottom:0;width:18px;height:18px;background:#fff;border:2px solid var(--accent-color);border-radius:50%;transform:translate(-50%,50%);box-shadow:0 2px 5px rgba(0,0,0,.5);z-index:3;transition:bottom 50ms linear}.bend-cursor.snapped{background:var(--accent-color);border-color:#fff;box-shadow:0 0 15px #fff;transform:translate(-50%,50%) scale(1.2);transition:bottom .15s cubic-bezier(.175, .885, .32, 1.275),transform .1s}.bend-drag-handle{position:absolute;top:8px;left:50%;width:56px;height:20px;transform:translateX(-50%);border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(24,30,42,.35);box-shadow:inset 0 1px 2px rgba(255,255,255,.2),0 2px 6px rgba(0,0,0,.25);opacity:.9;cursor:grab;touch-action:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2}.bend-drag-handle::before{content:'';position:absolute;top:50%;left:50%;width:4px;height:4px;border-radius:50%;background:rgba(230,236,245,.75);box-shadow:-9px 0 0 rgba(230,236,245,.6),9px 0 0 rgba(230,236,245,.6);transform:translate(-50%,-50%)}.expression-lock-btn.dragging .bend-drag-handle{cursor:grabbing;opacity:.9}.icon-base{transform:translate(-2px,2px);width:20px;height:20px}.icon-overlay{position:absolute;top:4px;right:4px;width:14px;height:14px;color:var(--accent-color)}.inst-btn.active .icon-overlay{color:#fff}@media (max-width:600px){.instrument-selector{gap:10px;padding:0}.instrument-controls,.instrument-group{padding:4px;gap:4px}.inst-btn{width:32px;height:32px}}@media (max-width:450px){.neck-wrapper{gap:5px}.instrument-selector{padding:0;gap:8px;left:2px}.instrument-controls,.instrument-group{padding:4px;gap:6px}.inst-btn{width:30px;height:30px;font-size:1rem}}@media (max-height:500px) and (orientation:landscape){.expression-lock-btn{width:100px;height:80px;right:140px;bottom:18px;padding:18px 12px 20px}.bend-mode-switch{bottom:4px;left:calc(50% + 2px)}.bend-drag-handle{width:50px;height:18px;top:6px}}.expression-lock-btn{pointer-events:auto!important}.expression-lock-btn>:not(.bend-drag-handle):not(.bend-mode-switch){pointer-events:none!important}.bend-drag-handle,.bend-mode-switch{pointer-events:auto!important}.vibrato-guide{position:fixed;height:4px;width:60px;background:rgba(255,255,255,.1);border-radius:2px;pointer-events:none;opacity:0;transition:opacity .1s;z-index:2000;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 10px rgba(0,0,0,.5)}.vibrato-guide.visible{opacity:1}.vibrato-fill{position:absolute;top:0;bottom:0;left:50%;width:0;background:var(--accent-color);box-shadow:0 0 8px var(--accent-color)}.vibrato-guide::after{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.8);transform:translateX(-50%)}