/* Unified rhythm taxonomy: type → category → exercise. */
.rhythm-page .task-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.4fr);gap:8px;width:100%}
.rhythm-page .task-top select{width:100%;min-width:0;height:44px;padding:6px 9px;border:1px solid var(--site-line);border-radius:9px;background:var(--site-raised);color:var(--site-ink);font-size:14px}
.rhythm-page .task-top select:focus-visible{outline:3px solid var(--site-accent);outline-offset:2px}
#compound-viewport{display:none;position:relative;align-self:stretch;width:100%;height:100%;max-height:100%;min-width:0;min-height:0;overflow:hidden;border-radius:12px;background:var(--site-raised)}
#compound-frame{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;border:0;background:var(--site-raised)}
.rhythm-page[data-track=compound] main{grid-template-rows:96px minmax(0,1fr) 48px;overflow:hidden}
.rhythm-page[data-track=compound] main>.score,.rhythm-page[data-track=compound] main>.workspace{display:none}
.rhythm-page[data-track=compound] main>footer{display:flex;position:relative;z-index:2}
.rhythm-page[data-track=compound] #compound-viewport{display:block}
.rhythm-page[data-track=drum] main{grid-template-rows:96px minmax(0,1fr) 48px;overflow:hidden}
.rhythm-page[data-track=drum] main>.score,.rhythm-page[data-track=drum] main>.workspace{display:none}
.rhythm-page[data-track=drum] main>footer{display:flex;position:relative;z-index:2}
.rhythm-page[data-track=drum] #compound-viewport{display:block}
@media(max-width:900px){
 .rhythm-page main{grid-template-rows:112px clamp(140px,27dvh,220px) minmax(130px,1fr) 48px;gap:6px;padding:6px 10px max(6px,env(safe-area-inset-bottom))}
 .rhythm-page .task-top{grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.35fr);grid-template-rows:44px;gap:6px;height:44px}
 .rhythm-page .task-top #question{grid-column:auto;max-width:none}
 .rhythm-page .task-top select{font-size:12px;padding-inline:4px}
 .rhythm-page .task{min-height:0}
 .rhythm-page .task-bottom{display:block;height:16px;margin-top:2px;padding:0;font-size:12px}
 .rhythm-page .task-bottom #condition{display:none}
 .rhythm-page .objective{display:none}
 .rhythm-page[data-track=compound] main{grid-template-rows:52px minmax(0,1fr) 48px}
 .rhythm-page[data-track=compound] .task-bottom{display:none}
 .rhythm-page[data-track=drum] main{grid-template-rows:52px minmax(0,1fr) 48px}
 .rhythm-page[data-track=drum] .task-bottom{display:none}
}

/* Embedded trainers own exercise facts; the outer page owns navigation and actions. */
.rhythm-page:is([data-track=compound],[data-track=drum]) main{grid-template-rows:52px minmax(0,1fr) 48px}
.rhythm-page:is([data-track=compound],[data-track=drum]) .task-bottom,
.rhythm-page:is([data-track=compound],[data-track=drum]) .task>.objective{display:none}
