.tx{max-width:980px;margin:0 auto;padding:var(--sp-4) var(--sp-3) var(--sp-7);font-family:var(--font-body);color:var(--ink)}.tx-crumbs{font-size:var(--t-small);color:var(--ink-3);margin-bottom:var(--sp-3)}.tx-crumbs a{color:var(--ink-2);text-decoration:none}.tx-crumbs a:first-child{color:var(--accent)}.tx-crumbs span{margin:0 var(--sp-1)}.tx h1{font-family:var(--font-head);font-size:clamp(1.9rem,7vw,2.6rem);font-weight:var(--weight-emphasis);line-height:var(--t-h1-lh);letter-spacing:var(--t-h1-ls);margin:0 0 var(--sp-3)}.tx-entry{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}.tx-entry input{flex:1 1 auto;min-width:0;font:inherit;font-size:var(--t-body);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-strong);background:var(--card);color:var(--ink)}.tx-entry input:focus-visible{outline:var(--focus-ring);outline-offset:-1px}.tx-btn{font:inherit;font-size:var(--t-small);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;white-space:nowrap}.tx-btn:hover{background:var(--bg-2)}.tx-btn:focus-visible{outline:var(--focus-ring);outline-offset:1px}.tx-btn.is-on,.tx-btn[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.tx-seg{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-bottom:var(--sp-3)}.tx-instrument{border:1px solid var(--line);background:var(--bg-2);margin-bottom:var(--sp-4)}.tx-staff{border-top:1px solid var(--line);background:var(--card);padding:var(--sp-2);overflow-x:auto}.tx-empty{padding:var(--sp-4) var(--sp-3)}.tx-empty-title{font-family:var(--font-head);font-size:var(--t-h3);font-weight:var(--weight-emphasis);margin:0 0 var(--sp-3)}.tx-empty table{border-collapse:collapse;font-size:var(--t-small)}.tx-empty td{padding:var(--sp-1) var(--sp-4) var(--sp-1) 0;color:var(--ink-2)}.tx-empty td:first-child{font-weight:var(--weight-strong);color:var(--ink);font-variant-numeric:tabular-nums}.tx-result{border:1px solid var(--line-strong);background:var(--card);padding:var(--sp-3);margin-bottom:var(--sp-3)}.tx-name{font-family:var(--font-head);font-size:clamp(1.8rem,8vw,2.6rem);font-weight:var(--weight-emphasis);line-height:1.05;margin:0 0 var(--sp-2)}.tx-result.is-large .tx-name{font-size:clamp(2.6rem,13vw,4.2rem)}.tx-tones{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(2.4rem,max-content);gap:0 var(--sp-3);overflow-x:auto;padding-bottom:var(--sp-1);margin-bottom:var(--sp-2)}.tx-tone-note{font-size:var(--t-h3);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums}.tx-tone-degree{font-size:var(--t-small);color:var(--ink-2);font-variant-numeric:tabular-nums}.tx-result.is-large .tx-tone-note{font-size:1.7rem}.tx-meta{font-size:var(--t-small);color:var(--ink-2)}.tx-context{border:1px solid var(--line);background:var(--bg-2);padding:var(--sp-3);margin-bottom:var(--sp-3);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}.tx-context label{font-size:var(--t-small);color:var(--ink-2)}.tx-context select{font:inherit;font-size:var(--t-small);padding:var(--sp-1) var(--sp-2);border:1px solid var(--line-strong);background:var(--card);color:var(--ink);max-width:100%}.tx-numeral{font-family:var(--font-head);font-size:var(--t-h2);font-weight:var(--weight-emphasis);line-height:1}.tx-function{font-size:var(--t-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;font-weight:var(--weight-strong);padding:var(--sp-1) var(--sp-2);border:1px solid}.tx-fn-tonic{color:var(--fn-t)}.tx-fn-predominant{color:var(--fn-pd)}.tx-fn-dominant{color:var(--fn-d)}.tx-fn-ambiguous{color:var(--fn-m)}.tx-tabs{display:flex;gap:0;border-bottom:1px solid var(--line-strong);overflow-x:auto;scrollbar-width:none}.tx-tabs::-webkit-scrollbar{display:none}.tx-tab{font:inherit;font-size:var(--t-small);font-weight:var(--weight-emphasis);padding:var(--sp-2) var(--sp-3);border:0;border-bottom:3px solid transparent;background:none;color:var(--ink-2);cursor:pointer;white-space:nowrap}.tx-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tx-tab:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.tx-panel{padding:var(--sp-3) 0}.tx-table-wrap{overflow-x:auto}.tx-table{width:100%;border-collapse:collapse;font-size:var(--t-small)}.tx-table td,.tx-table th{text-align:left;padding:var(--sp-2) var(--sp-3) var(--sp-2) 0;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}.tx-table th{font-size:var(--t-kicker);letter-spacing:var(--track-kicker);text-transform:uppercase;font-weight:var(--weight-strong);color:var(--ink-3)}.tx-table td{color:var(--ink-2);font-variant-numeric:tabular-nums}.tx-table td:first-child{color:var(--ink);font-weight:var(--weight-emphasis)}.tx-table a{color:var(--accent);text-decoration:none}.tx-note{font-size:var(--t-small);color:var(--ink-3);margin:0}.tx-prog{border-top:1px solid var(--line);margin-top:var(--sp-3);padding-top:var(--sp-3)}.tx-prog-row{display:flex;gap:var(--sp-2);overflow-x:auto;padding-bottom:var(--sp-2)}.tx-prog-chip{border:1px solid var(--line-strong);background:var(--card);padding:var(--sp-2) var(--sp-3);text-align:center;flex:0 0 auto}.tx-prog-symbol{font-weight:var(--weight-strong);font-size:var(--t-body);display:block}.tx-prog-numeral{display:block}.tx-prog-numeral,.tx-prog-summary{font-size:var(--t-small);color:var(--ink-2)}.tx-prog-summary{margin:var(--sp-2) 0 0}.tx-controls{gap:var(--sp-2);font-size:var(--t-small);color:var(--ink-2)}.tx-controls,.tx-settings{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:var(--sp-3)}.tx-settings{border:1px solid var(--line);background:var(--bg-2);padding:var(--sp-3);gap:var(--sp-3)}.tx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tx-status{font-size:var(--t-micro);color:var(--ink-3);background:none;border:0;padding:0;cursor:pointer;font-family:inherit;text-align:left}.tx-status:focus-visible{outline:var(--focus-ring)}.tx-static{margin-top:var(--sp-7)}.tx-static h2{font-family:var(--font-head);font-size:var(--t-h2);font-weight:var(--weight-emphasis);margin:var(--sp-6) 0 var(--sp-3)}.tx-static details{border:1px solid var(--line);background:var(--card);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2)}.tx-static summary{font-weight:var(--weight-emphasis);font-size:var(--t-small);cursor:pointer}.tx-static details p{font-size:var(--t-small);color:var(--ink-2);line-height:var(--t-body-lh);margin:var(--sp-2) 0 0}.tx-compact{max-width:none;margin:0;padding:var(--sp-3)}.tx-compact .tx-instrument{border:0;background:transparent;margin-bottom:var(--sp-3)}.tx-compact .tx-controls,.tx-compact .tx-result{margin-bottom:var(--sp-2)}.tx-compact .tx-empty{padding:var(--sp-3) 0}.tx-doorway{margin:0;font-size:var(--t-small)}.tx-doorway a{color:var(--accent);font-weight:var(--weight-strong);text-decoration:none}.tx-doorway a:focus-visible{outline:var(--focus-ring);outline-offset:2px}.tx-name a{color:inherit;text-decoration:none}.tx-name a:hover{color:var(--accent)}.tx-name a:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media (min-width:768px){.tx{padding:var(--sp-5) var(--sp-5) var(--sp-8)}.tx-compact{padding:0}.tx-table td,.tx-table th{padding-right:var(--sp-5)}}