.ql-tone-token{display:inline-flex;align-items:center;background:var(--bs-tertiary-bg);color:var(--bs-body-color);border:1px solid var(--bs-border-color);border-radius:4px;padding:0 6px;margin:0 2px;font-family:"Monaco","Consolas",monospace;font-weight:600;font-size:.9em;user-select:none;cursor:default}.ql-tone-token:hover{background:var(--bs-secondary-bg);border-color:var(--bs-secondary-color)}.ql-tone-token.is-playing{background:var(--bs-primary);color:var(--bs-primary-contrast, var(--bs-white));transform:scale(1.1);transition:all .1s ease}.ql-keyscale-token{display:inline-flex;align-items:center;background:var(--bs-primary);color:var(--bs-primary-contrast, var(--bs-white)) !important;border-radius:4px;padding:2px 8px;margin:0 4px;font-size:.85rem;font-weight:bold;cursor:pointer;border:1px solid rgba(var(--bs-black-rgb), 0.1);box-shadow:0 1px 3px rgba(var(--bs-black-rgb), 0.2)}.ql-blot-display-editor{align-items:center;display:none;gap:.35rem;margin:.25rem 0 0;max-width:100%;vertical-align:middle}.ql-editor .ql-blot-display-editor,.ea-quill-editor .ql-blot-display-editor,.quill-sandbox-component .ql-blot-display-editor{display:inline-flex}.ql-blot-display-editor__label{color:var(--bs-secondary-color);font-size:.75rem;line-height:1}.ql-blot-display-editor__select{min-width:6.25rem}.ql-blot-display--compact{--ql-blot-display-gap: 0.5rem}.ql-blot-display--compact .ql-article-card__badges,.ql-blot-display--compact .ql-state-card__facts,.ql-blot-display--compact .ql-file-embed__path{display:none}.ql-blot-display--compact .ql-article-card__summary,.ql-blot-display--compact .ql-state-card__summary,.ql-blot-display--compact .ql-circular-rhythm-card__meta{font-size:.875rem}.ql-blot-display--minimal .ql-article-card__badges,.ql-blot-display--minimal .ql-article-card__fields,.ql-blot-display--minimal .ql-article-card__summary,.ql-blot-display--minimal .ql-state-card__facts,.ql-blot-display--minimal .ql-state-card__details,.ql-blot-display--minimal .ql-file-embed__path,.ql-blot-display--minimal .ql-file-embed__media-slot,.ql-blot-display--minimal .ql-circular-rhythm-card__preview,.ql-blot-display--minimal .ql-circular-rhythm-card__controls,.ql-blot-display--minimal .chord-progression-grid,.ql-blot-display--minimal .sandbox-graphical-harmony__canvas-wrap,.ql-blot-display--minimal .instrument-canvas-container,.ql-blot-display--minimal .osmd-render-container,.ql-blot-display--minimal .pr-mount-point{display:none}.ql-blot-display--minimal{min-height:0}.ql-osmd-wrapper{margin:20px 0;border:1px solid var(--sandbox-border, var(--bs-border-color));background:var(--sandbox-card-bg, var(--bs-body-bg));border-radius:6px;overflow:hidden}.osmd-render-container{width:100% !important;min-height:400px;background:rgba(0,0,0,0) !important;color:var(--sandbox-text, var(--bs-emphasis-color, currentColor));padding:10px;display:block}.osmd-render-container svg,.osmd-render-container canvas{background:rgba(0,0,0,0) !important}.osmd-blot-header{background:var(--sandbox-ruler-bg, var(--bs-tertiary-bg));color:var(--sandbox-text, var(--bs-body-color));border-bottom:1px solid var(--sandbox-border, var(--bs-border-color));font-family:monospace;font-size:12px}.osmd-playback-status{min-width:4rem;color:var(--sandbox-muted, var(--bs-secondary-color));text-align:right}.ql-performance-card{--ql-performance-border: var(--sandbox-border, var(--bs-border-color));--ql-performance-surface: var(--sandbox-card-bg, var(--bs-card-bg, var(--bs-body-bg)));--ql-performance-soft-bg: color-mix(in oklab, var(--ql-performance-surface) 96%, var(--sandbox-text, var(--bs-body-color)) 4%);display:block;margin:1rem 0;border:1px solid var(--ql-performance-border);border-radius:8px;background:var(--ql-performance-surface);color:var(--sandbox-text, var(--bs-body-color));overflow:hidden}.ql-performance-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1rem .7rem;border-bottom:1px solid var(--ql-performance-border)}.ql-performance-card__eyebrow{color:var(--bs-secondary-color);font-size:.68rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.ql-performance-card__title{margin-top:.15rem;font-size:1rem;font-weight:700;line-height:1.25}.ql-performance-card__tools{display:flex;flex:0 0 auto;align-items:center;gap:.35rem}.ql-performance-card__body{padding:.85rem 1rem 1rem}.ql-performance-card__selector{display:grid;grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr) auto;gap:.5rem;align-items:stretch;margin-bottom:.5rem}.ql-performance-card__field{min-width:0;padding:.45rem .5rem;border:1px solid var(--ql-performance-border);border-radius:6px;background:var(--ql-performance-soft-bg)}.ql-performance-card__field-label,.ql-performance-card__field-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ql-performance-card__field-label{color:var(--bs-secondary-color);font-size:.68rem;font-weight:700}.ql-performance-card__field-value{margin-top:.1rem;font-size:.82rem}.ql-performance-card__actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;justify-content:flex-end;min-width:0}.ql-performance-card__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;color:var(--bs-secondary-color);font-size:.75rem}.ql-performance-card__playback-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.85rem;padding:.5rem;border:1px solid var(--ql-performance-border);border-radius:6px;background:var(--ql-performance-soft-bg)}.ql-performance-card__tempo{display:inline-flex;align-items:center;gap:.35rem;margin:0;color:var(--bs-secondary-color);font-size:.75rem;font-weight:600}.ql-performance-card__tempo input{width:5rem;min-height:1.95rem;padding-block:.2rem;border-color:var(--ql-performance-border);background:var(--ql-performance-surface);color:inherit}.ql-performance-card__loop[aria-pressed=true]{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--bs-primary-contrast) 45%, transparent)}.ql-performance-card__time{margin-left:auto;color:var(--bs-secondary-color);font-variant-numeric:tabular-nums;font-size:.75rem;white-space:nowrap}.ql-performance-card__timeline{position:relative;height:52px;border:1px solid var(--ql-performance-border);border-radius:6px;background-color:var(--ql-performance-soft-bg);background-image:repeating-linear-gradient(90deg, color-mix(in oklab, var(--ql-performance-border) 58%, transparent) 0 1px, transparent 1px 12.5%);overflow:hidden}.ql-performance-card__event,.ql-performance-card__marker{position:absolute;display:block}.ql-performance-card__event{top:18px;height:16px;border-radius:3px;background:var(--bs-info)}.ql-performance-card__marker{top:8px;width:2px;height:36px;background:var(--sandbox-text, var(--bs-body-color))}.ql-performance-card__density{height:4px;margin-top:.75rem;border-radius:999px;background:var(--ql-performance-border);overflow:hidden}.ql-performance-card__density span{display:block;height:100%;background:var(--sandbox-success, var(--bs-success))}.ql-performance-card__track-container{border:1px solid var(--ql-performance-border);border-radius:6px;background:var(--ql-performance-soft-bg);overflow:hidden}.ql-performance-card__instrument-canvas{display:block;min-height:260px;background:var(--ql-performance-surface)}.ql-performance-card__canvas-mount{min-height:260px}.ql-performance-card__canvas-mount [data-sandbox-canvas-instrument-target=mount]{min-height:260px}.ql-editor .ql-performance-card.ql-selected{outline:2px solid var(--bs-primary);box-shadow:0 0 0 4px color-mix(in oklab, var(--bs-primary) 22%, transparent)}@media(max-width: 575.98px){.ql-performance-card__header{align-items:stretch;flex-direction:column}.ql-performance-card__selector{grid-template-columns:minmax(0, 1fr)}.ql-performance-card__actions{justify-content:flex-start}.ql-performance-card__time{width:100%;margin-left:0}}.ql-circular-rhythm-card{--ql-circular-rhythm-preview-min: 5.5rem;--ql-circular-rhythm-preview-max: 7rem;display:grid;grid-template-columns:minmax(var(--ql-circular-rhythm-preview-min), var(--ql-circular-rhythm-preview-max)) minmax(0, 1fr);align-items:center;gap:1rem;margin:1rem 0;padding:.85rem;border:1px solid var(--sandbox-border, var(--bs-border-color));border-radius:8px;background:var(--sandbox-card-bg, var(--bs-body-bg))}.ql-circular-rhythm-card--size-sm{--ql-circular-rhythm-preview-min: 4.5rem;--ql-circular-rhythm-preview-max: 5.5rem}.ql-circular-rhythm-card--size-lg{--ql-circular-rhythm-preview-min: 9rem;--ql-circular-rhythm-preview-max: 12rem}.ql-circular-rhythm-card--size-xl{--ql-circular-rhythm-preview-min: 12rem;--ql-circular-rhythm-preview-max: 16rem}.ql-circular-rhythm-card__preview{inline-size:100%;aspect-ratio:1}.ql-circular-rhythm-card__svg{display:block;inline-size:100%;block-size:100%}.ql-circular-rhythm-card__body{min-width:0}.ql-circular-rhythm-card__title{display:block;color:inherit;font-size:.95rem;font-weight:650;line-height:1.25;overflow-wrap:anywhere;text-decoration:none}a.ql-circular-rhythm-card__title:hover{text-decoration:underline}.ql-circular-rhythm-card__meta{margin-top:.25rem;color:var(--bs-secondary-color);font-size:.78rem;line-height:1.35}.ql-circular-rhythm-card__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.65rem}.ql-circular-rhythm-card__transport{min-width:4.25rem}.ql-circular-rhythm-card__tempo{display:inline-flex;align-items:center;gap:.35rem;margin:0;color:var(--bs-secondary-color);font-size:.75rem;font-weight:600}.ql-circular-rhythm-card__tempo input{inline-size:4.75rem;min-height:1.85rem;padding:.2rem .4rem;border:1px solid var(--sandbox-border, var(--bs-border-color));border-radius:6px;background:var(--sandbox-card-bg, var(--bs-body-bg));color:inherit}.ql-circular-rhythm-card__engine{display:flex;flex-wrap:wrap;gap:.45rem;inline-size:100%}.ql-circular-rhythm-card__engine label{display:inline-flex;flex-direction:column;gap:.2rem;min-inline-size:6.5rem;margin:0;color:var(--bs-secondary-color);font-size:.72rem;font-weight:600}.ql-circular-rhythm-card__engine select{min-height:1.85rem;padding:.2rem 1.45rem .2rem .4rem;border:1px solid var(--sandbox-border, var(--bs-border-color));border-radius:6px;background-color:var(--sandbox-card-bg, var(--bs-body-bg));color:var(--bs-body-color);font-size:.78rem}.ql-circular-rhythm-size-editor{align-items:center;display:none;gap:.35rem;margin:.25rem 0 0;max-width:100%}.ql-editor .ql-circular-rhythm-size-editor,.ea-quill-editor .ql-circular-rhythm-size-editor,.quill-sandbox-component .ql-circular-rhythm-size-editor{display:inline-flex}.ql-circular-rhythm-size-editor__label{color:var(--bs-secondary-color);font-size:.75rem;line-height:1}.ql-circular-rhythm-size-editor__select{min-width:6.25rem}.ql-circular-rhythm-card__playhead{opacity:0;transition:opacity .12s ease}.ql-circular-rhythm-card.is-playing .ql-circular-rhythm-card__playhead{opacity:1}@media(max-width: 575.98px){.ql-circular-rhythm-card{grid-template-columns:minmax(5.25rem, min(36vw, var(--ql-circular-rhythm-preview-max))) minmax(0, 1fr);gap:.75rem}.ql-circular-rhythm-card--size-lg,.ql-circular-rhythm-card--size-xl{grid-template-columns:1fr}.ql-circular-rhythm-card--size-lg .ql-circular-rhythm-card__preview,.ql-circular-rhythm-card--size-xl .ql-circular-rhythm-card__preview{max-inline-size:min(var(--ql-circular-rhythm-preview-max),78vw)}}.ql-keyscale-card{display:block;position:relative;margin:1.5rem auto;padding:0;border:1px solid var(--sandbox-card-border, var(--bs-border-color));border-radius:8px;background-color:var(--sandbox-card-bg, var(--bs-body-bg));box-shadow:0 4px 12px rgba(var(--bs-black-rgb), 0.15);width:100%;max-width:800px;min-height:400px;text-align:center;overflow:hidden}.ql-keyscale-card.ql-selected{outline:2px solid var(--sandbox-accent, var(--bs-primary));box-shadow:0 0 10px rgba(var(--bs-primary-rgb), 0.4)}.ql-bootstrap-table-card{border:1px solid color-mix(in srgb, var(--bs-border-color) 88%, var(--bs-emphasis-color) 12%);border-left:5px solid var(--bs-success);border-radius:.8rem;margin:.75rem 0;overflow:hidden;background:var(--bs-body-bg);color:var(--bs-body-color)}.ql-bootstrap-table-card__header{padding:.85rem 1rem .65rem;background:color-mix(in srgb, var(--bs-body-bg) 86%, var(--bs-success-bg-subtle) 14%);border-bottom:1px solid var(--bs-border-color)}.ql-bootstrap-table-card__title{font-size:1rem;font-weight:700;line-height:1.25}.ql-bootstrap-table-card__summary{margin-top:.25rem;color:color-mix(in srgb, var(--bs-body-color) 72%, transparent);font-size:.9rem;line-height:1.45}.ql-bootstrap-table-card__responsive{margin:0}.ql-bootstrap-table-card .table{--bs-table-bg: transparent;font-size:.92rem}.ql-bootstrap-table-card .table caption{padding:.55rem 1rem;color:var(--bs-secondary-color);font-size:.82rem}.ql-bootstrap-table-card .table th{color:color-mix(in srgb, var(--bs-body-color) 76%, transparent);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.ql-bootstrap-table-card .table td,.ql-bootstrap-table-card .table th{padding:.6rem .75rem;vertical-align:top}.ql-bootstrap-table-card__display{margin:.55rem .75rem .75rem}.ql-blot-display--compact .ql-bootstrap-table-card__summary,.ql-blot-display--compact .ql-bootstrap-table-card .table caption{display:none}.ql-blot-display--minimal .ql-bootstrap-table-card__summary,.ql-blot-display--minimal .ql-bootstrap-table-card__responsive,.ql-blot-display--minimal .ql-bootstrap-table-card>.table,.ql-blot-display--minimal .ql-bootstrap-table-card__display{display:none}@media(max-width: 575.98px){.ql-bootstrap-table-card{border-radius:.65rem}.ql-bootstrap-table-card .table{font-size:.86rem}}.ql-editor .ql-file-embed{margin:1rem 0}.ql-file-embed__card{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.75rem .9rem;border:1px solid var(--sandbox-card-border, var(--bs-border-color));border-radius:8px;background:var(--sandbox-card-bg, var(--bs-body-bg))}.ql-file-embed__icon{font-size:1.25rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--sandbox-muted, var(--bs-secondary-color))}.ql-file-embed__icon-svg{width:1.1rem;height:1.1rem}.ql-file-embed__title{font-weight:600;line-height:1.2}.ql-file-embed__meta,.ql-file-embed__path{font-size:.8rem;color:var(--sandbox-muted, var(--bs-secondary-color));line-height:1.25}.ql-file-embed__path{word-break:break-all}.ql-file-embed__preview{margin-top:.55rem}.ql-file-embed__player{width:100%;max-width:100%}.ql-file-embed__preview--image{border:1px solid var(--sandbox-card-border, var(--bs-border-color));border-radius:8px;padding:.35rem;background:color-mix(in oklab, var(--sandbox-card-bg, var(--bs-body-bg)) 94%, var(--sandbox-bg, var(--bs-tertiary-bg)))}.ql-file-embed__image{display:block;width:100%;max-height:380px;object-fit:contain;border-radius:6px}.ql-file-embed__preview--midi{border:1px dashed var(--sandbox-card-border, var(--bs-border-color));border-radius:8px;padding:.6rem}.ql-file-embed__preview--audio,.ql-file-embed__preview--osmd{border:1px dashed var(--sandbox-card-border, var(--bs-border-color));border-radius:8px;padding:.6rem}.ql-audio-player__controls{display:flex;gap:.5rem;flex-wrap:wrap}.ql-audio-player__status{margin-top:.45rem}.ql-midi-player__controls{display:flex;gap:.5rem;flex-wrap:wrap}.ql-midi-player__status{margin-top:.45rem}.ql-wave-player__controls{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.ql-wave-player__wave{width:100%;min-height:72px}.ql-midi-osmd__canvas{width:100%;overflow:auto}.ql-file-picker-list{display:grid;gap:.5rem}.ql-file-picker-item{width:100%;text-align:left;border:1px solid var(--sandbox-card-border, var(--bs-border-color));background:var(--sandbox-card-bg, var(--bs-body-bg));border-radius:8px;padding:.65rem .75rem;color:var(--sandbox-text, var(--bs-body-color))}.ql-file-picker-item:hover{background:color-mix(in oklab, var(--sandbox-card-bg, var(--bs-body-bg)) 84%, var(--sandbox-bg, var(--bs-tertiary-bg)));border-color:var(--sandbox-border, var(--bs-border-color))}.ql-file-picker-item__meta{font-size:.8rem;color:var(--sandbox-muted, var(--bs-secondary-color))}.ql-file-picker-item__icon{width:.95rem;height:.95rem;color:var(--sandbox-muted, var(--bs-secondary-color));flex:0 0 auto}.ql-file-embed__actions{display:flex;flex-direction:column;gap:.45rem}.ql-file-embed__editor-options{display:none;min-width:170px}.ql-editor .ql-file-embed__editor-options{display:flex;flex-direction:column;gap:.25rem}.ql-file-embed__editor-label{font-size:.72rem;color:var(--sandbox-muted, var(--bs-secondary-color));font-weight:600}.ql-file-embed__editor-select{min-width:160px}.ql-editor .ql-state-card{margin:1rem 0;border:1px solid var(--sandbox-card-border, var(--bs-border-color));border-radius:8px;background:var(--sandbox-card-bg, var(--bs-body-bg));overflow:hidden}.ql-state-card__header{font-weight:700;font-size:.95rem;padding:.55rem .75rem;border-bottom:1px solid var(--sandbox-card-border, var(--bs-border-color))}.ql-state-card__summary{padding:.45rem .75rem;font-size:.86rem;color:var(--sandbox-muted, var(--bs-secondary-color))}.ql-state-card__facts{padding:0 .75rem .45rem;display:flex;flex-wrap:wrap;gap:.35rem}.ql-state-card__fact{display:inline-flex;gap:.25rem;align-items:baseline;font-size:.76rem;padding:.18rem .45rem;border:1px solid var(--sandbox-card-border, var(--bs-border-color));border-radius:999px;background:rgba(var(--bs-body-color-rgb), 0.08)}.ql-state-card__details{padding:0 .75rem .75rem}.ql-state-viz{padding:0 .75rem .65rem}.ql-state-viz__track{position:relative;height:18px;border-radius:999px;background:rgba(var(--bs-body-color-rgb), 0.16);border:1px solid var(--sandbox-card-border, var(--bs-border-color));overflow:hidden}.ql-state-viz__seg{position:absolute;top:2px;height:12px;border-radius:999px;background:linear-gradient(90deg, var(--bs-primary), var(--bs-secondary))}.ql-state-viz__meter{width:100%;height:12px;border-radius:999px;border:1px solid var(--sandbox-card-border, var(--bs-border-color));background:rgba(var(--bs-body-color-rgb), 0.12);overflow:hidden}.ql-state-viz__meter>span{display:block;height:100%;background:linear-gradient(90deg, var(--bs-info), var(--bs-info))}.ql-state-viz__meter--alt>span{background:linear-gradient(90deg, var(--bs-info), var(--bs-success))}.ql-state-viz__caption{font-size:.76rem;color:var(--sandbox-muted, var(--bs-secondary-color));margin-top:.25rem}.ql-state-viz__dots{display:grid;grid-template-columns:repeat(12, minmax(0, 1fr));gap:2px;margin-top:.4rem}.ql-state-viz__dot{width:100%;height:6px;border-radius:999px;background:rgba(var(--bs-body-color-rgb), 0.2)}.ql-state-viz__dot.is-on{background:var(--bs-info)}.ql-state-viz__lanes{display:flex;flex-direction:column;gap:.28rem}.ql-state-viz__lane{display:flex;align-items:center;gap:.45rem}.ql-state-viz__lane-name{font-size:.72rem;color:var(--sandbox-muted, var(--bs-secondary-color));width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ql-state-viz__lane-bar{display:inline-block;height:7px;border-radius:999px;background:linear-gradient(90deg, var(--bs-success), var(--bs-info));min-width:8px}.ql-state-viz--roll .ql-state-viz__roll{position:relative;height:64px;border-radius:6px;border:1px solid var(--sandbox-card-border, var(--bs-border-color));background:linear-gradient(transparent 31px, rgba(var(--bs-body-color-rgb), 0.18) 32px, transparent 33px),linear-gradient(90deg, rgba(var(--bs-body-color-rgb), 0.08) 1px, transparent 1px);background-size:100% 32px,20px 100%;overflow:hidden}.ql-state-viz__note{position:absolute;height:6px;border-radius:2px;background:linear-gradient(90deg, var(--bs-success), var(--bs-info));transform:translateY(-3px)}.ql-state-viz__steps{display:grid;grid-template-columns:repeat(16, minmax(0, 1fr));gap:2px}.ql-state-viz__step{width:100%;height:8px;border-radius:2px;background:rgba(var(--bs-body-color-rgb), 0.24)}.ql-state-viz__step.is-on{background:linear-gradient(180deg, var(--bs-info), var(--bs-success))}.ql-state-viz__tones{display:flex;flex-wrap:wrap;gap:.35rem}.ql-state-viz__facts-inline{margin-top:.35rem;display:flex;gap:.6rem;font-size:.74rem;color:var(--sandbox-muted, var(--bs-secondary-color))}.ql-state-viz__tone{font-size:.75rem;padding:.18rem .5rem;border-radius:999px;border:1px solid var(--sandbox-card-border, var(--bs-border-color));background:rgba(var(--bs-body-color-rgb), 0.08)}.ql-state-card__details>summary{cursor:pointer;font-size:.82rem;color:var(--sandbox-muted, var(--bs-secondary-color))}.ql-state-card__json{margin-top:.5rem;font-size:.78rem;line-height:1.35;max-height:280px;overflow:auto;background:rgba(var(--bs-body-color-rgb), 0.12);border-radius:6px;padding:.6rem}.ql-state-card--harmony .ql-state-card__header{border-left:4px solid var(--bs-primary)}.ql-state-card--performance .ql-state-card__header{border-left:4px solid var(--bs-info)}.ql-state-card--performer .ql-state-card__header{border-left:4px solid var(--bs-info)}.ql-state-card--instrument .ql-state-card__header{border-left:4px solid var(--bs-success)}.ql-state-card--media .ql-state-card__header{border-left:4px solid var(--bs-warning)}.ql-state-card--article .ql-state-card__header{border-left:4px solid var(--bs-danger)}.ql-state-card--theory .ql-state-card__header{border-left:4px solid var(--bs-secondary)}.ql-article-card{border:1px solid color-mix(in srgb, var(--bs-border-color) 85%, var(--bs-emphasis-color) 15%);border-left-width:5px;border-radius:.9rem;padding:.9rem 1rem;margin:.5rem 0;background:linear-gradient(180deg, color-mix(in srgb, var(--bs-body-bg) 92%, var(--bs-warning-bg-subtle) 8%), var(--bs-body-bg));color:var(--bs-body-color)}.ql-article-card--pedagogy{border-left-color:var(--bs-warning)}.ql-article-card--editorial{border-left-color:var(--bs-secondary);background:linear-gradient(180deg, color-mix(in srgb, var(--bs-body-bg) 90%, var(--bs-secondary-bg-subtle) 10%), var(--bs-body-bg))}.ql-article-card--resource{border-left-color:var(--bs-primary);background:linear-gradient(180deg, color-mix(in srgb, var(--bs-body-bg) 92%, var(--bs-primary-bg-subtle) 8%), var(--bs-body-bg))}.ql-article-card__header{display:flex;flex-direction:column;gap:.2rem}.ql-article-card__eyebrow{font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--bs-body-color) 55%, transparent)}.ql-article-card__title{font-size:1rem;font-weight:700;line-height:1.25}.ql-article-card__badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.ql-article-card__badge{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:600;line-height:1.2}.ql-article-card__badge--audience{background:rgba(var(--bs-primary-rgb), 0.12);color:var(--bs-primary-text-emphasis)}.ql-article-card__badge--context{background:rgba(var(--bs-success-rgb), 0.12);color:var(--bs-success-text-emphasis)}.ql-article-card__summary{margin-top:.7rem;font-size:.95rem;line-height:1.5;white-space:pre-wrap}.ql-article-card__fields{display:grid;grid-template-columns:repeat(auto-fit, minmax(132px, 1fr));gap:.55rem;margin-top:.8rem}.ql-article-card__field{border-radius:.75rem;padding:.55rem .7rem;background:color-mix(in srgb, var(--bs-body-bg) 78%, var(--bs-warning-bg-subtle) 22%)}.ql-article-card__field-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb, var(--bs-body-color) 58%, transparent)}.ql-article-card__field-value{display:block;margin-top:.2rem;font-size:.9rem;font-weight:600}.ql-jolymusic-card{border:1px solid var(--bs-border-color);border-radius:8px;background:var(--bs-body-bg);color:var(--bs-body-color);margin:1rem 0;overflow:hidden}.ql-jolymusic-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.875rem 1rem;border-left:4px solid var(--bs-success);background:var(--bs-tertiary-bg)}.ql-jolymusic-card__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--bs-success)}.ql-jolymusic-card__title{margin-top:.2rem;font-size:1rem;font-weight:700;line-height:1.25}.ql-jolymusic-card__tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.ql-jolymusic-card__open,.ql-jolymusic-card__partner{display:inline-flex;align-items:center;min-height:2rem;padding:.35rem .65rem;border:1px solid var(--bs-border-color);border-radius:6px;color:var(--bs-success);font-size:.875rem;font-weight:600;text-decoration:none}.ql-jolymusic-card__open:hover,.ql-jolymusic-card__partner:hover{border-color:var(--bs-success);color:var(--bs-success-text-emphasis);text-decoration:none}.ql-jolymusic-card__partner[data-partner-program=amazon-associates]{border-color:var(--bs-warning);background:var(--bs-warning);color:var(--bs-warning-contrast, var(--bs-dark));font-weight:800;box-shadow:0 4px 10px rgba(var(--bs-warning-rgb), 0.24)}.ql-jolymusic-card__partner[data-partner-program=amazon-associates]:hover{border-color:var(--bs-warning-text-emphasis);background:var(--bs-warning);color:var(--bs-warning-contrast, var(--bs-dark))}.ql-jolymusic-card__body{padding:1rem}.ql-jolymusic-card__fields{display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:.75rem}.ql-jolymusic-card__field{min-width:0}.ql-jolymusic-card__field-label{display:block;color:var(--bs-secondary-color);font-size:.75rem;font-weight:700;text-transform:uppercase}.ql-jolymusic-card__field-value{display:block;overflow-wrap:anywhere;font-size:.925rem}.ql-jolymusic-card__partners{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding:.75rem;border:1px solid var(--bs-warning-border-subtle);border-radius:8px;background:var(--bs-warning-bg-subtle)}.ql-editor .ql-jolymusic-card.ql-selected{outline:2px solid var(--bs-success);outline-offset:2px}.ql-tool-action-card{border:1px solid color-mix(in srgb, var(--bs-border-color) 86%, var(--bs-emphasis-color) 14%);border-left-width:5px;border-radius:.8rem;padding:.95rem 1rem;margin:.65rem 0;background:linear-gradient(180deg, color-mix(in srgb, var(--bs-body-bg) 90%, var(--bs-primary-bg-subtle) 10%), var(--bs-body-bg));color:var(--bs-body-color)}.ql-tool-action-card--enclosure{border-left-color:var(--bs-success)}.ql-tool-action-card--bergonzi{border-left-color:var(--bs-secondary)}.ql-tool-action-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.ql-tool-action-card__eyebrow{font-size:.73rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--bs-body-color) 58%, transparent)}.ql-tool-action-card__title{margin-top:.18rem;font-size:1rem;font-weight:700;line-height:1.25}.ql-tool-action-card__action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;padding:.35rem .7rem;background:var(--bs-primary);color:var(--bs-primary-contrast, var(--bs-white));font-size:.82rem;font-weight:700;line-height:1.2;text-decoration:none}.ql-tool-action-card__action:hover,.ql-tool-action-card__action:focus{color:var(--bs-primary-contrast, var(--bs-white));text-decoration:underline}.ql-tool-action-card__action--static,.ql-tool-action-card__action--static:hover,.ql-tool-action-card__action--static:focus{background:color-mix(in srgb, var(--bs-body-color) 12%, transparent);color:var(--bs-body-color)}.ql-tool-action-card__badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.ql-tool-action-card__badge{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:600;line-height:1.2}.ql-tool-action-card__badge--audience{background:rgba(var(--bs-primary-rgb), 0.12);color:var(--bs-primary-text-emphasis)}.ql-tool-action-card__badge--context{background:rgba(var(--bs-success-rgb), 0.12);color:var(--bs-success-text-emphasis)}.ql-tool-action-card__summary{margin-top:.7rem;font-size:.95rem;line-height:1.5}.ql-tool-action-card__fields{display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:.55rem;margin-top:.8rem}.ql-tool-action-card__field{border-radius:.7rem;padding:.55rem .7rem;background:color-mix(in srgb, var(--bs-body-bg) 80%, var(--bs-primary-bg-subtle) 20%)}.ql-tool-action-card__field span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--bs-body-color) 58%, transparent)}.ql-tool-action-card__field strong{display:block;margin-top:.2rem;font-size:.9rem;line-height:1.3;overflow-wrap:anywhere}@media(max-width: 575.98px){.ql-tool-action-card__header{flex-direction:column}}.ql-run-formula-card{margin:1rem 0}.ql-run-formula-card__surface{overflow:hidden;border:1px solid color-mix(in srgb, var(--bs-primary) 24%, var(--bs-border-color));border-radius:var(--bs-border-radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--bs-primary) 7%, transparent), transparent 55%),var(--bs-body-bg);box-shadow:0 .5rem 1.25rem rgba(var(--bs-emphasis-color-rgb), 0.06)}.ql-run-formula-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem}.ql-run-formula-card__heading,.ql-run-formula-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.ql-run-formula-card__title{line-height:1.2}.ql-run-formula-card__formula{margin:0;padding:1rem;overflow-x:auto;border-block:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg);color:var(--bs-body-color);font-size:.92rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.ql-run-formula-card__description{margin:0;padding:.8rem 1rem .9rem;color:var(--bs-secondary-color);font-size:.925rem}.ql-run-formula-card__status{min-height:1.8rem;padding:.35rem 1rem;color:var(--bs-secondary-color);font-size:.82rem}.ql-run-formula-card__comparison{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:.85rem;padding:1rem}.ql-run-formula-card__comparison-panel{min-width:0;padding:.75rem;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);background:color-mix(in srgb, var(--bs-body-bg) 94%, var(--bs-secondary-bg))}.ql-run-formula-card__comparison-panel--negative{border-color:color-mix(in srgb, var(--bs-primary) 38%, var(--bs-border-color));background:color-mix(in srgb, var(--bs-primary) 5%, var(--bs-body-bg))}.ql-run-formula-card__comparison-header{display:grid;gap:.35rem;margin-bottom:.6rem}.ql-run-formula-card__comparison-label{color:var(--bs-secondary-color);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ql-run-formula-card__comparison-panel--negative .ql-run-formula-card__comparison-label{color:var(--bs-primary)}.ql-run-formula-card__comparison-code{overflow-wrap:anywhere;color:var(--bs-emphasis-color);font-size:.78rem}.ql-run-formula-card__comparison-controls{display:flex;gap:.4rem;margin-bottom:.35rem}.ql-run-formula-card__comparison-status{min-height:1.6rem;color:var(--bs-secondary-color);font-size:.78rem}.ql-run-formula-card__score-host{min-height:8rem;overflow-x:auto;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);background:var(--bs-body-bg);color:var(--bs-body-color)}.ql-run-formula-card__score-host>.small{padding:1rem}.ql-run-formula-card.ql-blot-display--compact .ql-run-formula-card__description,.ql-run-formula-card.ql-blot-display--compact .ql-run-formula-card__score-host,.ql-run-formula-card.ql-blot-display--minimal .ql-run-formula-card__description,.ql-run-formula-card.ql-blot-display--minimal .ql-run-formula-card__score-host,.ql-run-formula-card.ql-blot-display--minimal .ql-run-formula-card__status,.ql-run-formula-card.ql-blot-display--minimal .ql-run-formula-card__actions{display:none}.ql-run-formula-card.ql-blot-display--minimal .ql-run-formula-card__formula{border-bottom:0}@media(max-width: 575.98px){.ql-run-formula-card__header{align-items:flex-start;flex-direction:column}}@media(max-width: 991.98px){.ql-run-formula-card__comparison{grid-template-columns:1fr}}.jm-tonnetz-loader{--jm-tonnetz-size: 3rem;--jm-tonnetz-note-0: #ef4444;--jm-tonnetz-note-1: #f97316;--jm-tonnetz-note-2: #f59e0b;--jm-tonnetz-note-3: #eab308;--jm-tonnetz-note-4: #84cc16;--jm-tonnetz-note-5: #22c55e;--jm-tonnetz-note-6: #14b8a6;--jm-tonnetz-note-7: #06b6d4;--jm-tonnetz-note-8: #3b82f6;--jm-tonnetz-note-9: #6366f1;--jm-tonnetz-note-10: #a855f7;--jm-tonnetz-note-11: #ec4899;--jm-tonnetz-glow-a: color-mix(in srgb, var(--jm-tonnetz-note-0) 24%, transparent);--jm-tonnetz-glow-b: color-mix(in srgb, var(--jm-tonnetz-note-8) 24%, transparent);--jm-tonnetz-glow-c: color-mix(in srgb, var(--jm-tonnetz-note-11) 22%, transparent);position:relative;display:inline-grid;place-items:center;width:var(--jm-tonnetz-size);height:var(--jm-tonnetz-size);min-width:var(--jm-tonnetz-size);min-height:var(--jm-tonnetz-size);aspect-ratio:1;isolation:isolate;filter:drop-shadow(0 0 0.55rem var(--jm-tonnetz-glow-a)) drop-shadow(0 0 0.8rem var(--jm-tonnetz-glow-b)) drop-shadow(0 0 1rem var(--jm-tonnetz-glow-c))}.jm-tonnetz-loader__mesh{position:relative;inset:auto;display:grid;place-items:center;width:100%;height:100%}.jm-tonnetz-loader__svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 0.55rem color-mix(in srgb, var(--jm-tonnetz-note-8) 22%, transparent)) drop-shadow(0 0 0.85rem color-mix(in srgb, var(--jm-tonnetz-note-11) 18%, transparent));animation:jm-loader-tonnetz-drift 2.8s ease-in-out infinite}.jm-tonnetz-loader__polygons polygon{fill:color-mix(in srgb, var(--jm-loader-poly-color, var(--jm-tonnetz-note-8)) 26%, transparent);stroke:color-mix(in srgb, var(--jm-loader-poly-color, var(--jm-tonnetz-note-8)) 88%, transparent);stroke-width:1.8px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:jm-loader-tonnetz-poly 1.9s ease-in-out infinite}.jm-tonnetz-loader__polygons polygon:nth-child(1){--jm-loader-poly-color: var(--jm-tonnetz-note-0);animation-delay:-1.4s}.jm-tonnetz-loader__polygons polygon:nth-child(2){--jm-loader-poly-color: var(--jm-tonnetz-note-2);animation-delay:-0.9s}.jm-tonnetz-loader__polygons polygon:nth-child(3){--jm-loader-poly-color: var(--jm-tonnetz-note-4);animation-delay:-0.3s}.jm-tonnetz-loader__polygons polygon:nth-child(4){--jm-loader-poly-color: var(--jm-tonnetz-note-6);animation-delay:-1.1s}.jm-tonnetz-loader__polygons polygon:nth-child(5){--jm-loader-poly-color: var(--jm-tonnetz-note-8);animation-delay:-0.6s}.jm-tonnetz-loader__polygons polygon:nth-child(6){--jm-loader-poly-color: var(--jm-tonnetz-note-10);animation-delay:-1.7s}.jm-tonnetz-loader__polygons polygon:nth-child(7){--jm-loader-poly-color: var(--jm-tonnetz-note-11);animation-delay:-0.1s}.jm-tonnetz-loader__lines line{stroke:color-mix(in srgb, var(--bs-body-color, #0f172a) 56%, transparent);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:3 5;vector-effect:non-scaling-stroke;animation:jm-loader-tonnetz-line 2.6s linear infinite}.jm-tonnetz-loader__lines line:nth-child(odd){animation-delay:-0.8s}.jm-tonnetz-loader__node{fill:var(--jm-loader-node-color, var(--jm-tonnetz-note-8));stroke:rgba(255,255,255,.92);stroke-width:1.8px;vector-effect:non-scaling-stroke;transform-box:fill-box;filter:drop-shadow(0 0 0.45rem color-mix(in srgb, var(--jm-loader-node-color, var(--jm-tonnetz-note-8)) 46%, transparent));transform-origin:center;animation:jm-loader-tonnetz-node 1.6s ease-in-out infinite}.jm-tonnetz-loader__node--0{--jm-loader-node-color: var(--jm-tonnetz-note-0);animation-delay:-1.4s}.jm-tonnetz-loader__node--1{--jm-loader-node-color: var(--jm-tonnetz-note-2);animation-delay:-1.1s}.jm-tonnetz-loader__node--2{--jm-loader-node-color: var(--jm-tonnetz-note-4);animation-delay:-0.7s}.jm-tonnetz-loader__node--3{--jm-loader-node-color: var(--jm-tonnetz-note-6);animation-delay:-0.2s}.jm-tonnetz-loader__node--4{--jm-loader-node-color: var(--jm-tonnetz-note-8);animation-delay:-0.9s}.jm-tonnetz-loader__node--5{--jm-loader-node-color: var(--jm-tonnetz-note-10);animation-delay:-1.6s}.jm-tonnetz-loader__node--6{--jm-loader-node-color: var(--jm-tonnetz-note-1);animation-delay:-0.5s}.jm-tonnetz-loader__node--7{--jm-loader-node-color: var(--jm-tonnetz-note-7);animation-delay:-1.9s}.jm-tonnetz-loader__node--8{--jm-loader-node-color: var(--jm-tonnetz-note-11);animation-delay:-1.2s}@media(prefers-reduced-motion: reduce){.jm-tonnetz-loader__svg,.jm-tonnetz-loader__polygons polygon,.jm-tonnetz-loader__lines line,.jm-tonnetz-loader__node{animation:none}}@keyframes jm-loader-tonnetz-drift{0%,100%{transform:translateY(1.5%) rotate(-2deg) scale(0.985)}50%{transform:translateY(-1.5%) rotate(2deg) scale(1.015)}}@keyframes jm-loader-tonnetz-poly{0%,100%{opacity:.24}45%{opacity:.74}70%{opacity:.4}}@keyframes jm-loader-tonnetz-line{to{stroke-dashoffset:-16}}@keyframes jm-loader-tonnetz-node{0%,100%{opacity:.78;transform:scale(0.9)}45%{opacity:1;transform:scale(1.08)}70%{opacity:.88;transform:scale(0.96)}}.loading-mask-host{position:relative}.loading-mask-host--busy{pointer-events:auto}.loading-mask-overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:.75rem;border-radius:inherit;background:rgba(0,0,0,0);backdrop-filter:none}.loading-mask-overlay__box{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;min-width:6rem;padding:.75rem .9rem;border:1px solid var(--bs-border-color);border-radius:.75rem;background:var(--bs-body-bg);box-shadow:0 .35rem 1rem rgba(0,0,0,.14)}.loading-mask-overlay__label{font-size:.72rem;line-height:1.1;color:var(--bs-secondary-color);text-align:center;white-space:nowrap}.loading-mask-spinner{--jm-tonnetz-size: 1.9rem}.ql-harmonic-journey-card{--harmonic-journey-height: 520px;display:block;width:100%;margin:1rem 0;color:var(--bs-body-color)}.ql-harmonic-journey-card--sm{--harmonic-journey-height: 300px}.ql-harmonic-journey-card--md{--harmonic-journey-height: 410px}.ql-harmonic-journey-card--lg{--harmonic-journey-height: 560px}.harmonic-journey{overflow:hidden;border:1px solid rgba(var(--bs-body-color-rgb), 0.14);border-radius:1rem;background:radial-gradient(circle at 22% 0%, rgba(var(--bs-primary-rgb), 0.12), transparent 34%),var(--bs-card-bg, var(--bs-body-bg));box-shadow:0 14px 34px rgba(var(--bs-body-color-rgb), 0.08)}.harmonic-journey__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem .7rem}.harmonic-journey__header-actions{display:flex;align-items:stretch;gap:.55rem}.harmonic-journey__eyebrow,.harmonic-journey__current-label,.harmonic-journey__routes-heading{color:var(--bs-secondary-color);font-size:.72rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.harmonic-journey__title{margin-top:.2rem;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;line-height:1.2}.harmonic-journey__description{margin:0;padding:0 1.1rem .75rem;color:var(--bs-secondary-color)}.harmonic-journey__meta{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1.1rem .9rem}.harmonic-journey__meta span{display:inline-flex;gap:.3rem;padding:.26rem .55rem;border:1px solid rgba(var(--bs-body-color-rgb), 0.12);border-radius:999px;background:rgba(var(--bs-body-color-rgb), 0.035);font-size:.78rem}.harmonic-journey__workspace{display:grid;grid-template-columns:minmax(0, 2fr) minmax(15rem, 0.8fr);min-height:var(--harmonic-journey-height);border-top:1px solid rgba(var(--bs-body-color-rgb), 0.1)}.harmonic-journey__network-wrap{position:relative;min-width:0;min-height:var(--harmonic-journey-height);background:radial-gradient(circle at 50% 50%, rgba(var(--bs-primary-rgb), 0.11), transparent 56%),rgba(var(--bs-body-color-rgb), 0.018)}.harmonic-journey__network{width:100%;height:var(--harmonic-journey-height);touch-action:none}.harmonic-journey__loading-mask{background:rgba(var(--bs-body-bg-rgb), 0.58);backdrop-filter:blur(4px)}.harmonic-journey__loading-mask .loading-mask-overlay__box{min-width:11rem;border-color:rgba(var(--bs-primary-rgb), 0.3);box-shadow:0 1rem 2.4rem rgba(var(--bs-body-color-rgb), 0.2)}.harmonic-journey__loading-mask .loading-mask-spinner{--jm-tonnetz-size: 3.2rem}.harmonic-journey__legend{position:absolute;right:.7rem;bottom:.65rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;pointer-events:none}.harmonic-journey__legend span{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .4rem;border-radius:999px;background:rgba(var(--bs-body-bg-rgb), 0.88);box-shadow:0 2px 9px rgba(var(--bs-body-color-rgb), 0.12);font-size:.68rem;font-weight:650}.harmonic-journey__legend span::before{width:.55rem;height:.55rem;border-radius:50%;background:var(--bs-primary);content:""}.harmonic-journey__legend span[data-mode=key]::before{background:conic-gradient(var(--bs-danger), var(--bs-warning), var(--bs-success), var(--bs-primary), var(--bs-secondary), var(--bs-danger))}.harmonic-journey__legend span[data-mode=minor]::before{background:var(--bs-secondary)}.harmonic-journey__legend span[data-mode=lydian]::before{background:var(--bs-success)}.harmonic-journey__legend span[data-mode=phrygian]::before{background:var(--bs-danger)}.harmonic-journey__legend span[data-mode=route]::before{width:.85rem;height:.24rem;border-radius:999px;background:var(--bs-warning);box-shadow:0 0 .45rem rgba(var(--bs-warning-rgb), 0.85)}.harmonic-journey__navigator{min-width:0;max-height:var(--harmonic-journey-height);overflow:auto;padding:1rem;border-left:1px solid rgba(var(--bs-body-color-rgb), 0.1);background:rgba(var(--bs-body-bg-rgb), 0.48)}.harmonic-journey__current{display:block;margin-top:.3rem;color:var(--bs-primary-text-emphasis);font-size:1.05rem;font-weight:750}.harmonic-journey__path-heading{margin-top:.9rem;color:var(--bs-secondary-color);font-size:.66rem;font-weight:720;letter-spacing:.06em;text-transform:uppercase}.harmonic-journey__path{display:grid;max-height:13.5rem;margin-top:.4rem;padding:.5rem;overflow:auto;border:1px solid rgba(var(--bs-body-color-rgb), 0.13);border-radius:.7rem;background:linear-gradient(180deg, rgba(var(--bs-warning-rgb), 0.08), transparent 45%),rgba(var(--bs-body-bg-rgb), 0.72);box-shadow:inset 0 0 0 1px rgba(var(--bs-warning-rgb), 0.05)}.harmonic-journey__path-step{display:grid;grid-template-columns:1.65rem minmax(0, 1fr);align-items:center;width:100%;min-height:2.35rem;gap:.45rem;padding:.38rem .5rem;border:1px solid rgba(0,0,0,0);border-radius:.5rem;background:rgba(var(--bs-body-color-rgb), 0.035);color:inherit;font:inherit;text-align:left;cursor:pointer}.harmonic-journey__path-step strong{overflow:hidden;font-size:.72rem;line-height:1.2;text-overflow:ellipsis}.harmonic-journey__path-number{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border:1px solid rgba(var(--bs-body-color-rgb), 0.22);border-radius:50%;background:var(--bs-body-bg);color:var(--bs-secondary-color);font-size:.65rem;font-weight:800}.harmonic-journey__path-step[data-kind=chord]{border-left:3px solid var(--bs-warning);background:rgba(var(--bs-warning-rgb), 0.07)}.harmonic-journey__path-step[data-kind=chord] .harmonic-journey__path-number{border-color:var(--bs-warning);border-radius:.35rem;color:var(--bs-warning-text-emphasis)}.harmonic-journey__path-step[data-state=visited]{border-color:rgba(var(--bs-success-rgb), 0.3);background:rgba(var(--bs-success-rgb), 0.08)}.harmonic-journey__path-step[data-state=visited] .harmonic-journey__path-number{border-color:var(--bs-success);background:var(--bs-success);color:var(--bs-success-contrast, var(--bs-white))}.harmonic-journey__path-step[data-state=current]{border-color:var(--bs-warning);background:rgba(var(--bs-warning-rgb), 0.2);box-shadow:0 0 0 2px rgba(var(--bs-warning-rgb), 0.16),0 .3rem .9rem rgba(var(--bs-warning-rgb), 0.13)}.harmonic-journey__path-step[data-state=current] .harmonic-journey__path-number{border-color:var(--bs-warning);background:var(--bs-warning);color:var(--bs-warning-contrast, var(--bs-dark))}.harmonic-journey__path-step:hover,.harmonic-journey__path-step:focus-visible,.harmonic-journey__path-step.is-playing{border-color:var(--bs-primary);box-shadow:0 0 0 3px rgba(var(--bs-primary-rgb), 0.14);outline:none}.harmonic-journey__path-connector{justify-self:start;height:1.1rem;margin-left:.72rem;color:var(--bs-warning);font-size:.9rem;font-weight:900;line-height:1.1rem;transform:rotate(90deg)}.harmonic-journey__path-empty{padding:.35rem;color:var(--bs-secondary-color);font-size:.72rem}.harmonic-journey__step-actions{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:.45rem;margin-top:.75rem}.harmonic-journey__arrow-button{display:flex;align-items:center;justify-content:space-between;min-height:2.55rem;gap:.45rem;padding:.45rem .65rem;border:1px solid rgba(var(--bs-primary-rgb), 0.38);border-radius:.55rem;background:rgba(var(--bs-primary-rgb), 0.07);color:var(--bs-primary);font:inherit;cursor:pointer}.harmonic-journey__arrow-button--next{border-color:var(--bs-primary);background:var(--bs-primary);color:var(--bs-primary-contrast, var(--bs-white))}.harmonic-journey__arrow-button span{font-size:1.35rem;font-weight:500;line-height:1}.harmonic-journey__arrow-button strong{font-size:.72rem;font-weight:760}.harmonic-journey__arrow-button:hover:not(:disabled),.harmonic-journey__arrow-button:focus-visible:not(:disabled),.harmonic-journey__arrow-button.is-playing{box-shadow:0 0 0 3px rgba(var(--bs-primary-rgb), 0.14);transform:translateY(-1px)}.harmonic-journey__arrow-button:disabled{opacity:.32;cursor:not-allowed}.harmonic-journey__status{margin:.85rem 0 1rem;padding:.65rem .75rem;border-left:3px solid var(--bs-primary);border-radius:.35rem;background:rgba(var(--bs-primary-rgb), 0.08);color:var(--bs-secondary-color);font-size:.78rem;line-height:1.4}.harmonic-journey__material-inspector{margin:0 0 1rem;padding:.75rem;border:1px solid rgba(var(--bs-body-color-rgb), 0.12);border-radius:.65rem;background:rgba(var(--bs-body-bg-rgb), 0.7)}.harmonic-journey__material-header{display:grid;gap:.55rem}.harmonic-journey__material-hint{display:block;margin-top:.15rem;color:var(--bs-secondary-color);font-size:.64rem;line-height:1.3}.harmonic-journey__view-switch{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));overflow:hidden;border:1px solid rgba(var(--bs-body-color-rgb), 0.14);border-radius:.45rem}.harmonic-journey__view-switch--primary{min-width:15rem;background:var(--bs-body-bg);box-shadow:0 .25rem .8rem rgba(var(--bs-body-color-rgb), 0.1)}.harmonic-journey__view-button{min-height:2rem;padding:.3rem .35rem;border:0;border-left:1px solid rgba(var(--bs-body-color-rgb), 0.12);background:rgba(0,0,0,0);color:var(--bs-secondary-color);font-size:.68rem;font-weight:680;line-height:1.15;cursor:pointer}.harmonic-journey__view-button:first-child{border-left:0}.harmonic-journey__view-button:hover,.harmonic-journey__view-button:focus-visible,.harmonic-journey__view-button[aria-pressed=true]{background:rgba(var(--bs-primary-rgb), 0.12);color:var(--bs-primary)}.harmonic-journey__material{margin-top:.65rem}.harmonic-journey__tone-list{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:.25rem}.harmonic-journey__tone{display:grid;min-width:0;padding:.4rem .15rem;border:1px solid rgba(0,0,0,0);border-radius:.4rem;background:rgba(var(--bs-primary-rgb), 0.09);color:inherit;font:inherit;text-align:center;cursor:pointer}.harmonic-journey__tone small,.harmonic-journey__chord small{color:var(--bs-secondary-color);font-size:.6rem}.harmonic-journey__tone strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis}.harmonic-journey__chord-list{display:grid;grid-template-columns:repeat(auto-fit, minmax(7rem, 1fr));gap:.35rem}.harmonic-journey__chord{display:grid;gap:.2rem;padding:.45rem .5rem;border:1px solid rgba(0,0,0,0);border-radius:.4rem;background:rgba(var(--bs-body-color-rgb), 0.045);color:inherit;font:inherit;text-align:left;cursor:pointer}.harmonic-journey__tone:hover,.harmonic-journey__tone:focus-visible,.harmonic-journey__tone.is-playing,.harmonic-journey__chord:hover,.harmonic-journey__chord:focus-visible,.harmonic-journey__chord.is-playing{border-color:rgba(var(--bs-primary-rgb), 0.55);background:rgba(var(--bs-primary-rgb), 0.16)}.harmonic-journey__chord-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem}.harmonic-journey__chord strong{font-size:.78rem}.harmonic-journey__chord-notes{color:var(--bs-secondary-color);font-size:.64rem;overflow-wrap:anywhere}.harmonic-journey__chord.is-selected{border-color:var(--bs-warning);background:rgba(var(--bs-warning-rgb), 0.16);box-shadow:inset 3px 0 var(--bs-warning)}.harmonic-journey__chord-navigator{margin-top:.7rem;padding:.65rem;border:1px solid rgba(var(--bs-body-color-rgb), 0.14);border-radius:.55rem;background:rgba(var(--bs-body-color-rgb), 0.035)}.harmonic-journey__chord-navigator[hidden]{display:none}.harmonic-journey__chord-navigator-heading{font-size:.76rem;font-weight:750}.harmonic-journey__chord-navigator>small{display:block;margin-top:.1rem;color:var(--bs-secondary-color);font-size:.65rem}.harmonic-journey__navigator-section-heading{margin-top:.7rem;color:var(--bs-body-color);font-size:.65rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase}.harmonic-journey__affinity-list{display:grid;max-height:15rem;gap:.35rem;margin-top:.4rem;overflow:auto}.harmonic-journey__affinity-chord{--harmonic-journey-affinity-color: var(--bs-primary);display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:baseline;width:100%;gap:.1rem .45rem;padding:.45rem .52rem;border:1px solid rgba(var(--bs-body-color-rgb), 0.14);border-left:4px solid var(--harmonic-journey-affinity-color);border-radius:.42rem;background:var(--bs-body-bg);color:inherit;font:inherit;text-align:left;cursor:pointer}.harmonic-journey__affinity-chord strong{font-size:.75rem}.harmonic-journey__affinity-chord span{min-width:0;overflow:hidden;color:var(--bs-body-color);font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.harmonic-journey__affinity-chord small{grid-column:1/-1;color:var(--bs-secondary-color);font-size:.6rem}.harmonic-journey__affinity-chord:hover,.harmonic-journey__affinity-chord:focus-visible{border-color:var(--harmonic-journey-affinity-color);background:rgba(var(--bs-primary-rgb), 0.08);box-shadow:inset 3px 0 var(--harmonic-journey-affinity-color)}.harmonic-journey__chord-center-list{display:grid;max-height:12rem;gap:.3rem;margin-top:.5rem;overflow:auto}.harmonic-journey__chord-center{--harmonic-journey-center-color: var(--bs-primary);display:grid;grid-template-columns:.72rem minmax(0, 1fr) auto;align-items:center;width:100%;gap:.45rem;padding:.4rem .5rem;border:1px solid rgba(var(--bs-body-color-rgb), 0.14);border-radius:.42rem;background:var(--bs-body-bg);color:inherit;font:inherit;text-align:left;cursor:pointer}.harmonic-journey__center-swatch{width:.72rem;height:.72rem;border:2px solid rgba(var(--bs-body-bg-rgb), 0.8);border-radius:50%;background:var(--harmonic-journey-center-color);box-shadow:0 0 0 1px var(--harmonic-journey-center-color)}.harmonic-journey__chord-center strong{min-width:0;overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.harmonic-journey__chord-center small{color:var(--bs-secondary-color);font-size:.62rem}.harmonic-journey__chord-center:hover,.harmonic-journey__chord-center:focus-visible,.harmonic-journey__chord-center[aria-current=true]{border-color:var(--harmonic-journey-center-color);background:rgba(var(--bs-primary-rgb), 0.08);box-shadow:inset 3px 0 var(--harmonic-journey-center-color)}.harmonic-journey__routes{display:grid;gap:.45rem;margin:.55rem 0 0;padding:0;list-style:none}.harmonic-journey__route-button{display:grid;width:100%;gap:.2rem;padding:.55rem .6rem;border:1px solid rgba(var(--bs-body-color-rgb), 0.12);border-radius:.45rem;background:var(--bs-body-bg);color:inherit;text-align:left;cursor:pointer}.harmonic-journey__route-button:hover,.harmonic-journey__route-button:focus-visible{border-color:rgba(var(--bs-primary-rgb), 0.55);background:rgba(var(--bs-primary-rgb), 0.09)}.harmonic-journey__route-button[aria-pressed=true]{border-color:var(--bs-warning);background:rgba(var(--bs-warning-rgb), 0.13);box-shadow:inset 4px 0 var(--bs-warning)}.harmonic-journey__route-sequence{overflow-wrap:anywhere;font-size:.76rem;font-weight:680;line-height:1.35}.harmonic-journey__route-button small{color:var(--bs-secondary-color);font-size:.67rem}.ql-harmonic-journey-card.ql-blot-display--compact{--harmonic-journey-height: 340px}.ql-harmonic-journey-card.ql-blot-display--compact .harmonic-journey__description,.ql-harmonic-journey-card.ql-blot-display--compact .harmonic-journey__legend{display:none}.ql-harmonic-journey-card.ql-blot-display--minimal .harmonic-journey__description,.ql-harmonic-journey-card.ql-blot-display--minimal .harmonic-journey__workspace,.ql-harmonic-journey-card.ql-blot-display--minimal .harmonic-journey__fit{display:none}.ql-editor .ql-harmonic-journey-card.ql-selected .harmonic-journey{outline:2px solid var(--bs-primary);outline-offset:2px}@media(max-width: 900px){.harmonic-journey__workspace{grid-template-columns:1fr}.harmonic-journey__navigator{max-height:26rem;border-top:1px solid rgba(var(--bs-body-color-rgb), 0.1);border-left:0}.harmonic-journey__path{max-height:11rem}}@media(max-width: 575.98px){.ql-harmonic-journey-card{--harmonic-journey-height: 390px}.harmonic-journey__header{align-items:stretch;flex-direction:column}.harmonic-journey__header-actions{display:grid;grid-template-columns:minmax(0, 1fr) auto;width:100%}.harmonic-journey__view-switch--primary{min-width:0}.harmonic-journey__fit{align-self:flex-start}}.ql-toolbar.ql-snow button.ql-tone-insert,.ql-toolbar.ql-snow button.ql-keyscale-insert,.ql-toolbar.ql-snow button.ql-graphical-harmony-insert,.ql-toolbar.ql-snow button.ql-harmonic-journey-insert,.ql-toolbar.ql-snow button.ql-osmd-insert,.ql-toolbar.ql-snow button.ql-run-formula-insert{display:inline-flex;align-items:center;justify-content:center}.ql-toolbar.ql-snow button .ql-custom-icon{width:16px;height:16px;float:none;display:block;color:var(--sandbox-text, var(--bs-body-color))}.ql-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;padding:2rem;background:rgba(var(--bs-black-rgb), 0.58);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .25s ease}.ql-modal-overlay.is-active{opacity:1}.ql-modal-container{background:color-mix(in srgb, var(--bs-body-bg) 92%, var(--bs-primary-bg-subtle) 8%);border:1px solid color-mix(in srgb, var(--bs-border-color) 85%, var(--bs-primary) 15%);border-radius:1.2rem;width:min(1040px,100%);max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);overflow:auto;box-shadow:0 28px 80px rgba(var(--bs-black-rgb), 0.28);color:var(--bs-body-color)}.ql-modal-header{padding:1rem 1.25rem;border-bottom:1px solid color-mix(in srgb, var(--bs-border-color) 82%, transparent);display:flex;justify-content:space-between;align-items:center}.ql-modal-title{font-weight:700;color:var(--bs-primary-text-emphasis);font-size:.95rem;letter-spacing:.02em}.ql-modal-close{width:2rem;height:2rem;border-radius:999px;background:rgba(0,0,0,0);border:0;color:color-mix(in srgb, var(--bs-body-color) 55%, transparent);font-size:1.25rem;cursor:pointer}.ql-modal-close:hover,.ql-modal-close:focus{background:rgba(var(--bs-primary-rgb), 0.08);color:var(--bs-primary-text-emphasis)}.ql-modal-body{padding:16px}.ql-modal-overlay--fullscreen{padding:.75rem}.ql-modal-container--fullscreen{width:calc(100vw - 1.5rem);max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 1.5rem);height:calc(100vh - 1.5rem);border-radius:1rem;display:flex;flex-direction:column;overflow:hidden}.ql-modal-body--fullscreen{flex:1 1 auto;min-height:0;overflow:auto;padding:0}.ql-modal-input{background:var(--bs-body-bg) !important;border-color:color-mix(in srgb, var(--bs-border-color) 88%, var(--bs-primary) 12%) !important;color:var(--bs-body-color) !important}.ql-score-dropzone{cursor:pointer;border:2px dashed var(--bs-border-color)}.ql-editor.blog-content .ql-keyscale-card,.ql-editor.blog-content .ql-graphical-harmony-card,.ql-editor.blog-content .ql-osmd-wrapper,.ql-editor.blog-content .ql-article-card,.ql-editor.blog-content .ql-state-card,.ql-editor.blog-content .ql-circular-rhythm-card,.ql-editor.blog-content .ql-file-embed,.ql-editor.blog-content .ql-performance-card{margin-block:.35rem;white-space:normal}.ql-editor.blog-content .ql-progression-card{white-space:normal}.ql-editor.blog-content .ql-keyscale-card{--sandbox-graphical-harmony-height: 300px !important;margin-inline:0;max-width:none;min-height:0;border-radius:.4rem}.ql-editor.blog-content .ql-osmd-wrapper{border-radius:.35rem}.ql-editor.blog-content .osmd-blot-header{padding:.25rem .4rem !important}.ql-editor.blog-content .osmd-render-container{min-height:0;padding:.15rem}.ql-editor.blog-content>.ql-special-blot-spacer{height:.3rem;min-height:0;margin:0;line-height:.3rem}.ql-editor.blog-content .ql-progression-card>.border,.ql-editor.blog-content .ql-progression-card .chord-progression-grid>.card-body{padding:.4rem !important}.ql-editor.blog-content .ql-progression-card .mb-2,.ql-editor.blog-content .ql-progression-card .mb-3{margin-bottom:.3rem !important}.ql-editor.blog-content .ql-article-card{border-left-width:3px;border-radius:.45rem;padding:.4rem .5rem}.ql-editor.blog-content .ql-article-card__header{gap:.1rem}.ql-editor.blog-content .ql-article-card__badges,.ql-editor.blog-content .ql-article-card__summary,.ql-editor.blog-content .ql-article-card__fields{margin-top:.35rem}.ql-editor.blog-content .ql-article-card__fields{gap:.3rem}.ql-editor.blog-content .ql-article-card__field{border-radius:.4rem;padding:.3rem .4rem}.ql-editor.blog-content .ql-blot-display-editor{gap:.2rem;margin-top:.1rem}.ql-editor.blog-content .ql-blot-display-editor__select,.ql-editor.blog-content .ql-blot-edit-button{min-height:1.75rem;padding:.15rem .35rem}.blog-content .ql-blog-toc__title{margin:.8rem 0 0;padding:.45rem .7rem .1rem;border:1px solid color-mix(in srgb, var(--bs-border-color) 82%, var(--bs-primary) 18%);border-bottom:0;border-left:4px solid var(--bs-primary);border-radius:.55rem .55rem 0 0;background:color-mix(in srgb, var(--bs-tertiary-bg) 82%, transparent);font-weight:700}.blog-content .ql-blog-toc__intro{margin:0;padding:0 .7rem .25rem;border-inline:1px solid color-mix(in srgb, var(--bs-border-color) 82%, var(--bs-primary) 18%);border-left-width:4px;color:var(--bs-secondary-color);background:color-mix(in srgb, var(--bs-tertiary-bg) 82%, transparent)}.blog-content .ql-blog-toc__list{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:.1rem 1.25rem;margin:0 0 1rem;padding:.3rem .7rem .45rem 2rem;border:1px solid color-mix(in srgb, var(--bs-border-color) 82%, var(--bs-primary) 18%);border-top:0;border-left:4px solid var(--bs-primary);border-radius:0 0 .55rem .55rem;background:color-mix(in srgb, var(--bs-tertiary-bg) 82%, transparent)}.blog-content .ql-blog-toc__list>li{margin:.08rem 0;padding-left:.15rem}.blog-content .ql-blog-toc__list>li:nth-child(-n+4),.blog-content .ql-blog-toc__list>li:nth-child(10){grid-column:1}.blog-content .ql-blog-toc__list>li:nth-child(n+5):nth-child(-n+9){grid-column:2}.blog-content .ql-blog-toc__list>li:nth-child(1),.blog-content .ql-blog-toc__list>li:nth-child(5){grid-row:1}.blog-content .ql-blog-toc__list>li:nth-child(2),.blog-content .ql-blog-toc__list>li:nth-child(6){grid-row:2}.blog-content .ql-blog-toc__list>li:nth-child(3),.blog-content .ql-blog-toc__list>li:nth-child(7){grid-row:3}.blog-content .ql-blog-toc__list>li:nth-child(4),.blog-content .ql-blog-toc__list>li:nth-child(8){grid-row:4}.blog-content .ql-blog-toc__list>li:nth-child(9),.blog-content .ql-blog-toc__list>li:nth-child(10){grid-row:5}.blog-content .ql-blog-toc__list ol{margin:.1rem 0 0;padding-left:1.1rem}.blog-content .ql-blog-toc__list a{text-decoration:none}.blog-content .ql-blog-toc__list a:hover,.blog-content .ql-blog-toc__list a:focus-visible{text-decoration:underline}.blog-content h2[id]{scroll-margin-top:5rem}@media(max-width: 767.98px){.blog-content .ql-blog-toc__list{grid-template-columns:1fr}.blog-content .ql-blog-toc__list>li:nth-child(n){grid-column:auto;grid-row:auto}}
