:root{--bg-dark:#0a0e17;--panel-bg:#111827;--panel-border:#ffffff14;--accent-blue:#00f5d4;--accent-indigo:#00b4d8;--accent-purple:#a855f7;--accent-green:#00f5d4;--accent-red:#ef4444;--accent-orange:#f97316;--accent-yellow:#eab308;--text-main:#f8fafc;--text-muted:#94a3b8;--editor-bg:#05080f}*{box-sizing:border-box;margin:0;padding:0}html{overflow-y:scroll}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(16px);z-index:100;background:#0a0e17d9;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0;box-shadow:0 4px 20px #0000004d}.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:#64748b;cursor:pointer;box-shadow:none;box-sizing:border-box;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.nav-btn:hover{color:#e2e8f0;background:0 0}.nav-btn.active{color:#fff;border-bottom:2px solid var(--accent-blue);background:0 0;border-radius:0;font-weight:600}.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;width:100%;height:6px;accent-color:var(--accent-blue);border-radius:4px;outline:none;transition:all .2s}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent-blue);width:18px;height:18px;box-shadow:0 0 10px var(--accent-blue);cursor:pointer;border-radius:50%;transition:transform .15s,box-shadow .15s}input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 14px var(--accent-blue);transform:scale(1.2)}.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:var(--accent-blue);width:calc(50% - 4px);height:calc(100% - 8px);box-shadow:0 0 12px var(--accent-blue);border-radius:7px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;left:4px}.segment-switch.slide-second .segment-slider{transform:translate(100%)}.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:#090d16;font-weight:800}.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:var(--accent-blue);color:#090d16;box-shadow:0 0 10px var(--accent-blue);font-weight:800}.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:var(--accent-blue);color:#090d16;box-shadow:0 0 10px var(--accent-blue);border-color:#0000;font-weight:800}.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}
