#modes{grid-template-columns:repeat(4,minmax(0,1fr))}#modes button[data-mode=custom]{grid-column:span 2}
main[data-mode=III]>.session,main[data-mode=III]>.answers,main[data-mode=III]>#reveal,main[data-mode=III]>footer,main[data-mode=III]>#custom-edit,main[data-mode=III]>#tonal-kind{display:none!important}
#progression-panel{display:flex;flex:1;flex-direction:column;padding:0 14px;min-width:0}
.progression-tools{display:flex;gap:8px;margin-bottom:8px}.progression-tools>div{display:flex;flex:1;gap:6px}.progression-tools button{font-size:14px;padding:6px 8px}.progression-tools>div button{flex:1}.progression-tools>button{min-width:68px}
.progression-targets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.progression-targets button{padding:4px 0;min-width:0;line-height:1.3}.progression-targets small{display:block;font-size:12px}.progression-targets b{display:block;font-size:16px}
.progression-context{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:10px 0 8px;min-height:20px}.progression-context strong{font-size:15px;font-weight:600}.progression-context span{font-size:12px;color:var(--muted);white-space:nowrap}
.progression-beats{display:flex;align-items:center;gap:10px;margin-bottom:10px}.progression-beats span{flex:1;min-height:30px;padding:4px;border:1px solid var(--line);border-radius:6px;text-align:center;font-size:15px;background:#f2f7f3}.progression-beats i{font-style:normal;color:var(--muted);font-size:14px}.progression-beats .active{background:var(--green);border-color:var(--green);color:white;font-weight:700}
.progression-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1;align-content:center}.progression-choices button{padding:8px;text-align:left;min-width:0}.progression-choices button:disabled{opacity:1;color:var(--muted);cursor:default}.progression-choices strong{display:block;font-size:15px;margin-bottom:4px}.progression-choices small{display:block;font-size:13px;color:var(--muted);margin-top:5px;white-space:normal}.progression-chords{display:flex;flex-direction:column;align-items:center;padding:3px 0;background:#f2f7f3;border-radius:6px}.progression-chords b{font-size:18px;line-height:1.15}.progression-chords i{font-size:9px;line-height:.8;font-style:normal;color:var(--muted)}.progression-choices button.correct,.progression-choices button.selected{border:2px solid var(--green);padding:7px;background:#eef8f0}.progression-choices button.wrong{border:2px solid #a64328;padding:7px;background:#fff2eb}
#progression-feedback{height:68px;flex-shrink:0;padding:6px 0 2px;visibility:hidden}#progression-feedback-title{font-size:13px;line-height:17px;color:var(--muted)}#progression-keyboard svg{display:block;width:100%;height:42px;stroke-width:.6;stroke:#819489;fill:none}#progression-status{font-size:13px;line-height:18px;min-height:18px;margin:3px 0 6px;color:var(--muted)}#progression-panel footer{display:flex;gap:8px;margin:0 -14px;padding:8px 14px max(8px,env(safe-area-inset-bottom));flex-shrink:0}#progression-panel footer button{font-size:15px;min-height:44px}
@media(min-width:700px){#modes{grid-template-columns:repeat(7,minmax(0,1fr))}#modes button[data-mode=custom]{grid-column:auto}#progression-panel{padding:0 24px}#progression-panel footer{margin:0 -24px;padding-left:24px;padding-right:24px}.progression-chords b{font-size:22px}.progression-choices button{padding:12px}.progression-choices button.correct,.progression-choices button.wrong,.progression-choices button.selected{padding:11px}.progression-choices small{font-size:14px}}
@media(prefers-reduced-motion:no-preference){.progression-beats span{transition:background-color .12s ease}}
main[data-mode=III]{height:100dvh;min-height:0;overflow:hidden}
main[data-mode=III]>header,main[data-mode=III]>nav{flex-shrink:0}
main[data-mode=III] #progression-panel{min-height:0;overflow:hidden}
.progression-content{min-height:0;flex:1;overflow:hidden;display:flex;flex-direction:column;padding:0 2px}
#progression-panel footer{background:var(--bg,#fff);border-top:1px solid var(--line)}
.progression-content>*{flex-shrink:0}
@media(max-height:740px){.progression-content .progression-chords{flex-direction:row;justify-content:center;gap:3px}.progression-content .progression-chords b{font-size:15px}.progression-content .progression-chords i{font-size:0}.progression-content .progression-chords i::after{content:'→';font-size:10px}.progression-content .progression-choices{flex:0;gap:6px}.progression-content .progression-context{margin:5px 0}.progression-content .progression-beats{margin-bottom:6px}.progression-content .progression-choices small{font-size:12px}.progression-content .progression-tools{margin-bottom:6px}}
