@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}:root{--bg:#fff;--surface:#f8f9fa;--surface-hover:#f1f5f9;--text:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-glow:rgba(37,99,235,.3);--accent-subtle:rgba(37,99,235,.08);--border:#e5e7eb;--border-hover:#d1d5db;--border-glow:rgba(37,99,235,.2);--success:#059669;--error:#dc2626;--warning:#d97706;--radius-sm:4px;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-glow:0 0 15px rgba(37,99,235,.15);--font-sans:var(--font-inter),system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background-color:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.5;height:100%;-webkit-font-smoothing:antialiased}.animate-spin{animation:spin 1s linear infinite;display:inline-block}.mr-2{margin-right:.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.dashboard{display:flex;flex-direction:column;height:100vh;background:var(--bg);overflow:hidden;position:relative}.dashboard:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 0);background-size:40px 40px;pointer-events:none;z-index:0}.dashboard-header{flex-shrink:0;height:60px;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:20;position:relative}.dashboard-header:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.3}.header-left{display:flex;align-items:center;gap:12px}.dashboard-logo{width:28px;height:28px}.dashboard-header h1{font-family:var(--font-mono);font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0;text-transform:uppercase}.header-right{gap:16px}.credits-display,.header-right{display:flex;align-items:center}.credits-display{gap:6px;font-family:var(--font-mono);font-size:12px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.credits-label{color:var(--text-secondary)}.credits-value{color:var(--accent);font-weight:600}.credits-value.out-of-credits{color:var(--error)}.out-of-credits-modal p{color:var(--text-secondary);margin:0 0 16px;font-size:14px}.credits-pricing{display:flex;align-items:baseline;gap:8px;padding:16px;background:var(--accent-subtle);border-radius:var(--radius);margin-bottom:20px}.credits-pricing .price{font-size:28px;font-weight:700;color:var(--accent)}.credits-pricing .credits-amount{font-size:14px;color:var(--text-secondary)}.btn-purchase{background:var(--accent)!important}.btn-purchase:disabled{opacity:.6;cursor:not-allowed}.system-status{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--accent);padding:4px 12px;border:1px solid var(--accent-subtle);border-radius:20px;background:var(--accent-subtle)}.status-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 4px var(--accent);animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1;box-shadow:0 0 4px var(--accent)}50%{opacity:.5;box-shadow:0 0 1px var(--accent)}to{opacity:1;box-shadow:0 0 4px var(--accent)}}.dashboard-main{position:relative;z-index:1}.dashboard-main,.three-column{flex:1 1;display:flex;overflow:hidden}.three-column .notation-panel{flex:1 1;min-width:280px}.three-column .sheet-music-panel{flex:1.2 1;min-width:320px;border-left:1px solid var(--border)}.chat-panel{min-width:300px;background:hsla(0,0%,100%,.95);border-left:1px solid var(--border);z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-container,.chat-panel{flex:1 1;display:flex;flex-direction:column}.chat-container{overflow-y:auto;padding:20px;gap:16px}.chat-empty{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary);gap:20px}.chat-empty p{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.chat-suggestions{display:flex;flex-direction:column;gap:8px;width:100%}.chat-suggestions button{padding:12px 16px;background:rgba(37,99,235,.05);border:1px solid var(--border);border-radius:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-primary);cursor:pointer;transition:all .15s ease;text-align:left}.chat-suggestions button:hover{background:rgba(37,99,235,.1);border-color:var(--accent);color:var(--accent)}.chat-message{display:flex;flex-direction:column;gap:4px}.chat-message-label{font-family:var(--font-mono);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.chat-message.user .chat-message-label{color:var(--accent)}.chat-message-content{padding:12px 16px;border-radius:8px;font-size:13px;line-height:1.5}.chat-message.user .chat-message-content{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .chat-message-content{background:var(--bg-secondary);color:var(--text-primary);border-bottom-left-radius:4px}.chat-loading{display:flex;gap:4px}.loading-dot{animation:loadingDot 1.4s ease-in-out infinite;font-size:20px;line-height:1}.loading-dot:first-child{animation-delay:0s}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,80%,to{opacity:.3}40%{opacity:1}}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;font-size:12px;letter-spacing:.05em}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.chat-input-form{display:flex;align-items:flex-end;gap:8px;padding:16px;border-top:1px solid var(--border);background:hsla(0,0%,100%,.9)}.chat-input{flex:1 1;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-family:var(--font-mono);font-size:12px;background:#fff;color:var(--text-primary);outline:none;transition:border-color .15s ease;resize:none;min-height:44px;max-height:150px;overflow-y:auto;field-sizing:content;line-height:1.4}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:var(--text-secondary)}.chat-submit{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .15s ease;flex-shrink:0}.chat-submit:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.chat-submit:disabled{background:var(--border);cursor:not-allowed}.sidebar{width:300px;background:hsla(0,0%,100%,.95);border-left:1px solid var(--border);flex-shrink:0;overflow-y:auto;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar,.sidebar-section{display:flex;flex-direction:column}.sidebar-section{padding:20px;border-bottom:1px solid var(--border);gap:16px;position:relative}.sidebar-section:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;background:var(--accent);opacity:0;transition:opacity .3s}.sidebar-section:hover:before{opacity:1}.sidebar-title{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin:0;display:flex;align-items:center;gap:8px}.sidebar-title:before{content:"//";color:var(--accent);font-weight:800}.sidebar-actions{display:flex;flex-direction:column;gap:12px;margin-top:20px}.content-area{flex:1 1;display:flex;background:transparent;overflow:hidden}.notation-panel{flex:1 1;min-width:300px;background:hsla(0,0%,100%,.7);border-right:1px solid var(--border);display:flex;flex-direction:column;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sheet-music-panel{flex:1.2 1;min-width:400px;background:transparent;display:flex;flex-direction:column;position:relative}.panel-header{height:48px;padding:0 20px;border-bottom:1px solid var(--border);justify-content:space-between;background:hsla(0,0%,100%,.9);flex-shrink:0}.panel-header,.panel-header h2{display:flex;align-items:center}.panel-header h2{font-size:11px;font-weight:700;letter-spacing:.1em;margin:0;gap:8px}.btn-header-upload,.panel-header h2{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase}.btn-header-upload{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:10px;font-weight:600;letter-spacing:.05em;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-header-upload:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:rgba(37,99,235,.05)}.btn-header-upload:disabled{opacity:.6;cursor:not-allowed}.btn-header-upload svg{flex-shrink:0}.header-controls{display:flex;align-items:center;gap:12px}.header-controls .playback-buttons{display:flex;align-items:center;gap:4px}.header-controls .btn-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease}.header-controls .btn-icon:hover{color:var(--accent);border-color:var(--accent);background:rgba(37,99,235,.05)}.btn,.btn-icon,.btn-sidebar,.btn-upload-full{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.btn-upload-full{width:100%;padding:28px 20px;background:var(--surface);border:1px dashed var(--border-hover);border-radius:var(--radius);color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:12px;font-weight:600;font-size:11px;position:relative;overflow:hidden}.btn-upload-full:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,var(--accent-subtle),transparent 70%);opacity:0;transition:opacity .3s}.btn-upload-full:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--surface-hover);box-shadow:0 4px 12px rgba(37,99,235,.05)}.btn-upload-full:hover:after{opacity:1}.upload-icon{width:40px;height:40px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);color:var(--text);transition:all .2s;z-index:1;box-shadow:var(--shadow-sm)}.btn-upload-full:hover .upload-icon{border-color:var(--accent);color:var(--accent);background:#eff6ff}.btn-sidebar{width:100%;padding:10px;border-radius:var(--radius-sm);font-weight:700;font-size:11px;text-align:center;position:relative}.btn-render{background:#fff;border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.btn-render:hover:not(:disabled){background:var(--surface);border-color:var(--border-hover);color:var(--text)}.btn-simplify{background:var(--accent);color:#fff;box-shadow:0 2px 4px rgba(37,99,235,.2)}.btn-simplify:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 8px rgba(37,99,235,.3);transform:translateY(-1px)}.btn-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary)}.btn-icon:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.abc-editor{flex:1 1;width:100%;padding:20px;border:none;resize:none;font-family:var(--font-mono);font-size:12px;line-height:1.6;background:transparent;color:var(--text);outline:none}.abc-editor:focus{background:hsla(0,0%,100%,.5)}.sidebar-preview{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;position:relative}.sidebar-preview:after{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent);box-shadow:0 0 10px var(--accent);opacity:.3;animation:scan 2s linear infinite;pointer-events:none}@keyframes scan{0%{top:0;opacity:0}10%{opacity:.5}90%{opacity:.5}to{top:100%;opacity:0}}.preview-header{padding:6px 10px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-tertiary)}.sidebar-preview img{width:100%;max-height:180px;object-fit:contain;display:block;padding:10px;transition:all .3s}.sidebar-preview:hover img{opacity:1}.settings-list{display:flex;flex-direction:column;gap:4px}.setting-toggle{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:all .2s}.setting-toggle:hover{background:var(--surface);border-color:var(--border)}.toggle-label{font-size:12px;font-weight:600;color:var(--text-secondary);transition:color .2s}.setting-toggle:hover .toggle-label{color:var(--text)}.setting-toggle input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.processing-terminal{background:#1f2937;border:1px solid var(--border);border-radius:4px;padding:10px;font-family:var(--font-mono);font-size:10px;color:#4ade80;margin-top:8px}.terminal-line{display:flex;gap:8px;opacity:.9}.terminal-line:before{content:">";color:#9ca3af}.sheet-music-container{flex:1 1;overflow:auto;padding:20px;display:flex;flex-direction:column;background:#fff;z-index:1}.score-render{width:100%;flex:1 1;min-height:100px;background:#fff;position:relative}.score-render svg{width:100%;height:auto}.simplified-section{width:100%;max-width:800px;margin-top:40px;padding-top:32px;border-top:1px dashed var(--border-hover);position:relative}.simplified-section h3{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--bg);padding:0 12px;margin:0;font-family:var(--font-mono);font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border);border-radius:12px;font-weight:700}.playback-controls{display:flex;flex-direction:column;gap:8px}.playback-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.playback-row span{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.history-buttons,.playback-buttons{display:flex;gap:4px}.history-buttons .btn-icon:disabled{opacity:.3;cursor:not-allowed}.dashboard-status{position:fixed;top:24px;left:50%;transform:translateX(-50%);padding:8px 16px;border-radius:4px;background:#fff;box-shadow:var(--shadow-lg);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;z-index:100;display:flex;align-items:center;gap:8px;border:1px solid var(--border)}.dashboard-status.success{border-color:var(--success);color:var(--success);background:#ecfdf5}.dashboard-status.error{border-color:var(--error);color:var(--error);background:#fef2f2}.dashboard-status.loading{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.empty-state{flex-direction:column;height:100%;color:var(--text-tertiary);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:center;margin-top:40px;opacity:.7}.empty-state,.landing-page{display:flex;align-items:center;justify-content:center}.landing-page{min-height:100vh;background-color:#fff;background-image:radial-gradient(rgba(0,0,0,.25) 1.5px,transparent 0),radial-gradient(rgba(0,0,0,.15) 1px,transparent 0);background-size:32px 32px,16px 16px;background-position:0 0,8px 8px;position:relative}.landing-page:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(37,99,235,.05) 0,transparent 60%);pointer-events:none}.landing-container{text-align:center;padding:64px 48px;background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg);max-width:560px;width:90%;position:relative;z-index:1}.landing-title{font-family:var(--font-mono);font-size:42px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:24px 0 12px}.landing-subtitle{font-family:var(--font-mono);color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:48px;font-weight:400;text-transform:uppercase;letter-spacing:.05em}.landing-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:center;gap:12px;font-size:13px;color:var(--text-tertiary);font-family:var(--font-mono)}.landing-footer a{color:var(--text-secondary);text-decoration:none;transition:color .2s}.landing-footer a:hover{color:var(--accent)}.btn-large{display:inline-flex;align-items:center;justify-content:center;padding:16px 48px;font-size:14px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;background:#111827;color:#fff;border-radius:2px;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid transparent;position:relative;overflow:hidden}.btn-large:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.btn-large:hover:before{left:100%}.btn-large:hover{background:#000;box-shadow:0 6px 20px rgba(0,0,0,.25);transform:translateY(-2px)}@media (max-width:1024px){.dashboard-main{flex-direction:column;overflow-y:auto}.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border);flex-direction:row;flex-wrap:wrap}.sidebar-section{flex:1 1;min-width:250px}.content-area{flex-direction:column;overflow:visible}.notation-panel{border-right:none;border-bottom:1px solid var(--border);height:300px;flex:none}}@media (max-width:768px){.sidebar{flex-direction:column}.sidebar-section{min-width:100%}.dashboard-header{padding:0 16px}}.palette-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1000;pointer-events:none}.palette{position:absolute;width:360px;background:#fff;border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.15);pointer-events:auto}.palette-header{display:flex;align-items:center;padding:10px 12px;background:#f8f8f8;border-bottom:1px solid #eee;border-radius:10px 10px 0 0;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.palette-header:active{cursor:-webkit-grabbing;cursor:grabbing}.palette-title{font-size:13px;font-weight:600;color:#333}.palette-status{margin-left:auto;font-size:11px;color:#888;background:#eee;padding:2px 8px;border-radius:4px}.palette-close{margin-left:10px;width:24px;height:24px;border:none;background:none;font-size:18px;color:#999;cursor:pointer;border-radius:4px}.palette-close:hover{background:#eee;color:#333}.palette-tabs{display:flex;border-bottom:1px solid #eee}.palette-tab{flex:1 1;padding:8px;font-size:11px;font-weight:500;color:#888;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.palette-tab:hover{color:#333}.palette-tab.active{color:#111;border-bottom-color:#111}.palette-content{padding:12px}.palette-section{margin-bottom:12px}.palette-section:last-child{margin-bottom:0}.palette-section-title{font-size:10px;font-weight:600;color:#999;text-transform:uppercase;margin-bottom:6px}.palette-row{display:flex;gap:4px}.palette-row.wrap{flex-wrap:wrap}.palette-btn{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;transition:all .1s}.palette-btn:hover{background:#eee;border-color:#ccc}.palette-btn.active{background:#111;border-color:#111;color:#fff}.palette-content.scrollable{max-height:70vh;overflow-y:auto;padding:0}.palette-section.collapsible{border-bottom:1px solid #e5e5e5;margin-bottom:0}.palette-section.collapsible:last-child{border-bottom:none}.palette-section-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#555;background:#fafafa;transition:background .15s}.palette-section-header:hover{background:#f0f0f0}.palette-section-icon{font-size:10px;color:#999;transition:transform .2s}.palette-section.collapsible .palette-section-content{display:none;padding:10px 12px}.palette-section.collapsible.expanded .palette-section-content{display:block}.palette-subsection{margin-bottom:10px}.palette-subsection:last-child{margin-bottom:0}.palette-subsection-title{font-size:9px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.palette-btn.barline-btn{font-family:var(--font-mono);font-size:12px;min-width:44px}.palette-btn.hairpin-btn{min-width:50px;padding:0 8px}.palette-btn.hairpin-active,.palette-status.hairpin-active{background:#fef3c7!important;border-color:#f59e0b!important;color:#92400e!important}.btn-edit{display:flex;align-items:center;gap:6px;padding:6px 12px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-edit:hover{color:var(--accent);border-color:var(--accent);background:rgba(37,99,235,.05)}.btn-edit svg{flex-shrink:0}.score-render.editing svg{cursor:crosshair}.score-render.selecting svg{cursor:default}.score-render.selecting svg .abcjs-chord,.score-render.selecting svg .abcjs-decoration,.score-render.selecting svg .abcjs-dynamics,.score-render.selecting svg .abcjs-note,.score-render.selecting svg .abcjs-rest,.score-render.selecting svg text{cursor:pointer}.score-render svg .selected-note,.score-render svg .selected-note *,.score-render svg ellipse.selected-note,.score-render svg g.selected-note ellipse,.score-render svg g.selected-note path,.score-render svg g.selected-note rect,.score-render svg g.selected-note text,.score-render svg path.selected-note,.score-render svg text.selected-note{fill:#ef4444!important;stroke:#dc2626!important;color:#ef4444!important}.score-render svg .abcjs-chord,.score-render svg .abcjs-decoration,.score-render svg .abcjs-dynamics,.score-render svg .abcjs-note,.score-render svg .abcjs-rest,.score-render svg ellipse,.score-render svg path,.score-render svg rect,.score-render svg text{cursor:pointer;pointer-events:auto}.score-render.editing svg .abcjs-note,.score-render.editing svg .abcjs-rest,.score-render.editing svg text,.score-render.selecting svg .abcjs-note,.score-render.selecting svg .abcjs-rest,.score-render.selecting svg text{stroke:transparent;stroke-width:15px;paint-order:stroke fill}.score-render svg .abcjs-chord:hover,.score-render svg .abcjs-decoration:hover,.score-render svg .abcjs-dynamics:hover,.score-render svg .abcjs-note:hover,.score-render svg .abcjs-rest:hover,.score-render svg text:hover{filter:brightness(.6)}.btn-dashboard,.btn-login,.btn-save{padding:8px 16px;border-radius:6px;font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .15s ease;text-decoration:none}.btn-save{background:var(--accent);color:#fff;border:none}.btn-save:hover:not(:disabled){background:var(--accent-hover)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-save.saved{background:var(--success)}.btn-save.error{background:var(--error)}.btn-dashboard,.btn-login{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-dashboard:hover,.btn-login:hover{border-color:var(--accent);color:var(--accent)}.save-modal-overlay{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:100;padding:20px}.save-modal{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.save-modal h3{font-family:var(--font-mono);font-size:18px;font-weight:700;margin:0 0 24px}.save-modal input{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px;margin-bottom:20px;outline:none;transition:border-color .15s ease}.save-modal input:focus{border-color:var(--accent)}.save-modal-actions{display:flex;gap:12px;justify-content:flex-end}.save-modal-actions .btn-cancel{padding:12px 20px;background:transparent;border:1px solid var(--border);border-radius:8px;font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.save-modal-actions .btn-cancel:hover{border-color:var(--border-hover);color:var(--text)}.save-modal-actions .btn-create{padding:12px 24px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .15s ease}.save-modal-actions .btn-create:hover:not(:disabled){background:var(--accent-hover)}.save-modal-actions .btn-create:disabled{opacity:.6;cursor:not-allowed}