:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173e36;background:#f7f8f1;font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,.score-viewport:focus-visible{outline:3px solid #a54a26;outline-offset:5px}header,main,footer{max-width:1160px;margin:auto;padding:24px 32px}header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #d4ded1}.brand{font-size:25px;font-weight:800;text-decoration:none;letter-spacing:-1px}.brand span{display:inline-flex;align-items:center;justify-content:center;background:#dcecae;width:38px;height:38px;border-radius:12px;margin-right:6px}nav{display:flex;gap:24px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.skip{position:absolute;left:16px;top:-80px;background:#fff;padding:12px;z-index:5}.skip:focus{top:8px}h1,h2,p{margin-top:0}h1{font-size:clamp(44px,7vw,84px);line-height:1.08;letter-spacing:-3px;margin-bottom:24px}h1 span{color:#b46639}h2{font-size:28px;line-height:1.2;letter-spacing:-.7px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;margin-bottom:14px}.hero{padding:64px 0 50px;position:relative;overflow:hidden}.hero>p:not(.eyebrow){max-width:470px;font-size:19px}h1 em{font-style:normal;color:#61813b}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#204d40;color:#fff;border:1px solid #204d40;border-radius:8px;padding:14px 20px;text-decoration:none;font-weight:650;cursor:pointer;min-height:48px}button:hover,.button:hover{background:#133a2e}.small{font-size:13px!important;margin-top:16px}.music-motif{position:absolute;right:12px;top:90px;width:310px;height:260px;border-radius:50%;background:#e6edce;border:1px solid #cdd9b7;display:flex;align-items:center;justify-content:center;font-size:52px;transform:rotate(-10deg);z-index:-1}.feature{border-top:1px solid #d4ded1;padding:36px 0;display:flex;align-items:center;gap:56px;justify-content:space-between}.feature>div{max-width:630px}.feature>a{white-space:nowrap}.intro{padding:30px 0 12px}.intro h1{font-size:58px}.intro p:not(.eyebrow){font-size:18px}.controls{display:flex;gap:16px;align-items:end;margin:12px 0 28px;flex-wrap:wrap}.controls label{font-size:13px;font-weight:650;display:grid;gap:6px;min-width:130px}select{border:1px solid #aebfb0;border-radius:6px;background:#fff;color:#173e36;padding:12px;min-height:48px}.secondary{background:transparent;color:#204d40}.secondary:hover{background:#e2ead6}.sheet{background:#fff;border:1px solid #d3dccf;border-radius:10px;padding:28px 24px;box-shadow:0 5px 22px #173e3608}.sheet-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.sheet-heading h2{margin-bottom:0}.details{text-align:right;font-size:13px}.score{min-width:0}.score-viewport{width:100%;min-width:0;overflow:visible}.score-hint{font-size:12px;color:#50665e;margin:12px 0 4px}.score svg{display:block;width:100%;max-width:100%;height:auto}.register-control{flex:1;min-width:210px!important;max-width:280px}.register-control input{width:100%;min-height:30px;margin:0;accent-color:#204d40;cursor:pointer}.register-control output{font-weight:400}.register-ends{display:flex;justify-content:space-between;font-size:11px;font-weight:400}.compact{font-size:13px;min-height:44px;padding:10px 12px;gap:8px}.practice-toolbar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;background:#f7f8f1;padding:12px 0}.is-immersive{display:flex;flex-direction:column;position:fixed;inset:0;z-index:100;background:#f7f8f1;width:100%;height:100dvh;overflow:hidden;padding:0 max(12px,env(safe-area-inset-right)) 16px max(12px,env(safe-area-inset-left))}.is-immersive .intro,.is-immersive .controls,.is-immersive .practice{display:none}.is-immersive .sheet{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px 12px}.is-immersive .practice-toolbar{position:static;flex:0 0 auto}.is-immersive .sheet-heading .eyebrow{display:none}body.practice-active header,body.practice-active footer,body.practice-active .skip{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sheet-foot{font-size:10px;color:#50665e;border-top:1px solid #e2e8de;padding-top:14px;margin:0}.status{font-size:12px;margin-top:12px;color:#50665e}.practice{max-width:760px;margin:40px 0}.practice h2{font-size:22px}.practice p{font-size:14px}.prose{max-width:740px;min-height:60vh;padding:50px 0}.prose h1{font-size:42px;letter-spacing:-1px}.notice{border-left:4px solid #a54a26;background:#fff2e4;padding:16px}footer{border-top:1px solid #d4ded1;display:flex;justify-content:space-between;gap:24px;font-size:12px;margin-top:28px}@media(max-width:800px){.music-motif{opacity:.35;right:-130px}.feature{display:block}.hero{padding-top:40px}}@media(max-width:560px){header,main,footer{padding:20px 16px}header nav{gap:16px;font-size:14px}.brand{font-size:21px}.intro h1{font-size:46px}.sheet{padding:20px 8px}.sheet-heading{padding:0 8px}.controls label{flex:1}.register-control{max-width:none;flex-basis:100%!important}.controls button{width:100%}.details{font-size:11px}.sheet-heading h2{font-size:23px}footer{flex-direction:column}.hero h1{letter-spacing:-2px}}.jammer{min-width:0;padding-bottom:24px}.jammer .intro h1{font-size:clamp(38px,6vw,58px)}.jammer-controls{gap:12px;padding:20px;border:1px solid #d3dccf;border-radius:10px;background:#edf1e5}.jammer-controls>label{flex:1 1 140px;min-width:0}.jammer-controls select{width:100%;min-width:0;padding:10px}.jammer-pitch{display:flex;align-items:center;gap:14px;border:0;padding:0;margin:0;min-height:48px}.jammer-pitch legend,.jammer-notation label{font-size:13px;font-weight:650}.jammer-pitch legend{margin-bottom:6px}.jammer-pitch label{display:flex;align-items:center;min-width:0;gap:5px;min-height:48px;cursor:pointer}.jammer-pitch input{accent-color:#204d40;width:17px;height:17px}.jammer-chart-panel,.jammer-explorer,.jammer-notation{border:1px solid #d3dccf;border-radius:10px;background:#fff;padding:24px;margin-top:24px;min-width:0}.jammer-section-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:16px}.jammer-section-heading h2,.jammer-section-heading p{margin-bottom:0}.jammer-section-heading>p{text-align:right;font-size:13px}.jammer-section-heading .eyebrow{margin-bottom:8px}.jammer-hint{font-size:13px;color:#50665e}.jammer-chart{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:0}.jammer-chart li{min-width:0}.jammer-measure{display:grid;width:100%;min-width:0;min-height:128px;gap:8px;padding:12px 16px;background:#f7f8f1;color:#173e36;border:1px solid #c6d2bf;text-align:left;justify-content:stretch}.jammer-measure:hover{background:#edf2dc}.jammer-measure[aria-pressed=true]{background:#e6edce;border:2px solid #204d40;padding:11px 15px}.jammer-measure[aria-current=step]{background:#fff0dd;border-color:#a54a26;box-shadow:inset 4px 0 #a54a26}.jammer-measure-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px}.jammer-playing-badge,.jammer-selected-badge{font-size:11px;font-weight:750;line-height:1.3}.jammer-playing-badge{color:#84391d}.jammer-follow-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:16px 0}.jammer-follow-controls label{display:grid;gap:6px;font-size:13px;font-weight:650}.jammer-follow-controls button{min-height:48px}.jammer-follow-controls button:disabled{opacity:.45;cursor:default}.jammer-playing-summary{margin:0 0 10px;font-size:13px;flex:1 1 200px}.jammer-chart-viewport{min-width:0;padding:4px;overflow-x:hidden;scrollbar-width:thin}.jammer-chart-viewport:focus-visible{outline:3px solid #a54a26;outline-offset:3px}.jammer-staff-emphasis{fill:transparent}.jammer-staff [data-selected=true] .jammer-staff-emphasis{fill:#e6edce}.jammer-staff [data-playing=true] .jammer-staff-emphasis{fill:#fff0dd;stroke:#a54a26;stroke-width:2}.jammer-staff-playing-label,.jammer-staff-selected-label{display:none;font-weight:700}.jammer-staff [data-selected=true]:not([data-playing=true]) .jammer-staff-selected-label{display:inline}.jammer-staff [data-playing=true] .jammer-staff-playing-label{display:inline}.jammer-measure-number,.jammer-function{font-size:12px;font-weight:500}.jammer-chord{font-size:clamp(27px,3.7vw,38px);line-height:1.2;font-weight:750;letter-spacing:-1px}.jammer-tones{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0}.jammer-tones li{display:grid;gap:4px;background:#f7f8f1;padding:12px;border-radius:6px}.jammer-tones li>span{font-size:12px}.jammer-tones strong{font-size:28px;font-weight:650}.jammer-octave{font-size:17px;margin-left:2px}.jammer-notation label{display:grid;gap:6px}.jammer-staff{width:100%;min-width:0}.jammer-staff svg{display:block;width:100%;height:auto}.jammer-playback{border:1px solid #c6d2bf;border-radius:10px;padding:24px;background:#edf1e5;margin:24px 0;min-width:0}.jammer-transport{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.jammer-transport button{padding:12px 8px;min-width:0}.jammer-playback button:disabled{cursor:default;opacity:.45}.jammer-playback button:disabled:hover{background:transparent}.jammer-playback button:first-child:disabled:hover{background:#204d40}.jammer-playback-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.jammer-playback-settings label{display:grid;gap:6px;font-size:13px;font-weight:650;min-width:0}.jammer-playback-settings select,.jammer-playback-settings input{width:100%;min-width:0;min-height:48px;padding:10px;font:inherit;color:#173e36;background:#fff;border:1px solid #aebfb0;border-radius:6px}.jammer-playback-settings input[aria-invalid=true]{border-color:#a54a26}.jammer-mixer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.jammer-mixer fieldset{border:1px solid #c6d2bf;border-radius:6px;padding:10px 14px 0;min-width:0;margin:0}.jammer-mixer legend{font-weight:650}.jammer-mixer label{font-size:13px}.jammer-mixer output{float:right;font-weight:650}.jammer-mixer input[type=range]{display:block;width:100%;min-height:44px;margin:0;accent-color:#204d40}.jammer-mute{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.jammer-mute input{width:18px;height:18px;accent-color:#204d40}.jammer-playback>.jammer-hint{margin:16px 0 0}.jammer-input-error{color:#84391d;font-size:13px;margin:10px 0 0}.jammer-countdown{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:16px;font-size:14px}.jammer-beats{display:flex;gap:8px}.jammer-beats>span{border:1px solid #aebfb0;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.jammer-beats .is-current{background:#204d40;color:#fff;border-color:#204d40}@media(max-width:620px){.jammer-chart-viewport{max-height:min(60vh,420px);overflow-y:auto;overscroll-behavior-y:contain}.jammer-playback{padding:16px 12px}.jammer-playback-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.jammer-transport{grid-template-columns:repeat(3,minmax(0,1fr))}.jammer-chart-panel,.jammer-explorer,.jammer-notation{padding:16px 12px}.jammer-controls{padding:14px 12px}.jammer-chart{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.jammer-measure{padding:12px}.jammer-measure[aria-pressed=true]{padding:11px}.jammer-tones{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media(prefers-reduced-motion:reduce){.jammer-chart-viewport{scroll-behavior:auto}}@media(max-width:360px){.jammer-transport{grid-template-columns:repeat(2,minmax(0,1fr))}.jammer-mixer{grid-template-columns:minmax(0,1fr);gap:10px}}@page{size:letter portrait;margin:.5in}@media print{.jammer-follow-controls{display:none}.jammer-chart-viewport{max-height:none;overflow:visible;padding:0}.jammer-playing-badge,.jammer-selected-badge,.jammer-staff-playing-label,.jammer-staff-selected-label,.jammer-playback{display:none!important}.jammer-controls,.jammer-hint,.jammer-notation label{display:none}.jammer .intro{display:block!important;padding:0}.jammer .intro h1{font-size:30px}.jammer-chart-panel,.jammer-explorer,.jammer-notation{padding:12px;margin-top:12px;break-inside:avoid}.jammer-chart{grid-template-columns:repeat(4,minmax(0,1fr))}.jammer-measure{min-height:80px}.jammer-chord{font-size:28px}:root{background:#fff}body{background:#fff;color:#000;overflow:visible!important}header,footer,.skip,.intro,.controls,.status,.practice,.practice-toolbar,.score-hint{display:none!important}main{max-width:none;padding:0;margin:0}.sheet{border:0;border-radius:0;box-shadow:none;padding:0}.is-immersive{display:block;position:static;width:auto;height:auto;overflow:visible;padding:0}.is-immersive .sheet{overflow:visible;flex:none;padding:0}.sheet-heading{padding:0}.score{width:100%!important}.score-viewport{overflow:visible}.sheet-foot{color:#000}.sheet{break-inside:avoid}.score svg{width:100%;max-width:100%;height:auto}}.improv-shell{--campus-page: #0b0e10;--campus-panel: #191e21;--campus-elevated: #2b3033;--campus-text: #f5f7fa;--campus-muted: #b4b9be;--campus-accent: #ccff00;--campus-on-accent: #101600;--campus-border: #626a6f;--campus-divider: #788085;--campus-paper: #fff;--campus-error: #ffb99f;--campus-active: #3b5007;min-height:100dvh;color:var(--campus-text);background:radial-gradient(ellipse at 48% 35%,var(--campus-panel),var(--campus-page) 75%);color-scheme:dark;line-height:1.35}.improv-shell *{box-sizing:border-box}.improv-shell main{max-width:1800px;margin:0 auto;padding:10px 12px 24px}.improv-shell h1,.improv-shell h2,.improv-shell h3,.improv-shell p{color:inherit}.improv-shell button,.improv-shell select,.improv-shell input{font:inherit}.improv-shell button,.improv-shell select,.improv-shell input[type=number]{min-height:44px;border:1px solid var(--campus-border);border-radius:9px;background:linear-gradient(var(--campus-panel),var(--campus-page));color:var(--campus-text);box-shadow:inset 0 1px #ffffff12;font-size:15px}.improv-shell button{padding:8px 12px;gap:8px;font-weight:600;cursor:pointer}.improv-shell button:hover:not(:disabled){background:var(--campus-elevated);border-color:var(--campus-text)}.improv-shell button:disabled,.improv-shell select:disabled{color:var(--campus-muted);background:linear-gradient(var(--campus-elevated),var(--campus-panel));opacity:.53;cursor:not-allowed}.improv-shell :focus-visible{outline:3px solid var(--campus-accent);outline-offset:3px}.improv-shell a{color:var(--campus-muted)}.improv-shell .campus-icon{display:block;flex-shrink:0;width:24px;height:24px}.improv-shell .campus-header{max-width:none;position:relative;min-height:86px;padding:8px 24px;flex-wrap:nowrap;gap:20px;border-bottom:1px solid var(--campus-divider);background:linear-gradient(115deg,var(--campus-panel),var(--campus-page) 50%)}.improv-shell .campus-header:after{content:"";position:absolute;inset:0 40% 0 auto;width:24px;transform:skew(-32deg);background:linear-gradient(var(--campus-accent),#8ab300);box-shadow:12px 0 #ccff0010,24px 0 #ccff0008;pointer-events:none}.improv-shell .campus-brand,.improv-shell .campus-header-end{display:flex;align-items:center;gap:24px;min-width:0;z-index:1}.improv-shell .campus-cat{flex:0 0 68px;height:68px}.improv-shell .campus-cat img{width:68px;height:68px;display:block}.improv-shell .campus-header h1{margin:0;padding-left:24px;border-left:1px solid var(--campus-divider);font-size:1rem;line-height:1}.improv-shell .campus-product-logo{width:min(390px,30vw);height:auto;display:block}.improv-shell .campus-header-end{margin-left:auto}.improv-shell .campus-header nav{display:flex;gap:20px;font-size:14px}.improv-shell .campus-header nav a[aria-current]{color:var(--campus-accent)}.improv-shell .campus-header-tools{display:flex;align-items:center;gap:14px}.improv-shell .campus-header-tools button{width:52px;height:52px;padding:10px}.improv-shell .campus-header-tools .campus-icon{width:29px;height:29px}.improv-shell .jammer-playback,.improv-shell .campus-sidebar,.improv-shell .jammer-chart-panel,.improv-shell .jammer-notation,.improv-shell .jammer-explorer{margin:0;min-width:0;padding:16px;border:1px solid var(--campus-border);border-radius:12px;background:linear-gradient(140deg,#ffffff06,transparent 35%),linear-gradient(160deg,var(--campus-panel),var(--campus-page));box-shadow:inset 0 1px #ffffff09,0 8px 24px #00000020}.improv-shell .campus-panel-title{display:flex;align-items:center;gap:12px;margin:0;font-size:clamp(17px,1.35vw,22px);line-height:1.2;letter-spacing:.01em;font-weight:750;text-transform:uppercase}.improv-shell .campus-panel-title:before{content:"";flex:0 0 9px;height:20px;background:var(--campus-accent);transform:skew(-20deg)}.improv-shell .jammer-playback{margin-bottom:12px;padding:10px 16px 7px}.improv-shell .campus-toolbar{display:flex;align-items:center;gap:0}.improv-shell .campus-toolbar>*+*{border-left:1px solid var(--campus-divider);margin-left:20px;padding-left:20px}.improv-shell .campus-toolbar>.campus-segmented{flex:1;justify-content:center}.improv-shell .jammer-transport{display:flex;gap:10px}.improv-shell .jammer-transport button{min-width:52px;min-height:48px;height:48px;padding:10px}.improv-shell .jammer-transport .campus-play{min-width:70px;color:var(--campus-on-accent);background:linear-gradient(#e0ff65,var(--campus-accent));border-color:var(--campus-accent)}.improv-shell .jammer-transport .campus-play:hover{background:var(--campus-accent)}.improv-shell .jammer-transport .campus-icon{width:28px;height:28px}.improv-shell .campus-tempo-group{display:flex;align-items:center;gap:8px}.improv-shell .campus-bpm{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}.improv-shell .campus-bpm input{width:82px;padding:7px 8px;height:46px;font-size:23px;font-weight:650}.improv-shell .campus-tempo select{width:112px;padding:8px;font-size:13px}.improv-shell .campus-segmented{display:flex;align-items:center;gap:10px;min-width:0}.improv-shell .campus-segment-label{font-size:16px;white-space:nowrap}.improv-shell .campus-segments{display:flex;min-width:0;background:var(--campus-page);border:1px solid var(--campus-border);border-radius:9px;box-shadow:inset 0 1px #ffffff12;overflow:hidden}.improv-shell .campus-segments label{display:flex;position:relative;flex:1;min-width:0;cursor:pointer}.improv-shell .campus-segments label+label{border-left:1px solid #ffffff20}.improv-shell .campus-segments input{position:absolute;opacity:0;width:1px;height:1px}.improv-shell .campus-segments span{display:grid;place-items:center;width:100%;min-height:42px;padding:8px 11px;font-size:15px;font-weight:600;white-space:nowrap}.improv-shell .campus-segments input:checked+span{color:var(--campus-on-accent);background:linear-gradient(#e2ff70,var(--campus-accent));box-shadow:inset 0 1px #ffffff90}.improv-shell .campus-segments input:focus-visible+span{outline:3px solid var(--campus-text);outline-offset:-4px}.improv-shell .campus-segments input:disabled+span{color:var(--campus-muted);background:linear-gradient(var(--campus-elevated),var(--campus-panel));opacity:.5;cursor:not-allowed}.improv-shell .campus-toolbar>.campus-future{margin-left:20px;padding-left:12px}.improv-shell .campus-transport-status{display:flex;align-items:center;flex-wrap:wrap;gap:16px;min-height:18px;margin-top:3px;color:var(--campus-muted);font-size:11px}.improv-shell .campus-transport-status p{margin:0}.improv-shell .jammer-countdown{padding:0;gap:8px;font-size:12px}.improv-shell .jammer-beats{gap:4px}.improv-shell .jammer-beats>span{width:20px;height:20px;border-color:var(--campus-border)}.improv-shell .jammer-beats .is-current{color:var(--campus-on-accent);background:var(--campus-accent)}.improv-shell .jammer-input-error{color:var(--campus-error)}.improv-shell .campus-workspace{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(0,2.3fr) minmax(330px,1fr);grid-template-rows:min-content 1fr;grid-template-areas:"setup chart explorer" "setup notation explorer";gap:12px;align-items:stretch}.improv-shell .campus-sidebar{grid-area:setup}.improv-shell .jammer-chart-panel{grid-area:chart}.improv-shell .jammer-notation{grid-area:notation}.improv-shell .jammer-explorer{grid-area:explorer;position:sticky;top:12px;align-self:start;overflow:hidden}.improv-shell .campus-sidebar .campus-panel-title{border-bottom:1px solid var(--campus-border);padding-bottom:10px;margin-bottom:12px}.improv-shell .campus-sidebar section+section{border-top:1px solid var(--campus-divider);padding-top:16px;margin-top:18px}.improv-shell .campus-sidebar section>label,.improv-shell .campus-sidebar .campus-segmented{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:8px;margin:10px 0;font-size:16px}.improv-shell .campus-sidebar .campus-segment-label{font-size:16px;white-space:normal}.improv-shell .campus-sidebar select{min-width:0;width:100%;padding:8px;font-size:16px}.improv-shell .campus-sidebar .campus-segments span{padding:8px 7px;font-size:16px}.improv-shell .campus-sidebar .campus-future-voicing{color:var(--campus-muted)}.improv-shell .campus-future-voicing select{font-size:14px}.improv-shell .jammer-mixer{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0}.improv-shell .jammer-mixer fieldset{min-width:0;margin:0;padding:0;border:0}.improv-shell .jammer-mixer legend{font-size:16px;font-weight:500;padding:0;margin:0 0 3px}.improv-shell .campus-mixer-track{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;align-items:center}.improv-shell .campus-mixer-track input[type=range]{width:100%;min-width:0;min-height:44px;margin:0;accent-color:var(--campus-accent)}.improv-shell .campus-mixer-track output{font-size:14px;color:var(--campus-text);text-align:right}.improv-shell .jammer-mute{display:grid;place-items:center;position:relative;width:38px;min-height:44px;margin:0;cursor:pointer}.improv-shell .jammer-mute input{position:absolute;width:1px;height:1px;opacity:0}.improv-shell .jammer-mute span{padding:6px;border:1px solid transparent;border-radius:6px}.improv-shell .jammer-mute input:checked+span{color:var(--campus-accent);border-color:var(--campus-accent);background:var(--campus-elevated)}.improv-shell .jammer-mute input:focus-visible+span{outline:3px solid var(--campus-accent)}.improv-shell .jammer-section-heading{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:12px;margin:0 0 14px;border-bottom:1px solid var(--campus-border)}.improv-shell .campus-progression-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;min-width:0}.improv-shell .jammer-section-heading .campus-panel-title{margin:0}.improv-shell .campus-key-title{font-size:18px;margin:0}.improv-shell .campus-chart-position{display:flex;align-items:center;gap:14px;flex-shrink:0}.improv-shell .campus-chart-position>span:first-child{padding:6px 10px;border:1px solid var(--campus-border);border-radius:8px;font-size:14px}.improv-shell .campus-loop{display:flex;align-items:center;gap:3px}.improv-shell .campus-loop small{color:var(--campus-muted);font-size:12px}.improv-shell .jammer-follow-controls{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:12px;color:var(--campus-muted);margin:0 0 8px}.improv-shell .jammer-follow-controls button{min-height:44px;font-size:13px}.improv-shell .jammer-chart-viewport{padding:5px}.improv-shell .jammer-chart{gap:10px}.improv-shell .jammer-measure{position:relative;display:grid;grid-template-rows:24px 1fr 28px;gap:8px;min-height:172px;padding:12px 8px;text-align:center;border:1px solid var(--campus-border);background:linear-gradient(145deg,var(--campus-elevated),var(--campus-page));color:var(--campus-text);border-radius:10px}.improv-shell .jammer-measure[aria-pressed=true]{border:1px solid var(--campus-text);padding:12px 8px;background:linear-gradient(145deg,var(--campus-elevated),var(--campus-panel));box-shadow:inset 0 0 0 1px var(--campus-muted)}.improv-shell .jammer-measure[aria-current=step]{border:3px solid var(--campus-accent);padding:10px 6px;background:linear-gradient(150deg,#536c08,var(--campus-active) 45%,#182207);box-shadow:0 0 9px #ccff0060,inset 0 0 8px #ccff001a}.improv-shell .jammer-measure-number{position:absolute;top:10px;left:13px;font-size:17px;font-weight:500}.improv-shell .jammer-function{grid-row:1;align-self:center;font-size:14px;color:var(--campus-muted)}.improv-shell .jammer-chord{grid-row:2;align-self:center;font-size:clamp(28px,3.15vw,54px);font-weight:750;line-height:1.05;letter-spacing:-.05em;overflow-wrap:anywhere}.improv-shell .jammer-measure-footer{grid-row:3;display:flex;justify-content:center;align-items:center;gap:5px}.improv-shell .jammer-playing-badge{display:flex;align-items:center;gap:9px;color:var(--campus-accent);font-size:12px;text-transform:uppercase;letter-spacing:1px}.improv-shell .jammer-playing-badge .campus-icon{width:22px;height:22px}.improv-shell .jammer-selected-badge{color:var(--campus-text);font-size:11px}.improv-shell .jammer-explorer>.campus-panel-title{padding-bottom:12px;border-bottom:1px solid var(--campus-border)}.improv-shell .campus-explorer-hero{position:relative;min-height:130px;margin:0 -16px;padding:6px 16px 10px;overflow:hidden;isolation:isolate}.improv-shell .campus-chord-identity{position:relative;z-index:1;width:68%;pointer-events:none}.improv-shell .campus-chord-symbol{font-size:clamp(52px,5vw,82px);font-weight:800;letter-spacing:-.05em;line-height:1.15;color:var(--campus-accent);overflow-wrap:anywhere;text-shadow:0 2px 8px var(--campus-page)}.improv-shell .campus-chord-quality{font-size:20px;line-height:1.25;margin:0;text-shadow:0 2px 5px var(--campus-page),0 0 10px var(--campus-page)}.improv-shell .campus-chord-symbol[data-long-symbol]{font-size:clamp(44px,3.7vw,62px)}.improv-shell .campus-instrument-artwork{position:absolute;top:0;bottom:0;right:0;width:55%;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%),linear-gradient(0deg,transparent,#000 18%);mask-image:linear-gradient(90deg,transparent,#000 22%),linear-gradient(0deg,transparent,#000 18%);-webkit-mask-composite:source-in;mask-composite:intersect}.improv-shell .campus-instrument-artwork img{position:absolute;display:block;max-width:none;height:auto}.improv-shell [data-instrument=bb-trumpet] img{width:400px;left:32px;top:6px}.improv-shell [data-instrument=eb-alto-sax] img{width:230px;left:-18px;top:-25px;transform:rotate(35deg)}.improv-shell [data-instrument=bb-tenor-sax] img{width:232px;left:-28px;top:-27px;transform:rotate(32deg)}.improv-shell [data-instrument=trombone] img{width:430px;left:-118px;top:5px}.improv-shell .campus-artwork-unavailable{display:block;margin:40px 15px;color:var(--campus-muted);font-size:12px}.improv-shell .campus-explorer-count-in{min-height:130px;padding:16px 0}.improv-shell .campus-explorer-count-in h2{font-size:26px;color:var(--campus-accent)}.improv-shell .campus-explorer-count-in p{font-size:14px}.improv-shell .jammer-tones{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0 12px;border:1px solid var(--campus-border);border-radius:10px;background:linear-gradient(120deg,#ffffff04,transparent)}.improv-shell .jammer-tones li{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:14px;padding:6px 0;background:transparent;border-radius:0;min-height:66px}.improv-shell .jammer-tones li+li{border-top:1px solid var(--campus-border)}.improv-shell .jammer-tones strong{display:flex;align-items:baseline;justify-content:center;padding:3px 4px;border:2px solid var(--campus-accent);border-radius:9px;color:var(--campus-accent);font-size:30px;line-height:1.15;font-weight:650}.improv-shell .jammer-octave{font-size:12px;color:var(--campus-muted);margin-left:1px}.improv-shell .jammer-tones strong[data-long-note]{font-size:22px}.improv-shell .campus-tone-description{display:grid;gap:1px;min-width:0}.improv-shell .campus-tone-function{font-size:18px;line-height:1.2;font-weight:600}.improv-shell .campus-tone-quality,.improv-shell .campus-tone-explanation{font-size:14px;line-height:1.25;color:var(--campus-muted)}.improv-shell .campus-tone-explanation{font-style:italic}.improv-shell .campus-scale-options{margin-top:14px;padding-top:12px;border-top:1px solid var(--campus-divider)}.improv-shell .campus-future-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.improv-shell .campus-future-heading .campus-panel-title,.improv-shell .campus-practice-tips .campus-panel-title{font-size:16px}.improv-shell .campus-future-heading>span,.improv-shell .campus-practice-tips>span{font-size:10px;color:var(--campus-muted);white-space:nowrap}.improv-shell .campus-scale-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.improv-shell .campus-scale-buttons button{min-width:0;font-size:14px;padding:6px}.improv-shell .campus-practice-tips{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;padding:14px 0 0;border-top:1px solid var(--campus-divider)}.improv-shell .campus-practice-tips h3{color:var(--campus-muted)}.improv-shell .campus-practice-tips h3:before{opacity:.4}.improv-shell .campus-notation-heading{gap:10px;flex-wrap:wrap;border:0;padding-bottom:0}.improv-shell .campus-notation-heading .campus-segment-label{display:none}.improv-shell .campus-notation-heading .campus-segments span{font-size:16px;padding:8px 10px}.improv-shell .campus-display-octave{display:grid;grid-template-columns:1fr;gap:0;width:100px;font-size:11px;text-align:center;color:var(--campus-muted)}.improv-shell .campus-display-octave input{width:100%;height:18px;margin:0;accent-color:var(--campus-muted)}.improv-shell .campus-display-octave span{font-size:9px}.improv-shell .campus-notation-paper{display:flex;align-items:center;background:var(--campus-paper);color:#173e36;min-height:240px;border-radius:10px;padding:14px 3px;color-scheme:light;overflow:hidden}.improv-shell .jammer-staff [data-selected=true] .jammer-staff-emphasis{fill:#eef7c8}.improv-shell .jammer-staff [data-playing=true] .jammer-staff-emphasis{fill:#e8f6b5;stroke:#526800}.improv-shell .campus-notation-caption{margin:10px 0 0;color:var(--campus-muted);font-size:12px}.improv-shell footer{max-width:1776px;margin:0 auto;padding:12px 16px;border-color:var(--campus-border);color:var(--campus-muted);font-size:11px}@media(max-width:1500px){.improv-shell .campus-toolbar>*+*{margin-left:14px;padding-left:14px}.improv-shell .campus-toolbar>.campus-future{margin-left:14px;padding-left:12px}.improv-shell .campus-toolbar .campus-segment-label{font-size:16px}.improv-shell .campus-notation-heading .campus-panel-title{font-size:17px}.improv-shell .campus-notation-heading .campus-segments span{font-size:15px;padding:8px}}@media(max-width:1099px){.improv-shell .campus-header:after{display:none}.improv-shell .campus-workspace{grid-template-columns:280px minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"setup chart" "setup notation" "setup explorer";align-items:start}.improv-shell .jammer-explorer{position:relative;top:auto}.improv-shell .campus-explorer-hero{min-height:150px}.improv-shell .campus-instrument-artwork{width:240px}.improv-shell .campus-chord-identity{width:65%}.improv-shell .campus-chord-symbol{font-size:70px}.improv-shell .campus-notation-heading{justify-content:flex-start}.improv-shell .campus-display-octave{margin-left:auto}}@media(max-width:800px){.improv-shell main{padding:10px}.improv-shell .campus-header{padding:10px 14px;flex-wrap:wrap;gap:12px}.improv-shell .campus-brand{gap:14px}.improv-shell .campus-cat,.improv-shell .campus-cat img{width:48px;height:48px;flex-basis:48px}.improv-shell .campus-header h1{padding-left:14px}.improv-shell .campus-product-logo{width:min(380px,65vw)}.improv-shell .campus-header-end{width:100%}.improv-shell .campus-header nav{margin-right:auto;font-size:13px}.improv-shell .campus-header-tools button{width:44px;height:44px}.improv-shell .campus-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"setup" "chart" "explorer" "notation";gap:12px}.improv-shell .campus-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:20px}.improv-shell .campus-sidebar section+section{margin:0;border:0;padding:0}.improv-shell .campus-mixer{grid-column:1/-1}.improv-shell .jammer-mixer{grid-template-columns:1fr 1fr;gap:24px}.improv-shell .campus-toolbar{gap:12px}.improv-shell .campus-toolbar>*+*{border:0;padding-left:0;margin-left:0}.improv-shell .campus-toolbar>.campus-future{margin-left:0;padding-left:12px}.improv-shell .campus-chart-position{margin-left:auto}.improv-shell .jammer-chord{font-size:36px}}@media(max-width:580px){.improv-shell .campus-header-tools{display:none}.improv-shell .campus-header nav{width:100%;justify-content:space-between;gap:12px;font-size:12px}.improv-shell .campus-sidebar{grid-template-columns:minmax(0,1fr);gap:18px}.improv-shell .campus-sidebar section+section{border-top:1px solid var(--campus-divider);padding-top:14px}.improv-shell .jammer-mixer{grid-template-columns:minmax(0,1fr);gap:12px}.improv-shell .jammer-playback{padding:12px}.improv-shell .campus-tempo-group{gap:8px}.improv-shell .campus-bpm{font-size:14px}.improv-shell .campus-tempo select{width:118px}.improv-shell .campus-toolbar .campus-segment-label{font-size:14px}.improv-shell .campus-toolbar>.campus-segmented{justify-content:space-between;flex:1 1 180px}.improv-shell .jammer-chart{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.improv-shell .jammer-measure{min-height:145px}.improv-shell .jammer-chord{font-size:34px}.improv-shell .campus-progression-title{gap:8px}.improv-shell .campus-key-title{font-size:13px}.improv-shell .campus-explorer-hero{min-height:132px}.improv-shell .campus-instrument-artwork{width:55%}.improv-shell .campus-chord-symbol{font-size:62px}.improv-shell .campus-chord-quality{font-size:16px}.improv-shell .campus-tone-function{font-size:15px}.improv-shell .campus-notation-heading{gap:12px}.improv-shell .campus-notation-heading .campus-segmented{order:3;width:100%}.improv-shell .campus-notation-heading .campus-segments{display:grid;grid-template-columns:1fr 1fr;width:100%}.improv-shell .campus-notation-heading .campus-segments label:nth-child(3),.improv-shell .campus-notation-heading .campus-segments label:nth-child(4){border-top:1px solid var(--campus-border)}.improv-shell .campus-notation-paper{min-height:0}}@supports (appearance: base-select){.improv-shell select,.improv-shell select::picker(select){appearance:base-select}.improv-shell select::picker(select){background:var(--campus-panel);color:var(--campus-text);border:1px solid var(--campus-border);border-radius:8px;max-height:min(360px,60dvh);overflow:auto}.improv-shell option{min-height:44px;padding:10px 12px}.improv-shell option:hover,.improv-shell option:focus{background:var(--campus-active);color:var(--campus-accent)}.improv-shell select{align-items:center}}.improv-shell{--campus-next: #ff897e}.improv-shell select,.improv-shell option{color-scheme:dark;color:var(--campus-text);background-color:var(--campus-panel)}.improv-shell option:checked{background-color:var(--campus-active);color:var(--campus-accent)}.improv-shell [hidden]{display:none!important}.improv-shell .campus-playback-options{flex:1;min-width:0}.improv-shell .campus-options-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.improv-shell .campus-options-content>*+*{border-left:1px solid var(--campus-divider);padding-left:14px}.improv-shell .campus-options-content>.campus-segmented{flex:0 0 auto}.improv-shell .campus-options-content .campus-segments{flex-shrink:0}.improv-shell .campus-options-content .campus-segments label{min-width:52px}.improv-shell .campus-options-content>.campus-future{padding:10px}.improv-shell .campus-workspace{grid-template-columns:minmax(245px,.82fr) minmax(0,2.3fr) minmax(310px,1fr);grid-template-areas:"setup chart explorer" "setup notation explorer" "setup notation scales" "setup notation tips";grid-template-rows:minmax(0,max-content) auto auto 1fr;align-items:start}.improv-shell .jammer-explorer{position:static}.improv-shell .campus-scale-options{grid-area:scales}.improv-shell .campus-practice-tips{grid-area:tips}.improv-shell .campus-scale-options,.improv-shell .campus-practice-tips{margin:0;padding:14px;border:1px solid var(--campus-border);border-radius:12px;background:var(--campus-panel)}.improv-shell .campus-practice-tips button{font-size:12px;padding:8px}.improv-shell .campus-explorer-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--campus-border)}.improv-shell .campus-explorer-heading .campus-panel-title{font-size:18px}.improv-shell .campus-tone-order{margin-left:auto}.improv-shell .campus-tone-order select{font-size:13px;padding:7px;min-height:44px;width:142px}.improv-shell .campus-preview-state{font-size:12px;color:var(--campus-muted);margin:7px 0}.improv-shell .campus-preview-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin:0;color:var(--campus-text)}.improv-shell .campus-preview-label span{font-weight:400;color:var(--campus-muted);letter-spacing:0}.improv-shell .campus-next-chord{border-top:1px solid var(--campus-border);margin-top:12px;padding-top:10px}.improv-shell .campus-next-symbol{color:var(--campus-accent);font-size:32px;font-weight:750;line-height:1.2}.improv-shell .campus-next-quality{font-size:13px;margin:2px 0 7px;color:var(--campus-muted)}.improv-shell .campus-next-tones{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:0;padding:0;background:none}.improv-shell .campus-next-tones li{display:block;min-height:0;border:0;padding:0}.improv-shell .campus-next-tones strong{border-color:var(--campus-next);font-size:25px;background:var(--campus-page)}.improv-shell .campus-next-tones .campus-tone-description{display:none}.improv-shell .campus-display-octave{width:180px;font-size:12px;text-align:left}.improv-shell .campus-display-octave label{display:flex;gap:8px}.improv-shell .campus-display-octave>div{display:flex;align-items:center;gap:10px}.improv-shell .campus-display-octave input{height:44px;min-width:0;accent-color:var(--campus-accent)}.improv-shell .campus-display-octave button{min-height:44px;padding:6px 10px}@media(min-width:801px)and (max-width:1350px){.improv-shell .campus-sidebar section>label,.improv-shell .campus-sidebar .campus-segmented{grid-template-columns:70px minmax(0,1fr);font-size:14px}.improv-shell .campus-sidebar select,.improv-shell .campus-sidebar .campus-segments span,.improv-shell .campus-sidebar .campus-segment-label{font-size:14px}.improv-shell .jammer-chart{grid-template-columns:repeat(2,minmax(0,1fr))}.improv-shell .jammer-measure{min-height:125px}}@media(min-width:801px)and (max-width:1099px){.improv-shell .campus-workspace{grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr);grid-template-areas:"setup setup" "chart explorer" "notation explorer" "notation scales" "notation tips"}.improv-shell #setup-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.improv-shell .campus-sidebar section+section{border-top:0;margin-top:0;padding-top:0}.improv-shell .campus-sidebar .campus-mixer{grid-column:auto}}@media(max-width:800px){.improv-shell .campus-header{gap:4px}.improv-shell .campus-header-end{gap:0}.improv-shell .campus-header-tools{display:none}.improv-shell .jammer-playback{position:sticky;top:0;z-index:10;padding:8px;background:var(--campus-panel)}.improv-shell .campus-toolbar{flex-wrap:nowrap;justify-content:space-between;gap:6px}.improv-shell .campus-toolbar>*+*{padding:0;margin:0;border:0}.improv-shell .jammer-transport{gap:4px;flex-shrink:0}.improv-shell .jammer-transport button,.improv-shell .jammer-transport .campus-play{width:44px;min-width:44px;height:48px;min-height:48px;padding:8px}.improv-shell .jammer-transport .campus-icon{width:24px;height:24px}.improv-shell .campus-bpm{gap:4px;font-size:12px}.improv-shell .campus-bpm input{width:62px;font-size:18px;height:44px;padding:4px}.improv-shell .campus-playback-options{flex:0 0 44px}.improv-shell .campus-overflow-trigger{min-height:44px;width:44px;padding:4px}.improv-shell .campus-options-content{position:absolute;right:0;top:100%;width:min(360px,100%);grid-template-columns:minmax(0,1fr);justify-content:stretch;max-height:65dvh;overflow-y:auto;padding:16px;background:var(--campus-panel);border:1px solid var(--campus-border);border-radius:10px;box-shadow:0 8px 24px #0008;display:grid;gap:14px}.improv-shell .campus-options-content>*+*{border:0;padding:0}.improv-shell .campus-options-content .campus-segmented{justify-content:space-between}.improv-shell .campus-tempo select{width:100%;font-size:16px}.improv-shell .campus-workspace{display:flex;flex-direction:column;gap:12px}.improv-shell .campus-workspace>*{width:100%}.improv-shell .campus-sidebar{display:block;padding:10px 12px}.improv-shell .campus-setup-disclosure{display:block;width:100%;text-align:left;padding:4px 0;border:0;background:none}.improv-shell .campus-setup-disclosure .campus-panel-title{margin:0;padding:0;border:0;justify-content:flex-start}.improv-shell .campus-setup-disclosure .campus-panel-title>span{margin-left:auto}.improv-shell .campus-setup-disclosure small{display:block;font-size:12px;font-weight:400;color:var(--campus-muted);margin-top:7px}.improv-shell #setup-content{padding-top:10px}.improv-shell .campus-setup-art{position:relative;height:125px;margin-bottom:12px;overflow:hidden;border-radius:8px;background:var(--campus-page)}.improv-shell .campus-setup-art .campus-instrument-artwork{width:100%;right:0}.improv-shell .campus-setup-art img{left:22%}.improv-shell .campus-setup-art [data-instrument=trombone] img{left:-55px}.improv-shell .jammer-chart-viewport{max-height:265px;overflow-y:auto;overscroll-behavior:contain}.improv-shell .jammer-chart{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.improv-shell .jammer-measure{min-height:120px;padding:8px;grid-template-rows:18px 1fr 22px}.improv-shell .jammer-chord{font-size:32px}.improv-shell .jammer-playing-badge{font-size:10px}.improv-shell .jammer-explorer{padding:12px}.improv-shell .campus-explorer-heading .campus-panel-title{font-size:16px;gap:8px}.improv-shell .campus-tone-order select{width:132px;font-size:12px}.improv-shell .campus-chord-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.improv-shell .campus-next-chord{margin:0;padding:0 0 0 12px;border:0;border-left:1px solid var(--campus-border)}.improv-shell .campus-explorer-hero{min-height:0;margin:0;padding:0}.improv-shell .campus-chord-identity{width:100%}.improv-shell .campus-chord-symbol,.improv-shell .campus-chord-symbol[data-long-symbol],.improv-shell .campus-next-symbol{font-size:34px;letter-spacing:-.03em;line-height:1.2}.improv-shell .campus-chord-quality,.improv-shell .campus-next-quality{font-size:12px;min-height:30px;line-height:1.2;margin:2px 0 8px;color:var(--campus-text)}.improv-shell .jammer-tones{grid-template-columns:minmax(0,1fr);padding:0;border:0;gap:5px;background:none}.improv-shell .jammer-tones li{grid-template-columns:58px minmax(0,1fr);gap:6px;padding:0;min-height:0;border:0;display:grid}.improv-shell .jammer-tones strong{font-size:25px;background:var(--campus-page)}.improv-shell .campus-tone-description{display:block}.improv-shell .campus-tone-function{font-size:11px}.improv-shell .campus-tone-quality,.improv-shell .campus-tone-explanation{display:none}.improv-shell .campus-next-tones .campus-tone-description{display:block}.improv-shell .campus-notation-heading .campus-segmented{order:initial}.improv-shell .campus-notation-heading .campus-segments{display:grid;grid-template-columns:1fr 1fr;width:100%}.improv-shell .campus-notation-heading .campus-segmented{width:100%}.improv-shell .campus-display-octave{margin:0;width:100%}.improv-shell .campus-display-octave>div{max-width:280px}.improv-shell .campus-notation-paper{align-items:start;min-height:0}.improv-shell .jammer-staff{max-height:360px;overflow:auto;overscroll-behavior:contain}}@media(prefers-reduced-motion:reduce){.improv-shell *{scroll-behavior:auto;transition:none}}@media(max-width:800px){.improv-shell .jammer-tones li{min-height:42px}.improv-shell .campus-next-tones li+li{border:0}}.improv-shell .campus-toolbar{position:relative;flex-wrap:nowrap}.improv-shell .jammer-transport,.improv-shell .campus-tempo-group{flex-shrink:0}.improv-shell .campus-playback-options{display:flex;align-items:center;justify-content:space-between;gap:12px}.improv-shell .campus-options-inline{flex:1;flex-wrap:nowrap}.improv-shell .campus-options-inline:empty{display:none}.improv-shell .campus-overflow-trigger{flex:0 0 44px;min-height:44px;padding:4px}.improv-shell .campus-options-menu{position:absolute;z-index:20;right:0;top:calc(100% + 8px);display:grid;grid-template-columns:minmax(0,1fr);width:min(360px,100%);max-height:65dvh;overflow-y:auto;gap:14px;padding:16px;border:1px solid var(--campus-border);border-radius:10px;background:var(--campus-panel);box-shadow:0 8px 24px #0008}.improv-shell .campus-options-menu>*+*{border:0;padding:0}.improv-shell .campus-options-menu .campus-segmented{justify-content:space-between}.improv-shell .campus-order-note{color:var(--campus-muted);font-size:11px;margin:8px 0 0}@media(min-width:801px){.improv-shell .jammer-chart-panel{container-type:inline-size;align-self:start}.improv-shell .jammer-chart{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.improv-shell .jammer-measure,.improv-shell .jammer-measure[aria-pressed=true]{min-height:116px;padding:8px 5px;grid-template-rows:20px 1fr 20px;gap:4px}.improv-shell .jammer-measure[aria-current=step]{padding:6px 3px}.improv-shell .jammer-chord{font-size:clamp(24px,5.6cqi,38px);white-space:nowrap;overflow-wrap:normal}.improv-shell .jammer-chord[data-long-symbol]{font-size:clamp(20px,4.6cqi,32px)}.improv-shell .jammer-playing-badge{font-size:10px;gap:4px;letter-spacing:0}.improv-shell .jammer-playing-badge .campus-icon{width:16px;height:16px}.improv-shell .campus-practice-tips{padding:8px 14px}}@container (max-width: 370px){.improv-shell .jammer-chart{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.improv-shell .campus-setup-art [data-instrument=bb-trumpet] img{width:300px;left:calc(50% - 150px);top:0}.improv-shell .campus-setup-art [data-instrument=eb-alto-sax] img{width:180px;left:calc(50% - 90px);top:-46px;transform:rotate(36deg)}.improv-shell .campus-setup-art [data-instrument=bb-tenor-sax] img{width:190px;left:calc(50% - 95px);top:-55px;transform:rotate(30deg)}.improv-shell .campus-setup-art [data-instrument=trombone] img{width:325px;left:calc(50% - 165px);top:-4px}}.improv-shell .campus-chord-pair{display:grid;grid-template-columns:minmax(0,1fr) 22px 22px 80px;grid-template-rows:auto auto repeat(4,minmax(66px,auto));column-gap:4px}.improv-shell .campus-current-chord,.improv-shell .campus-next-chord{display:contents}.improv-shell .campus-current-chord>.campus-preview-label{grid-column:1 / 4;grid-row:1}.improv-shell .campus-next-chord>.campus-preview-label{grid-column:4;grid-row:1}.improv-shell .campus-preview-label span{display:inline-block}.improv-shell .campus-explorer-hero{grid-column:1;grid-row:2;min-height:0;margin:0;padding:2px 0 10px;overflow:visible}.improv-shell .campus-chord-identity{width:100%}.improv-shell .campus-chord-symbol{font-size:clamp(32px,3vw,48px);white-space:nowrap}.improv-shell .campus-chord-symbol[data-long-symbol]{font-size:clamp(26px,2.4vw,38px)}.improv-shell .campus-chord-quality{font-size:14px;margin:0;min-height:0}.improv-shell .campus-next-identity{grid-column:4;grid-row:2;align-self:center;min-width:0}.improv-shell .campus-next-symbol{font-size:25px;margin:0;letter-spacing:-.04em;white-space:nowrap}.improv-shell .campus-next-symbol[data-long-symbol]{font-size:19px}.improv-shell .campus-next-quality{display:none}.improv-shell .campus-sort{grid-column:2 / 4;grid-row:2;align-self:center;justify-self:center;width:44px;height:44px;padding:9px;color:var(--campus-accent);border-color:var(--campus-border)}.improv-shell .campus-sort[aria-pressed=true]{border-color:var(--campus-accent);background:var(--campus-active)}.improv-shell .campus-sort[aria-pressed=true] svg{transform:rotate(180deg)}.improv-shell .campus-chord-pair .jammer-tones{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:3 / span 4;padding:0;border:0;border-radius:0;gap:0}.improv-shell .campus-current-chord .jammer-tones{grid-column:1 / 4}.improv-shell .campus-next-tones{grid-column:4}.improv-shell .jammer-tones li{min-height:0;padding:6px 0;gap:8px;grid-template-columns:50px minmax(0,1fr)}.improv-shell .campus-next-tones li{display:grid;grid-template-columns:1fr;align-items:center;padding:6px 8px}.improv-shell .jammer-tones strong{font-size:27px}.improv-shell .campus-tone-function{font-size:14px}.improv-shell .campus-tone-quality,.improv-shell .campus-tone-explanation{font-size:12px}.improv-shell .campus-explorer-art{position:relative;height:112px;margin:0 -16px;overflow:hidden}.improv-shell .campus-explorer-art .campus-instrument-artwork{width:100%;opacity:.65;-webkit-mask-image:linear-gradient(90deg,transparent 10%,#000 40%),linear-gradient(0deg,transparent,#000 18%);mask-image:linear-gradient(90deg,transparent 10%,#000 40%),linear-gradient(0deg,transparent,#000 18%)}.improv-shell .campus-explorer-art [data-instrument=bb-trumpet] img{width:280px;left:calc(100% - 240px);top:0}.improv-shell .campus-explorer-art [data-instrument=eb-alto-sax] img{width:245px;left:calc(100% - 235px);top:-115px;transform:rotate(-45deg)}.improv-shell .campus-explorer-art [data-instrument=bb-tenor-sax] img{width:265px;left:calc(100% - 262px);top:-128px;transform:rotate(-50deg)}.improv-shell .campus-explorer-art [data-instrument=trombone] img{width:350px;left:calc(100% - 310px);top:0}.improv-shell .jammer-notation{container-type:inline-size}.improv-shell .campus-notation-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.improv-shell .campus-notation-heading>.campus-segmented{order:initial;width:auto;justify-self:center}.improv-shell .campus-notation-heading .campus-segments{display:flex;width:auto}.improv-shell .campus-notation-heading .campus-segments label{flex:0 0 auto}.improv-shell .campus-notation-heading .campus-segments span{font-size:13px;padding:8px;min-height:42px}.improv-shell .campus-display-octave{width:auto;margin:0;padding:0}.improv-shell .campus-display-octave>div{max-width:none;gap:0}.improv-shell .campus-display-octave .campus-segment-label{display:none}.improv-shell .campus-display-octave label{margin:0;padding:0}.improv-shell .campus-display-octave .campus-segments label{min-width:44px}.improv-shell .campus-display-octave input{position:absolute;width:1px;min-width:0;height:1px}@container (max-width: 620px){.improv-shell .campus-notation-heading{grid-template-columns:minmax(0,1fr) auto}.improv-shell .campus-display-octave{grid-column:2;grid-row:1}.improv-shell .campus-notation-heading>.campus-segmented{grid-column:1 / -1;justify-self:stretch}.improv-shell .campus-notation-heading>.campus-segmented .campus-segments{width:100%}.improv-shell .campus-notation-heading>.campus-segmented label{flex:1}}@container (max-width: 400px){.improv-shell .campus-notation-heading>.campus-segmented .campus-segments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.improv-shell .campus-chord-pair{grid-template-columns:minmax(0,1fr) 22px 22px minmax(0,1fr);grid-template-rows:auto auto repeat(4,minmax(44px,auto));column-gap:4px;row-gap:0}.improv-shell .campus-current-chord .jammer-tones{grid-column:1 / 3;padding-right:5px}.improv-shell .campus-next-tones{grid-column:3 / 5;padding-left:5px}.improv-shell .campus-next-chord>.campus-preview-label{grid-column:3 / 5;text-align:right}.improv-shell .campus-current-chord>.campus-preview-label{grid-column:1 / 3}.improv-shell .campus-chord-symbol,.improv-shell .campus-chord-symbol[data-long-symbol]{font-size:28px}.improv-shell .campus-next-symbol{font-size:25px}.improv-shell .campus-next-symbol[data-long-symbol]{font-size:20px}.improv-shell .campus-chord-quality{font-size:12px}.improv-shell .campus-next-identity{align-self:start;padding-top:2px}.improv-shell .campus-next-quality{display:block;font-size:12px;min-height:0;margin:0}.improv-shell .campus-sort{align-self:start;margin-top:6px}.improv-shell .jammer-tones li,.improv-shell .campus-next-tones li{grid-template-columns:54px minmax(0,1fr);gap:5px;padding:3px 0}.improv-shell .campus-tone-function{font-size:10px}}@media print{.improv-shell{color:#173e36;background:#fff;color-scheme:light}.improv-shell .campus-header,.improv-shell .campus-sidebar,.improv-shell .campus-segmented,.improv-shell .campus-display-octave,.improv-shell .campus-scale-options,.improv-shell .campus-practice-tips,.improv-shell .campus-instrument-artwork,.improv-shell .campus-explorer-art,.improv-shell .campus-sort,.improv-shell .jammer-follow-controls,.improv-shell .campus-notation-caption{display:none!important}.improv-shell main{max-width:none;padding:0}.improv-shell .campus-workspace{display:block}.improv-shell .jammer-chart-panel,.improv-shell .jammer-notation,.improv-shell .jammer-explorer{position:static;color:#173e36;background:#fff;border-color:#aaa;margin:12px 0;padding:12px;box-shadow:none}.improv-shell .jammer-measure,.improv-shell .jammer-measure[aria-pressed=true],.improv-shell .jammer-measure[aria-current=step]{color:#173e36;background:#fff;border:1px solid #aaa;box-shadow:none;min-height:80px}.improv-shell .jammer-chart{grid-template-columns:repeat(4,minmax(0,1fr))}.improv-shell .campus-chord-symbol,.improv-shell .jammer-tones strong,.improv-shell .campus-tone-quality,.improv-shell .campus-tone-explanation{color:#173e36;text-shadow:none}.improv-shell .campus-chord-quality{text-shadow:none}.improv-shell .campus-explorer-hero{min-height:0}.improv-shell .campus-chord-identity{width:100%}.improv-shell .jammer-tones strong{border-color:#173e36}.improv-shell .campus-notation-paper{min-height:0}.improv-shell .jammer-staff .jammer-staff-emphasis{fill:transparent!important;stroke:none!important}}@media screen and (max-width:800px){.improv-shell .jammer-chart{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.improv-shell .jammer-measure,.improv-shell .jammer-measure[aria-pressed=true]{min-height:90px;padding:8px 5px;grid-template-rows:18px minmax(24px,auto) 16px;gap:2px}.improv-shell .jammer-measure[aria-current=step]{padding:6px 3px}.improv-shell .jammer-measure-number{top:6px;left:7px;font-size:13px}.improv-shell .jammer-function{font-size:11px}.improv-shell .jammer-chord{font-size:clamp(19px,3.4vw,28px);white-space:nowrap;overflow-wrap:normal}.improv-shell .jammer-chord[data-long-symbol]{font-size:clamp(17px,3vw,23px)}.improv-shell .jammer-playing-badge{font-size:9px;letter-spacing:0;gap:3px}.improv-shell .jammer-playing-badge .campus-icon{width:14px;height:14px}}@media screen and (max-width:480px){.improv-shell .jammer-chart{grid-template-columns:repeat(2,minmax(0,1fr))}.improv-shell .jammer-chord{font-size:27px}.improv-shell .jammer-chord[data-long-symbol]{font-size:23px}}
