/* R54: bounded, independently scrolling chooser and nonblocking lesson status. */
.r54-training-shade{position:fixed;inset:0;z-index:98550;display:grid;place-items:center;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#030813e8;color:#f9f5e9;font:calc(16px * var(--r54-training-scale,1))/1.42 "Atkinson Hyperlegible Next",Arial,sans-serif;box-sizing:border-box}
.r54-training-shade *{box-sizing:border-box}.r54-training-panel{display:flex;flex-direction:column;width:min(920px,100%);max-height:100%;min-height:0;border:2px solid #cead60;border-radius:14px;background:#0c1727;box-shadow:0 18px 72px #0008;overflow:hidden}.r54-training-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #53677e;flex:none}.r54-training-panel h2{font-size:1.35em;margin:0}.r54-training-panel h3{font-size:1.08em;margin:0 0 .45em}.r54-training-panel p{margin:.45em 0}.r54-training-scroll{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:14px 18px;scroll-padding:14px}.r54-training-card{border:1px solid #597087;border-radius:10px;padding:14px;margin:12px 0;background:#122338}.r54-training-command{font-size:1.1em;font-weight:800;color:#ffe196}.r54-training-note{color:#c0d0e1;font-size:.9em}.r54-training-recommendation{border-left:4px solid #e1bc61;padding:10px;background:#253246}.r54-training-scroll-cue{flex:none;padding:8px 18px;font-size:max(14px,.875em);color:#d0dae7;border-top:1px solid #53677e}.r54-training-shade button,.r54-training-shade select,.r54-training-dock button{min-height:44px;border:1px solid #9daec0;border-radius:7px;background:#20394f;color:#fff;padding:9px 13px;font:inherit;cursor:pointer;touch-action:manipulation}.r54-training-shade button[aria-pressed=true]{border:2px solid #ffe196;background:#485237;color:#fff3c8}.r54-training-shade :focus-visible,.r54-training-dock :focus-visible{outline:3px solid #ffdc70;outline-offset:3px}.r54-training-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.r54-training-recorder{margin-top:20px;border-top:2px solid #708496;padding-top:16px}.r54-training-complete{display:inline-block;color:#a2efb5;font-weight:700;margin-left:12px}.r54-training-dock{position:fixed;z-index:86000;top:max(calc(env(safe-area-inset-top) + 72px),12vh);left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 240px));padding:7px 9px;border:1px solid #a68d55;border-radius:9px;background:#0a1628ee;color:#faf7ed;font:calc(14px * var(--r54-training-scale,1))/1.3 "Atkinson Hyperlegible Next",Arial,sans-serif;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;pointer-events:none}.r54-training-current{font-weight:700;overflow-wrap:anywhere}.r54-training-status{grid-column:1;overflow-wrap:anywhere}.r54-training-dock button{grid-column:2;grid-row:1/3;pointer-events:auto;min-height:44px;padding:6px 10px}.r54-training-matchup{font-weight:700;color:#b6d9f6}@media(max-height:480px){.r54-training-panel header{padding:6px 12px}.r54-training-scroll{padding:7px 12px}.r54-training-scroll-cue{padding:5px 12px;font-size:max(14px,.875em)}.r54-training-card{padding:10px}.r54-training-dock{top:max(72px,calc(env(safe-area-inset-top) + 60px));width:calc(100vw - 220px);font-size:calc(14px * var(--r54-training-scale,1));padding:5px 7px}.r54-training-dock button{min-height:44px;padding:4px 7px}}@media(max-width:540px){.r54-training-dock{width:calc(100vw - 32px)}.r54-training-panel h2{font-size:1.15em}}

.r54-training-dock[hidden],.r54-training-shade[hidden]{display:none!important}

/* R61: recommended drill is a deliberate large action, usable on touch and pad. */
.r54-training-shade .r61-training-recommended{width:100%;font-weight:800;border:2px solid #ffe196;background:#3c482d;color:#fff3c8}.r61-training-card-recommended{border-color:#ffe196}

/* R69: a guided exercise has one live task and an optional instruction sheet.
 * The engine uses isGuidedPractice() to suppress its advanced training panels. */
.r54-training-dock[data-r69-guided=true]{width:min(680px,calc(100vw - 240px));padding:10px 12px;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;border:1px solid #69869b;border-top:3px solid #e7bc65;border-radius:12px;background:linear-gradient(125deg,#122b3bf5,#071421f5);box-shadow:0 10px 32px #0005}
.r54-training-dock[data-r69-guided=true] .r54-training-current{font-size:.83em;color:#bed3df;font-weight:600;letter-spacing:.025em}
.r54-training-dock[data-r69-guided=true] .r54-training-status{font-weight:800;color:#ffe4a6;font-size:1.08em}
.r69-training-hint{grid-column:1;color:#ecf2f6;font-size:.9em;line-height:1.35;overflow-wrap:anywhere}
.r54-training-dock[data-r69-guided=true] button{grid-row:1/3;min-width:100px;border-radius:8px;background:#1d3749}
.r54-training-dock[data-r69-guided=true] .r69-training-skip{grid-row:3;min-height:36px;font-size:.84em;border-color:transparent;background:transparent;color:#c5d5df}
.r54-training-dock[data-r69-progress=response]{border-top-color:#8ae5cd}
.r54-training-dock[data-r69-progress=retry]{border-top-color:#f0ad85}
.r54-training-dock[data-r69-progress=complete]{border-top-color:#a0eaa9}
@media(max-height:480px){.r54-training-dock[data-r69-guided=true]{width:calc(100vw - 224px);top:max(62px,calc(env(safe-area-inset-top) + 56px));padding:6px 9px;gap:2px 9px}.r54-training-dock[data-r69-guided=true] button{min-width:84px;padding:4px 8px}.r69-training-hint{font-size:.86em}}
@media(max-width:600px){.r54-training-dock[data-r69-guided=true]{width:calc(100vw - 28px)}}
