.jz{--jz-text:var(--paper);--jz-dim:color-mix(in srgb, var(--paper) 62%, transparent);--jz-line:color-mix(in srgb, var(--paper) 26%, transparent);--jz-faint:color-mix(in srgb, var(--paper) 8%, transparent);--jz-cornet:var(--yellow);--jz-clarinet:var(--blue);--jz-trombone:var(--red);--jz-piano:var(--paper);--jz-banjo:color-mix(in srgb, var(--paper) 78%, var(--yellow));--jz-chords:var(--paper);max-width:1400px;color:var(--jz-text);font-family:var(--font-display);gap:clamp(28px,4vw,48px);margin-inline:auto;display:grid}:where(.jz) button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.jz button:disabled{cursor:default}.jz :focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.jz .jz-eyebrow{font:400 11px / 1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--jz-dim);margin:0}.jz [data-lane=cornet]{--lane:var(--jz-cornet)}.jz [data-lane=clarinet]{--lane:var(--jz-clarinet)}.jz [data-lane=trombone]{--lane:var(--jz-trombone)}.jz [data-lane=piano]{--lane:var(--jz-piano)}.jz [data-lane=banjo]{--lane:var(--jz-banjo)}.jz [data-lane=chords]{--lane:var(--jz-chords)}.jz .jz-stage{grid-template-columns:minmax(0,min(620px,100svh - 180px)) minmax(320px,1fr);align-items:start;gap:clamp(28px,4vw,56px);display:grid}.jz .jz-clock{aspect-ratio:1;width:100%;position:relative}.jz .jz-dial{width:100%;height:100%;display:block;overflow:visible}.jz .jz-sector-band{fill:#0000;transition:fill var(--dur-2) var(--ease)}.jz .jz-sector[data-on] .jz-sector-band{fill:var(--jz-faint)}.jz .jz-hour{stroke:var(--jz-line);stroke-width:1.5px}.jz .jz-sector-name{font:500 22px var(--font-mono);fill:var(--jz-dim);text-anchor:middle;dominant-baseline:central;transition:fill var(--dur-2) var(--ease)}.jz .jz-sector[data-on] .jz-sector-name{fill:var(--jz-text)}.jz .jz-tick{stroke:var(--jz-line);stroke-width:2px}.jz .jz-and{stroke:var(--yellow);stroke-width:3px}.jz .jz-ring-guide{fill:none;stroke:var(--jz-faint);stroke-width:1.5px}.jz .jz-note{fill:var(--lane);stroke:none;opacity:.7;cursor:pointer;transition:opacity var(--dur-1) var(--ease)}.jz .jz-note[data-on],.jz .jz-note[data-selected]{opacity:1}.jz .jz-note[data-selected] :is(polygon,rect,circle:not(.jz-hit)){stroke:var(--paper);stroke-width:3px}.jz .jz-tail{fill:none;stroke:var(--lane);stroke-width:4px;opacity:.6}.jz .jz-note[data-on] .jz-tail{opacity:1;stroke-width:6px}.jz .jz-strum,.jz .jz-strike{stroke:var(--lane);stroke-width:5px}.jz .jz-note[data-on] :is(.jz-strum,.jz-strike){stroke-width:8px}.jz .jz-hit{fill:#0000}.jz .jz-arm line{stroke:var(--red);stroke-width:4px;opacity:0;transition:opacity var(--dur-2) var(--ease)}.jz[data-playing] .jz-arm line{opacity:1}.jz .jz-start{aspect-ratio:1;background:var(--red);width:26%;color:var(--paper);transition:background-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);border-radius:50%;align-content:center;place-items:center;gap:6px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.jz .jz-start[aria-pressed=true]{background:var(--charcoal);box-shadow:inset 0 0 0 3px var(--red)}.jz .jz-start-icon{fill:currentColor;width:18%}.jz .jz-start-label{font:400 clamp(9px, 1.2vw, 12px) / 1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.jz .jz-count{background:var(--red);font:600 clamp(28px, 5vw, 56px) / 1 var(--font-display);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;inset:0}.jz .jz-count:empty{display:none}.jz .jz-panel{gap:28px;min-width:0;display:grid}.jz .jz-calls{gap:18px;min-width:0;display:grid}.jz .jz-caption{border-bottom:2px solid var(--jz-text);align-content:start;gap:8px;min-height:10em;padding-bottom:18px;display:grid}.jz .jz-caption-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;display:flex}.jz .jz-caption-head:empty{display:none}.jz .jz-shout{font:600 clamp(24px, 2.6vw, 32px) / 1.1 var(--font-display);margin:0}.jz .jz-caption-text{max-width:52ch;font:400 16px / 1.5 var(--font-serif);color:color-mix(in srgb, var(--paper) 88%, transparent);text-wrap:pretty;margin:0}.jz .jz-hear{white-space:pre;min-height:36px;font:400 12px / 1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-self:start;align-items:center;gap:10px;display:inline-flex}.jz .jz-hear:hover{text-underline-offset:4px;text-decoration:underline}.jz .jz-hear-disc{background:radial-gradient(circle, var(--red) 0 24%, var(--ink) 25% 100%);width:20px;height:20px;box-shadow:inset 0 0 0 1.5px var(--jz-line);border-radius:50%}.jz .jz-call-row{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:12px;display:grid}.jz .jz-call-row .jz-eyebrow{padding-top:14px}.jz .jz-call-buttons{flex-wrap:wrap;gap:8px;display:flex}.jz .jz-call{border:2px solid var(--jz-line);min-height:44px;font:500 16px / 1 var(--font-display);transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);padding:0 16px;position:relative}.jz .jz-call:hover{border-color:var(--jz-text)}.jz .jz-call[aria-pressed=true]{border-color:var(--paper);background:var(--paper);color:var(--ink)}.jz .jz-call[data-pending]:after{content:"";background:var(--yellow);height:4px;position:absolute;top:-8px;left:-2px;right:-2px}.jz .jz-chart{border-top:2px solid var(--jz-text);gap:10px;min-width:0;padding-top:16px;display:grid}.jz .jz-chart-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.jz .jz-link{min-height:32px;font:400 12px / 1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--jz-dim);text-underline-offset:4px;text-decoration:underline}.jz .jz-link:disabled{opacity:.4;text-decoration:none}.jz .jz-readout{border-bottom:1px solid var(--jz-line);align-items:center;min-height:48px;display:flex}.jz .jz-readout-line{width:100%;font:400 14px / 1.4 var(--font-display);color:var(--jz-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin:0;padding-block:6px;display:flex}.jz .jz-readout-line p{color:var(--jz-text);margin:0}.jz .jz-readout-line b{font:400 11px / 1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--jz-dim);margin-right:6px}.jz .jz-readout-line code{font:400 14px / 1.4 var(--font-mono);color:var(--jz-text);margin-right:4px}.jz .jz-readout-line[data-tone=problem]{color:var(--jz-text)}.jz .jz-readout-line[data-tone=problem] b{color:var(--red)}.jz .jz-readout-tools{gap:6px;display:flex}.jz .jz-readout-tools button{border:2px solid var(--jz-line);min-width:44px;min-height:36px;font:400 12px / 1 var(--font-mono);transition:border-color var(--dur-1) var(--ease);padding:4px 10px}.jz .jz-readout-tools button:hover{border-color:var(--jz-text)}.jz .jz-lines{display:grid}.jz .jz-line{border-bottom:1px solid var(--jz-faint);font:400 13px / 1.5 var(--font-mono);grid-template-columns:104px minmax(0,1fr);align-items:baseline;gap:12px;margin:0;padding:7px 0 7px 12px;display:grid;position:relative}.jz .jz-line:before{content:"";background:var(--yellow);width:0;transition:width var(--dur-2) var(--ease);position:absolute;top:6px;bottom:6px;left:0}.jz .jz-line[data-changed]:before{width:4px}.jz .jz-line>code{font:inherit;color:color-mix(in srgb, var(--paper) 86%, transparent)}.jz .jz-line-name{font:400 11px / 1.5 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--jz-dim);align-items:center;gap:8px;display:inline-flex}.jz .jz-glyph{fill:var(--lane);stroke:var(--lane);flex:none}.jz .jz-glyph[data-lane=banjo],.jz .jz-glyph[data-lane=piano]{stroke:none}.jz .jz-code{min-width:0;color:var(--jz-dim);align-items:baseline;display:flex}.jz .jz-code-edge{white-space:pre;flex:none}.jz .jz-code-field{min-width:0;transition:border-color var(--dur-1) var(--ease);border-bottom:1px solid #0000;flex:auto;position:relative;overflow:hidden}.jz .jz-code-field:hover{border-bottom-color:var(--jz-line)}.jz .jz-code-field:focus-within{border-bottom-color:var(--yellow)}.jz .jz-code-mirror,.jz .jz-code input{font:inherit;letter-spacing:0;white-space:pre;padding:0 1px}.jz .jz-code-mirror{pointer-events:none;color:color-mix(in srgb, var(--paper) 86%, transparent);position:absolute;inset:0 auto 0 0}.jz .jz-code-mirror .jz-code-edge{color:var(--jz-dim)}.jz .jz-code-mirror [data-token]{transition:background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease)}.jz .jz-code-mirror [data-on]{background:color-mix(in srgb, var(--lane) 38%, transparent);color:var(--paper)}.jz .jz-code-mirror [data-selected]{box-shadow:inset 0 -2px 0 var(--paper);color:var(--paper)}.jz .jz-code-mirror [data-bad]{-webkit-text-decoration:underline wavy var(--red);text-decoration:underline wavy var(--red);text-underline-offset:3px}.jz .jz-code input{color:#0000;width:100%;caret-color:var(--paper);background:0 0;border:0;outline:none;margin:0;display:block}.jz .jz-code input::selection{background:color-mix(in srgb, var(--yellow) 40%, transparent);color:#0000}.jz .jz-crate{border-top:2px solid var(--jz-text);gap:14px;padding-top:16px;display:grid}.jz .jz-crate-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.jz .jz-record{gap:10px;margin:0;display:grid}.jz .jz-record-play{text-align:left;align-items:center;gap:14px;min-height:48px;display:flex}.jz .jz-record-play>span:last-child{gap:4px;display:grid}.jz .jz-record-play b{font:600 18px / 1.2 var(--font-display)}.jz .jz-record-play small{font:400 11px / 1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--jz-dim)}.jz .jz-record-disc{background:radial-gradient(circle, var(--red) 0 22%, var(--ink) 23% 100%);width:48px;height:48px;box-shadow:inset 0 0 0 2px var(--jz-line);border-radius:50%;flex:none}.jz .jz-record-disc:after{content:"";background:conic-gradient(from 0deg, transparent 0 80deg, color-mix(in srgb, var(--paper) 18%, transparent) 80deg 100deg, transparent 100deg);border-radius:50%;width:100%;height:100%;display:block}.jz .jz-record-disc[data-spin]{animation:1.8s linear infinite jz-spin}@keyframes jz-spin{to{transform:rotate(360deg)}}.jz .jz-record-bar{background:var(--jz-line);height:2px}.jz .jz-record-bar i{background:var(--yellow);transform-origin:0;height:100%;display:block}.jz .jz-record figcaption{font:400 13px / 1.5 var(--font-serif);color:var(--jz-dim)}.jz .jz-record figcaption a{color:var(--jz-text);text-underline-offset:3px;text-decoration:underline}@media (prefers-reduced-motion:reduce){.jz .jz-record-disc[data-spin]{animation:none}}@media (max-width:900px){.jz{gap:24px}.jz .jz-stage{grid-template-columns:minmax(0,1fr);gap:16px}.jz .jz-clock{width:min(100%,42svh,560px);margin-inline:auto}.jz .jz-panel{gap:24px}.jz .jz-caption{gap:2px;min-height:118px;padding-bottom:10px}.jz .jz-shout{font-size:20px}.jz .jz-hear{gap:8px;min-height:30px}.jz .jz-hear-words{display:none}.jz .jz-caption-text{font-size:14px;line-height:1.4}.jz .jz-calls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.jz .jz-call[data-call=break]{grid-column:1/-1}.jz .jz-caption{grid-column:1/-1;margin-bottom:6px}.jz .jz-call-row,.jz .jz-call-buttons{display:contents}.jz .jz-call-row .jz-eyebrow{display:none}.jz .jz-call{min-height:46px;padding:6px 8px;font-size:14px;line-height:1.15}.jz .jz-line{grid-template-columns:76px minmax(0,1fr);gap:8px;padding-left:10px;font-size:12px}.jz .jz-line-name{letter-spacing:.04em;gap:5px;font-size:10px}.jz .jz-readout-line{font-size:13px}.jz .jz-crate-list{grid-template-columns:minmax(0,1fr)}}.jz-notes h3{font:600 18px / 1.3 var(--font-display);margin:28px 0 8px}.jz-notes p{max-width:68ch;margin:0}.jz-notes p+p{margin-top:12px}.jz-notes code{font:400 .88em / 1 var(--font-mono)}.jz-legend{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);max-width:68ch;margin:20px 0 0}.jz-legend div{grid-template-columns:11ch minmax(0,1fr);gap:16px;padding-block:8px;display:grid}.jz-legend div+div{border-top:1px solid var(--rule)}.jz-legend dt code{font:500 14px / 1.5 var(--font-mono);white-space:nowrap}.jz-legend dd{margin:0;font-size:15px;line-height:1.5}.jz-sources{gap:10px;max-width:68ch;margin:0;padding-left:1.2em;font-size:14px;line-height:1.5;display:grid}@media (max-width:640px){.jz-legend div{grid-template-columns:9ch minmax(0,1fr);gap:12px}.jz-legend dt code{font-size:13px}.jz-legend dd{font-size:14px}}
