:root{--bg-dark:#0f172a;--panel-bg:#1e293b;--panel-border:#334155;--accent-blue:#38bdf8;--accent-indigo:#6366f1;--accent-purple:#a855f7;--accent-green:#22c55e;--accent-red:#ef4444;--accent-orange:#f97316;--accent-yellow:#eab308;--text-main:#f8fafc;--text-muted:#94a3b8;--editor-bg:#090d16}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);flex-direction:column;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;display:flex}header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--panel-border);z-index:100;background:#1e293bcc;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-logo{background:linear-gradient(135deg, var(--accent-blue), var(--accent-indigo));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;font-size:26px;font-weight:800}.nav-links{align-items:center;gap:16px;display:flex}.nav-btn{color:var(--text-main);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.nav-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.nav-btn-primary{background:linear-gradient(135deg, var(--accent-blue), var(--accent-indigo));color:#fff;border:none;font-weight:600}.nav-btn-primary:hover{opacity:.9;color:#fff}.app-header-block{max-width:1400px;margin:0 auto;padding:32px 24px 0}.controls-grid{grid-template-columns:repeat(3,1fr);gap:24px;width:100%;max-width:1400px;margin:0 auto;padding:24px;display:grid}.bottom-content-area{flex-direction:column;gap:24px;width:100%;max-width:1400px;margin:0 auto;padding:24px;display:flex}.sidebar{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;height:100%;padding:24px}.sidebar-title{color:var(--accent-blue);text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px;font-size:16px;font-weight:700}.form-section{margin-bottom:24px}.form-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px;font-size:12px;font-weight:600}.select-wrapper{flex-direction:column;gap:8px;display:flex;position:relative}select,input[type=text],input[type=number]{appearance:none;background:var(--editor-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--panel-border);color:var(--text-main);cursor:pointer;border-radius:10px;width:100%;padding:10px 36px 10px 14px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 2px #0003}select:hover,input[type=text]:hover,input[type=number]:hover{border-color:var(--accent-blue);box-shadow:0 0 8px #38bdf840}select:focus,input[type=text]:focus,input[type=number]:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 12px #38bdf859}select option{color:var(--text-main);background:#0f172a;padding:10px;font-weight:500}.range-slider-wrapper{flex-direction:column;gap:8px;display:flex}.range-header-flex{justify-content:space-between;align-items:center;display:flex}.range-value-badge{color:var(--accent-blue);background:#38bdf81a;border:1px solid #38bdf840;border-radius:6px;padding:2px 10px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}input[type=range]{appearance:none;background:var(--editor-bg);border:1px solid var(--panel-border);cursor:pointer;border-radius:4px;outline:none;width:100%;height:6px;transition:all .2s}input[type=range]::-webkit-slider-thumb{appearance:none;background:linear-gradient(135deg, var(--accent-blue), var(--accent-indigo));cursor:pointer;border-radius:50%;width:18px;height:18px;transition:transform .15s,box-shadow .15s;box-shadow:0 0 10px #38bdf866}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 14px #38bdf899}.segment-switch{background:var(--editor-bg);border:1px solid var(--panel-border);-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:10px;padding:4px;display:flex;position:relative}.segment-slider{background:linear-gradient(135deg, var(--accent-blue), var(--accent-indigo));border-radius:7px;width:calc(50% - 4px);height:calc(100% - 8px);transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;left:4px;box-shadow:0 0 12px #38bdf859}.segment-option{text-align:center;color:var(--text-muted);z-index:1;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;transition:color .2s;display:flex}.segment-option.active{color:#fff}.control-header-flex{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.accidental-toggle{background:var(--editor-bg);border:1px solid var(--panel-border);border-radius:6px;padding:2px;display:flex}.acc-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600;transition:all .15s}.acc-btn.active{background:linear-gradient(135deg, var(--accent-blue), var(--accent-indigo));color:#fff;box-shadow:0 0 8px #38bdf84d}.note-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;display:grid}.note-grid-accidentals{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.note-btn{background:var(--editor-bg);border:1px solid var(--panel-border);color:var(--text-muted);cursor:pointer;text-align:center;border-radius:6px;padding:8px 0;font-size:.8rem;font-weight:600;transition:all .15s}.note-btn:hover{border-color:var(--accent-blue);color:var(--text-main)}.note-btn.active{background:linear-gradient(135deg, var(--accent-blue), var(--accent-indigo));color:#fff;border-color:#0000;box-shadow:0 0 12px #38bdf866}.preview-section{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;overflow:hidden}.preview-header{border-bottom:1px solid var(--panel-border);background:#0f172a66;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.preview-title{color:var(--text-main);font-size:16px;font-weight:600}.preview-actions{gap:8px;display:flex}.btn-icon{background:var(--editor-bg);border:1px solid var(--panel-border);color:var(--text-main);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.btn-icon:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.preview-canvas{background:var(--editor-bg);background-image:radial-gradient(circle,#38bdf80d 0%,#0000 70%);justify-content:center;align-items:center;min-height:380px;padding:48px 32px;display:flex;position:relative}.svg-container{transform-origin:50%;background:#fff;border:1px solid #fff3;border-radius:12px;padding:24px 32px;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;display:inline-block;transform:scale(1.18);box-shadow:0 20px 40px -15px #0009,0 0 20px #38bdf826}.svg-container:hover{transform:scale(1.22);box-shadow:0 25px 50px -12px #000000b3,0 0 30px #38bdf840}.svg-container svg{max-width:100%;height:auto;display:block}.code-section{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;overflow:hidden}.code-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#0f172a66;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.code-wrapper{display:flex;position:relative}.line-numbers{background:var(--editor-bg);width:48px;color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid var(--panel-border);padding:16px 0;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.6}.line-numbers div{padding-right:12px}.code-input{background:var(--editor-bg);color:#e2e8f0;resize:none;white-space:pre;tab-size:2;border:none;outline:none;flex:1;width:100%;min-height:200px;padding:16px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.6}
