.chord-beat-toggle{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.chord-primary-row,.chord-advanced-row{flex-direction:column;align-items:stretch;gap:10px;display:flex}.chord-primary-row{flex:1;padding-bottom:30px;position:relative}.chord-advanced-row{margin-top:8px}.harmony-bounds{background:#ffffffb8;border:1px solid #52504a24;border-radius:22px;gap:18px;padding:18px 18px 16px;display:grid;box-shadow:0 18px 44px #1e1d1a14}.workflow-stage-merged .harmony-bounds{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.harmony-analysis-intro{gap:6px;display:grid}.harmony-analysis-intro h3{color:#1e1d1a;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.05rem}.harmony-analysis-intro p{color:#4a4844;max-width:920px;margin:0;font-size:.95rem;line-height:1.5}.harmony-analysis-box{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.harmony-analysis-box-inner{justify-items:stretch;gap:16px;display:grid}.harmony-analysis-title{letter-spacing:.04em;color:#1e1d1a;width:fit-content;margin:0;font-size:1.18rem}.harmony-analysis-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.harmony-analysis-eyebrow{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);letter-spacing:.2em;text-transform:uppercase;color:#4a4844ad;margin:0 0 6px;font-size:.68rem}.harmony-analysis-pulse{min-height:42px;box-shadow:none;color:#2d3436d1;background:0 0;border:1px solid #52504a1f;border-radius:999px;align-items:center;gap:10px;padding:0 16px;font-size:.92rem;display:inline-flex}.harmony-analysis-pulse-dot{background:var(--landing-periwinkle);border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 6px #6f7cff1f}.harmony-analysis-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:20px;display:grid}.harmony-analysis-left,.harmony-analysis-right{min-width:0}.harmony-overall-key-panel{background:var(--landing-bg);border-radius:24px;gap:14px;padding:18px;display:grid;box-shadow:inset 4px 4px 9px #1e1d1a12,inset -4px -4px 9px #ffffffb3}.harmony-collapsible-panel{border:1px solid #8a81741f;gap:0;padding:0;overflow:visible;box-shadow:12px 14px 28px #1e1d1a14,-8px -8px 18px #ffffffd1,inset 0 1px #ffffff61}.harmony-collapsible-panel.is-collapsed{gap:0}.harmony-collapsible-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.harmony-collapsible-toggle:hover,.harmony-collapsible-toggle:focus-visible{background:linear-gradient(#fff3,#ffffff14)}.harmony-collapsible-toggle:focus-visible{outline-offset:-2px;outline:2px solid #1d7bff59}.harmony-collapsible-toggle>span:first-child{gap:6px;min-width:0;display:grid;overflow:visible}:is(.harmony-learning-strip:has(.melody-tooltip:hover),.harmony-learning-strip:has(.melody-tooltip:focus-within),.harmony-analysis-heading:has(.melody-tooltip:hover),.harmony-analysis-heading:has(.melody-tooltip:focus-within),.harmony-collapsible-toggle:has(.melody-tooltip:hover),.harmony-collapsible-toggle:has(.melody-tooltip:focus-within)){z-index:2400;position:relative}.harmony-learning-strip .melody-tooltip-bubble,.harmony-analysis-title .melody-tooltip-bubble{left:0;right:auto}.harmony-collapsible-glyph{color:#2d3436b8;width:34px;height:34px;box-shadow:var(--bas-shadow-raised);background:linear-gradient(#ffffffc7,#eee9e0eb);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:inline-flex}.harmony-analysis-section-copy{color:#4a4844d1;font-size:.98rem;line-height:1.45;display:block}.harmony-collapsible-panel.is-expanded .harmony-overall-key-actions,.harmony-collapsible-panel.is-expanded .harmony-rerun,.harmony-collapsible-panel.is-expanded .harmony-muted{margin:0 18px 18px}.harmony-collapsible-panel.is-expanded .harmony-overall-key-actions:first-of-type{margin-top:0}.harmony-overall-key-label{letter-spacing:.18em;text-transform:uppercase;color:#4a4844d9;font-size:.8rem}.harmony-overall-key-actions{flex-direction:column;align-items:stretch;gap:16px;width:100%;display:flex}.harmony-overall-key-select{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);color:#2a313ee6;letter-spacing:.18em;text-transform:uppercase;appearance:none;background-color:#0000;background-image:linear-gradient(#fffffff0,#f3eee5fa),linear-gradient(45deg,#0000 50%,#595f70bd 50%),linear-gradient(135deg,#595f70bd 50%,#0000 50%);background-position:0 0,calc(100% - 22px) calc(50% - 2px),calc(100% - 15px) calc(50% - 2px);background-repeat:no-repeat;background-size:auto,7px 7px,7px 7px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #d1ddfccc;border-radius:22px;flex:auto;min-width:220px;max-width:none;min-height:56px;padding:0 52px 0 20px;font-size:.84rem;font-weight:700;box-shadow:inset 2px 2px 4px #ffffffd6,inset -4px -4px 8px #ada3942e,0 12px 24px #857a6a24}.harmony-key-actions{flex-direction:column;align-items:stretch;gap:10px;width:100%;display:flex}.harmony-key-row{align-items:center;gap:12px;width:100%;display:flex}.harmony-overall-key-select-plain{letter-spacing:.18em;box-shadow:var(--bas-shadow-carved);appearance:none;max-width:none;font-weight:700}.harmony-overall-key-actions .harmony-key-signature-badge,.harmony-key-row .harmony-key-signature-badge{margin-left:0}.harmony-overall-key-select:focus-visible{border-color:#90a5d7eb;outline:none;box-shadow:inset 2px 2px 4px #ffffffe6,inset -4px -4px 8px #ada3942e,0 0 0 3px #adbeeb52,0 14px 28px #857a6a2e}.harmony-overall-key-actions .harmony-key-signature-badge{margin-left:auto}.harmony-overall-key-static{background:#fff9;border:1px solid #52504a1f;border-radius:12px;padding:10px 12px;font-size:1.05rem;font-weight:600}.harmony-analysis-bullets{color:#4a4844;gap:12px;max-width:920px;margin:0;padding-left:18px;font-size:1rem;line-height:1.6;display:grid}.harmony-analysis-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:10px;display:grid}.harmony-analysis-summary-card{color:#1e1d1ae0;gap:0;padding:0;display:grid}.harmony-analysis-summary-card strong{letter-spacing:-.02em;margin-top:4px;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.05;display:block}.harmony-analysis-summary-label{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);letter-spacing:.18em;text-transform:uppercase;color:#4a4844ad;font-size:.68rem}.harmony-collapsible-toggle-summary{padding-bottom:16px}.harmony-analysis-summary-card .harmony-analysis-bullets{gap:10px;padding:0 24px 22px 40px;font-size:.98rem;line-height:1.55}.harmony-analysis-summary-card .harmony-muted{margin:0 24px 20px}@media (max-width:860px){.harmony-analysis-grid,.harmony-analysis-summary{grid-template-columns:1fr}}.harmony-key-signature-badge{background:#fbfaf6;border:1px solid #52504a29;border-radius:6px;flex:none;justify-content:center;align-items:flex-start;width:132px;height:132px;padding:0 0 8px;display:flex;overflow:visible;box-shadow:0 10px 24px #1e1d1a14}.harmony-key-signature-badge svg{transform-origin:0 0;display:block;transform:translate(8px,-2px)scale(.9)}.harmony-key-signature-badge>svg{margin-left:0;margin-right:0}.chord-roll{margin-top:12px}.chord-primary-row .add-chord-option,.chord-panel-toggle,.chord-merge-button{height:30px}.chord-primary-row .open-chord-toggle,.chord-advanced-row .open-chord-toggle{align-items:center;gap:6px;display:inline-flex}.chord-primary-row{flex-direction:column;align-items:center;row-gap:4px;width:100%;display:flex}.chord-select-group{flex-direction:column;align-items:stretch;gap:6px;width:100%;display:flex;position:relative}.chord-select-trigger-row{justify-content:center;align-items:center;gap:8px;display:flex}.chord-select-trigger-wrap{flex:1;align-items:center;min-width:0;display:inline-flex;position:relative}.chord-measure-label{color:#4a4844;font-size:.85rem}.chord-select-trigger{color:#2d2a26;text-align:center;white-space:normal;overflow-wrap:anywhere;background:#fbfaf6;border:1px solid #c8c2b6;border-radius:6px;width:100%;min-width:0;height:auto;min-height:30px;padding:6px 10px;font-size:.92rem;font-weight:700;line-height:1.15}.chord-pin-toggle{color:#403e3acc;cursor:pointer;z-index:3;background:#fbfaf6e6;border:1px solid #52504a2e;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex;position:absolute;top:2px;right:2px}.chord-pin-toggle-measure{top:auto;bottom:2px;right:2px}.chord-pin-toggle:hover,.chord-pin-toggle:focus-visible{background:#f3f2eef2;border-color:#52504a52}.chord-pin-toggle.is-pinned{color:#136534;background:#22c55e24;border-color:#15803d59}.chord-pin-toggle svg{width:16px;height:16px;display:block}.chord-select-menu{z-index:7000;scrollbar-gutter:stable;background:#fbfaf6;border:1px solid #ded9cf;border-radius:16px;width:220px;max-height:min(60vh,460px);padding:8px 10px 10px;position:fixed;top:0;left:0;overflow:hidden auto;box-shadow:0 8px 20px #1e1d1a1f}.harmony-chord-zone-menu{z-index:12000;overscroll-behavior:contain;padding-bottom:48px}.harmony-zone-popup-actions{min-height:24px;position:relative}.harmony-zone-popup-close{color:#2d2a26d6;cursor:pointer;background:#fbfaf6f0;border:1px solid #52504a29;border-radius:999px;width:26px;height:26px;font-size:18px;line-height:1;position:absolute;top:-2px;right:-2px}.harmony-zone-popup-close:hover,.harmony-zone-popup-close:focus-visible{background:#f0ede6;border-color:#52504a47}.harmony-zone-popup-buttons{position:static}.harmony-zone-pin-toggle{z-index:2;top:auto;bottom:12px;right:12px}.harmony-zone-popup-buttons .add-chord-option,.harmony-zone-popup-buttons .chord-recalc-button{margin-right:42px}.chord-select-menu-handle{cursor:grab;touch-action:none;justify-content:center;align-items:center;padding:0 0 4px;display:flex}.chord-select-menu-handle:active{cursor:grabbing}.chord-select-menu-grip{background:#827c7073;border-radius:999px;width:42px;height:5px;display:block}.chord-scroll-panel{padding-bottom:22px;overflow-y:visible}.harmony-roll-shell{background:var(--landing-bg);border:1px solid #5c60741a;border-radius:24px;width:100%;padding:16px 16px 14px;overflow-x:auto;box-shadow:inset 8px 8px 16px #1e1d1a0f,inset -8px -8px 16px #ffffffdb,16px 18px 38px #1e1d1a0f}.harmony-diatonic-staff{margin-top:18px}.harmony-melody-octave-label{opacity:.65;font-size:12px;font-weight:400}.harmony-roll-content{min-width:720px}.harmony-roll-layout{align-items:stretch;gap:12px;display:flex}.harmony-roll-main{flex:1;min-width:0}.harmony-roll-side{flex-direction:column;gap:8px;padding-top:8px;display:flex}.chord-select-actions{gap:6px;padding:2px 0 0;display:grid}.chord-select-action{text-align:left;color:#2d2a26;background:#f7f4ee;border:1px solid #ded9cf;border-radius:10px;width:100%;padding:6px 8px;font-size:.72rem}.chord-select-action:hover{background:#efece4}.harmony-selected-chord-readout{background:#fbfaf6;border:1px solid #e3ded4;border-radius:10px;gap:3px;margin:4px 2px 8px;padding:8px 10px;display:grid}.harmony-selected-chord-readout span{letter-spacing:.08em;text-transform:uppercase;color:#756f65;font-size:.62rem}.harmony-selected-chord-readout strong{overflow-wrap:anywhere;color:#25211d;min-width:0;font-size:.9rem;line-height:1.15}.chord-all-candidates-list{gap:6px;padding:4px 0 2px;display:grid}.chord-all-candidate-row{grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.chord-all-candidate-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.chord-all-candidate-main{gap:2px;min-width:0;display:grid}.chord-all-candidate-main span,.chord-all-candidate-main small{overflow-wrap:anywhere;min-width:0}.chord-all-candidate-main small{color:#716b61;font-size:.65rem;font-weight:500}.chord-all-candidate-score{color:#716b61;align-self:start;font-size:.62rem;font-weight:700}.chord-all-candidate-limit{color:#716b61;margin:2px 4px 0;font-size:.66rem}.chord-select-divider{background:#e6e1d7;height:1px;margin:6px 0}.chord-select-option{text-align:left;color:#2d2a26;background:0 0;border:none;border-radius:10px;width:100%;padding:5px 6px;font-size:.78rem;font-weight:700}.chord-menu-explainer{color:#6a655c;margin:4px 4px 2px;font-size:.68rem;line-height:1.45}.chord-select-option:hover{background:#f0ede6}.chord-select-add{color:#2f6b4f;font-weight:600}.chord-roman-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px 0 2px;display:grid}.chord-roman-chip{text-align:center;color:#2d2a26;background:#f7f4ee;border:1px solid #d7d1c6;border-radius:10px;padding:6px 4px;font-size:.7rem}.chord-roman-chip small{color:#6a655c;font-size:.65rem;display:block}.chord-panel-toggle{color:#2f2a24;text-align:center;background:#fbfaf6;border:1px solid #52504a38;border-radius:6px;padding:6px 14px;font-size:.82rem;font-weight:500;box-shadow:0 1px #52504a14}.chord-panel-toggle:hover,.chord-panel-toggle:focus-visible{background:#f3f2ee}.chord-panel{background:#fbfaf6;border:1px solid #e2ded5;border-radius:6px;padding:8px}.chord-beat-option{color:#4a4844;align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.chord-merge-button{color:#2f2a24;background:#fbfaf6;border:1px solid #52504a38;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:500;line-height:1.1;box-shadow:0 1px #52504a14}.chord-merge-button:not(:disabled:hover),.chord-merge-button:not(:disabled:focus-visible){background:#f3f2ee}.chord-merge-button:disabled{opacity:.5;cursor:not-allowed}.open-chord-toggle{color:#4a4844;align-items:center;gap:6px;font-size:.8rem;line-height:1;display:flex}.open-chord-toggle input{accent-color:#1e1d1a;margin:0}.add-chord-option{color:#2f2a24;cursor:pointer;text-align:center;background:#fbfaf6;border:1px solid #52504a38;border-radius:6px;padding:6px 16px;font-size:.82rem;font-weight:500;box-shadow:0 1px #52504a14}.add-chord-option:not(:disabled:hover),.add-chord-option:not(:disabled:focus-visible){background:#f3f2ee}.add-chord-option:disabled{opacity:.5;cursor:not-allowed}.chord-roll,.melody-roll{gap:6px;position:relative}.debug-overlay{z-index:20;color:#f2efe7;pointer-events:none;background:#141210b3;border-radius:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;line-height:1.4;position:fixed;top:12px;right:12px}.chord-synth-overlay,.melody-synth-overlay{z-index:5;justify-content:flex-end;display:flex;position:absolute;top:12px;right:12px}.piano-roll.melody-roll{position:relative}.melody-roll .piano-roll-track svg,.chord-roll .piano-roll-track svg{height:auto}.chord-select-row{background:#ffffff8c;border:1px solid #1e1d1a42;border-radius:6px;gap:0;display:grid;overflow:visible;box-shadow:0 16px 40px #1e1d1a17}.chord-select-cell{color:#5b5954;text-align:center;background:#f8f6f1f0;flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:212px;padding:12px 12px 14px;font-size:.75rem;display:flex;position:relative}.chord-select-cell:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.chord-select-cell:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.chord-select-cell:not(:first-child){box-shadow:inset 2px 0 #1e1d1a8c}.chord-select-cell-pinned{background:#22c55e24;flex-direction:column;min-height:168px;padding-top:14px;display:flex}.chord-select-cell-pinned .chord-primary-row{flex-direction:column;flex:1;justify-content:flex-start;display:flex}.chord-select-cell-pinned .chord-select-group{flex-direction:column;flex:none;justify-content:center;display:flex}.chord-select-cell-pinned .chord-select-trigger-row{flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;display:flex}.chord-select-cell-pinned .chord-select-trigger{box-shadow:none;text-align:center;background:0 0;border-color:#0000;width:auto;margin:0 auto;padding:6px 8px}.chord-select-cell-pinned .chord-unpin{position:static;transform:none}.chord-select-cell-pinned .add-chord-option{background:#22c55e1f;border-color:#15803d59}.chord-select-cell-pinned .chord-action-grid{margin-top:10px}.chord-select-cell-updated:after{content:"";pointer-events:none;opacity:0;border:2px solid #1d7bff66;border-radius:6px;animation:1s ease-in-out 3 chordUpdatedPulse;position:absolute;inset:6px;box-shadow:0 0 #1d7bff4d,0 0 18px #1d7bff38}.chord-recommendations-toast{color:#124a9e;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:#1d7bff24;border:1px solid #1d7bff47;border-radius:999px;justify-content:center;align-self:center;align-items:center;margin-top:2px;padding:5px 8px;font-size:.66rem;font-weight:600;display:inline-flex}.chord-option-wrap{position:relative}.chord-option-tooltip{color:#4a4844;white-space:normal;word-break:break-word;opacity:0;pointer-events:none;z-index:70;background:#fff;border:1px solid #ded9cf;border-radius:10px;width:max-content;max-width:min(460px,60vw);padding:8px 10px;font-size:.82rem;font-weight:600;line-height:1.35;transition:opacity .12s,transform .12s;display:inline-block;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);box-shadow:0 8px 16px #1e1d1a1f}.harmony-faq{background:#ffffffb8;border:1px solid #201c141f;border-radius:14px;margin-top:18px;padding:14px 14px 8px;box-shadow:0 14px 26px #0a0a0a0f}.harmony-faq-title{letter-spacing:.02em;margin:0;font-size:1.05rem}.harmony-faq-subtitle{color:#262116b8;margin:6px 0 10px;font-size:.86rem;line-height:1.35}.harmony-faq-list{grid-template-columns:1fr;gap:10px;display:grid}.harmony-faq-item{background:#fbfaf6eb;border:1px solid #201c141f;border-radius:12px;overflow:hidden}.harmony-faq-summary{cursor:pointer;color:#161410eb;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-weight:650;list-style:none;display:flex}.harmony-faq-summary::-webkit-details-marker{display:none}.harmony-faq-item>summary:after{content:"▾";color:#1614108c;font-size:.95rem;transform:translateY(-1px)}.harmony-faq-item[open]>summary:after{content:"▴"}.harmony-faq-body{border-top:1px solid #201c141a;padding:0 12px 12px}.harmony-faq-body p{color:#262116d1;margin:10px 0 0;font-size:.86rem;line-height:1.42}.chord-option-wrap:hover .chord-option-tooltip{opacity:1;transform:translateY(-50%)translate(0)}.harmony-waveform-canvas{height:60px}.harmony-audio-freq{height:60px;padding:10px}.waveform-panel .preview-volume{padding:4px 3px}.waveform-panel .volume-slider{height:56px}.harmony-bounds .preview-volume.midi-volume{color:#ffffffd9;background:#0b0b0b;border-color:#00000073;height:auto}.harmony-bounds .midi-side{align-self:flex-start}.harmony-bounds .preview-volume.midi-volume .volume-slider::-webkit-slider-runnable-track{background:#ffffff40}.harmony-bounds .preview-volume.midi-volume .volume-slider::-moz-range-track{background:#ffffff40}.harmony-bounds .preview-volume.midi-volume .volume-slider::-webkit-slider-thumb{background:#fffffff2;border:1px solid #0000008c}.harmony-bounds .preview-volume.midi-volume .volume-slider::-moz-range-thumb{background:#fffffff2;border:1px solid #0000008c}.harmony-bounds .preview-volume.midi-volume .volume-slider{height:96px}.harmony-bounds .midi-theme-melody.preview-volume.midi-volume{background:var(--landing-bg);color:#2d3436b3;box-shadow:6px 6px 12px #1e1d1a14,-6px -6px 12px #ffffffc7}.harmony-bounds .midi-theme-melody.preview-volume.midi-volume .volume-slider::-webkit-slider-runnable-track{background:var(--landing-bg);box-shadow:inset 3px 3px 6px #1e1d1a1a,inset -2px -2px 5px #ffffffd9}.harmony-bounds .midi-theme-melody.preview-volume.midi-volume .volume-slider::-moz-range-track{background:var(--landing-bg);box-shadow:inset 3px 3px 6px #1e1d1a1a,inset -2px -2px 5px #ffffffd9}.harmony-bounds .midi-theme-melody.preview-volume.midi-volume .volume-slider::-webkit-slider-thumb{background:var(--landing-bg);border:1px solid #ffffff8c;box-shadow:5px 0 10px #1e1d1a24,-2px 0 6px #ffffffd9}.harmony-bounds .midi-theme-melody.preview-volume.midi-volume .volume-slider::-moz-range-thumb{background:var(--landing-bg);border:1px solid #ffffff8c;box-shadow:5px 0 10px #1e1d1a24,-2px 0 6px #ffffffd9}@keyframes chordUpdatedPulse{0%{opacity:0;transform:scale(.985)}35%{opacity:1;transform:scale(1)}70%{opacity:.15;transform:scale(.995)}to{opacity:0;transform:scale(.985)}}.chord-summary{color:#6a655c;margin:0;font-size:.7rem}.chord-menu-label{letter-spacing:.08em;text-transform:uppercase;color:#6a655c;margin:0 2px 2px;font-size:.62rem}.chord-select-cell label:not(.open-chord-toggle:not(.chord-beat-option)){gap:6px;display:grid}.chord-select-cell select{min-height:40px;font-size:.85rem;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);letter-spacing:.12em;text-transform:uppercase;color:#2d3436d1;background:linear-gradient(180deg, #ffffff2e, #ffffff05), var(--landing-bg);box-shadow:var(--bas-shadow-carved);appearance:none;background-image:linear-gradient(#ffffff2e,#ffffff05),linear-gradient(45deg,#0000 50%,#2d34369e 50%),linear-gradient(135deg,#2d34369e 50%,#0000 50%);background-position:0 0,calc(100% - 16px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-repeat:no-repeat;background-size:auto,6px 6px,6px 6px;border:1px solid #fff6;border-radius:14px;padding:0 34px 0 12px;font-weight:700}.chord-action-grid{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.chord-action-grid>*{width:100%}.chord-action-toggles{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.chord-action-buttons{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.chord-recalc-button{color:#ffffffe6;cursor:pointer;text-align:center;background:#0b0b0b;border:1px solid #00000038;border-radius:6px;padding:8px 10px;font-size:.78rem;font-weight:650;box-shadow:0 1px #0000002e}.chord-recalc-button:hover,.chord-recalc-button:focus-visible{background:#111;border-color:#0000004d}.chord-recalc-button:disabled{opacity:.55;cursor:not-allowed}.piano-tone-wrap{z-index:900;align-items:center;display:inline-flex;position:relative}.piano-tone-button{color:#2d3436e6;text-align:center;cursor:pointer;background:linear-gradient(#fffffff0,#f4f1eafa);border:1px solid #d6cfc2e6;border-radius:18px;width:92px;height:52px;padding:0 14px;font-size:.72rem;font-weight:750;line-height:1.1;box-shadow:10px 12px 24px #1e1d1a14,-6px -6px 16px #ffffffd6,inset 0 1px #ffffffeb}.piano-tone-button:hover,.piano-tone-button:focus-visible{background:linear-gradient(#fffffffa,#f6f2eafc);border-color:#b8c8eeb8;box-shadow:12px 14px 28px #1e1d1a1a,-7px -7px 18px #ffffffe0,inset 0 1px #fffffff0}.piano-tone-panel{z-index:950;background:var(--landing-bg);color:#2d3436eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:1px solid #8a817429;border-radius:24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:420px;padding:16px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:14px 18px 34px #1e1d1a1f,-10px -10px 20px #ffffffd1,inset 0 1px #ffffff6b}.piano-tone-panel-header{grid-column:1/-1;justify-content:space-between;align-items:center;padding-bottom:2px;display:flex}.piano-tone-panel-title{letter-spacing:.03em;color:#2d3436;margin:0;font-size:.9rem;font-weight:700}.piano-tone-section{box-shadow:var(--bas-shadow-carved);background:linear-gradient(#ffffff8a,#f4f1eaf5);border-radius:18px;gap:10px;padding:14px;display:grid}.piano-tone-title{letter-spacing:.08em;text-transform:uppercase;color:#4a4844b8;margin:0;font-size:.75rem;font-weight:700}.piano-tone-controls{gap:10px;display:grid}.piano-tone-controls label{color:#2d3436d1;gap:6px;font-size:.74rem;display:grid}.piano-tone-controls input[type=range]{width:100%}.harmony-right-controls{flex-direction:column;align-items:flex-end;gap:10px;margin-left:auto;display:inline-flex}.midi-formatting-wrap{z-index:900;align-items:center;display:inline-flex;position:relative}.midi-formatting-button{color:#2d3436eb;text-align:center;cursor:pointer;background:linear-gradient(#fffffff0,#f4f1eafa);border:1px solid #d6cfc2e6;border-radius:18px;width:92px;height:52px;padding:0 14px;font-size:.72rem;font-weight:750;line-height:1.1;box-shadow:10px 12px 24px #1e1d1a14,-6px -6px 16px #ffffffd6,inset 0 1px #ffffffeb}.midi-formatting-button:hover,.midi-formatting-button:focus-visible{background:linear-gradient(#fffffffa,#f6f2eafc);border-color:#b8c8eeb8;box-shadow:12px 14px 28px #1e1d1a1a,-7px -7px 18px #ffffffe0,inset 0 1px #fffffff0}.midi-formatting-panel{z-index:950;color:#ffffffeb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b0b0b;border:1px solid #ffffff29;border-radius:6px;gap:10px;min-width:210px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 44px #0000008c}.midi-formatting-toggle{color:#ffffffdb;align-items:center;gap:8px;font-size:.78rem;line-height:1.2;display:flex}.midi-formatting-toggle input{accent-color:#2ad67c;margin:0}@media (max-width:720px){.piano-tone-panel{grid-template-columns:1fr;min-width:320px}.harmony-roll-shell{overflow-x:visible}.harmony-roll-content{min-width:0}.harmony-roll-layout{flex-direction:column;gap:12px}.harmony-roll-side{width:100%;padding-top:0}.harmony-chord-range-row{grid-template-columns:1fr;row-gap:8px}.harmony-roll-side .preview-volume.midi-volume{border-radius:16px;gap:8px;padding:8px 12px 7px}.harmony-roll-side .preview-volume.midi-volume>span{letter-spacing:.14em;font-size:.58rem}.harmony-roll-side .preview-volume.midi-volume .volume-slider{width:min(100%,180px);height:14px}.harmony-roll-side .preview-volume.midi-volume .volume-slider::-webkit-slider-runnable-track{height:8px}.harmony-roll-side .preview-volume.midi-volume .volume-slider::-webkit-slider-thumb{width:18px;height:18px;margin-top:-5px}.harmony-roll-side .preview-volume.midi-volume .volume-slider::-moz-range-track{height:8px}.harmony-roll-side .preview-volume.midi-volume .volume-slider::-moz-range-thumb{width:18px;height:18px}}.harmony-chord-tools-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;display:flex}.harmony-chord-range-sliders{flex-direction:column;align-items:flex-start;gap:10px;margin-right:auto;display:flex}.harmony-chord-range-row{grid-template-columns:120px 220px;align-items:center;column-gap:12px;display:grid}.harmony-chord-range-label{white-space:nowrap;color:#2d3436e6;font-size:.92rem}.harmony-chord-range-slider{appearance:none;background:linear-gradient(#e7e2d8f5,#f5f2ebfa);border-radius:999px;width:220px;height:12px;box-shadow:inset 2px 2px 5px #1e1d1a14,inset -2px -2px 5px #ffffffd1}.harmony-chord-range-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:linear-gradient(#fffffff5,#dfe7fcfa);border:1px solid #c1cdeee0;border-radius:999px;width:22px;height:22px;box-shadow:5px 6px 12px #1e1d1a1f,-3px -3px 8px #ffffffe0}.harmony-chord-range-slider::-moz-range-thumb{cursor:pointer;background:linear-gradient(#fffffff5,#dfe7fcfa);border:1px solid #c1cdeee0;border-radius:999px;width:22px;height:22px;box-shadow:5px 6px 12px #1e1d1a1f,-3px -3px 8px #ffffffe0}.harmony-chord-range-slider::-moz-range-track{background:linear-gradient(#e7e2d8f5,#f5f2ebfa);border-radius:999px;height:12px;box-shadow:inset 2px 2px 5px #1e1d1a14,inset -2px -2px 5px #ffffffd1}.harmony-chord-tools-row .midi-formatting-button,.harmony-chord-tools-row .piano-tone-button{border-radius:18px;width:auto;min-width:132px;height:46px;padding:0 16px}.harmony-popover-panel{z-index:6000;max-height:min(70vh,520px);position:fixed;bottom:auto;right:auto;overflow:auto}
