.academy-intro{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin:1.8rem 0 1rem}.academy-intro h2{margin:0 0 .4rem}.academy-intro p{margin:0;color:#52677a}.academy-review-note{max-width:300px;font-size:.8rem;color:#52677a}.academy-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-bottom:1.5rem}.academy-course{display:flex;flex-direction:column;margin:0;padding:1.5rem;min-width:0}.academy-course-number{font-size:.7rem;letter-spacing:.12em;font-weight:700;color:#087985;margin-bottom:1rem}.academy-course h2{font-size:1.2rem;line-height:1.35;margin:0 0 .8rem}.academy-progress-note{color:#52677a;font-size:.85rem}.academy-course details{font-size:.8rem;margin:.4rem 0 1.5rem;overflow-wrap:anywhere}.academy-course details summary{cursor:pointer}.academy-course .button{margin-top:auto;display:flex;justify-content:space-between;align-items:center}.academy-course .workspace-icon{width:18px;height:18px}.academy-player-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.academy-player-top h1{font-size:1.35rem;margin:.4rem 0}.academy-save-tools{display:flex;gap:.7rem;align-items:center;font-size:.8rem}.academy-player-note{font-size:.75rem;background:#fff5df;border:1px solid #eadcb9;padding:.6rem .8rem;color:#675126}.academy-playing #nav{display:none}.academy-playing #shell{display:block}.academy-playing main{max-width:none;padding:1rem 1.5rem}.academy-playing #academy-player{display:block;width:100%;height:calc(100dvh - 235px);min-height:540px;border:1px solid #d9e3e9;border-radius:8px;background:white}#academy-error{padding:1rem;background:#fff0ef;color:#a02a20;border:1px solid #e7aaa4;margin:.6rem 0}.academy-playing #menu-toggle{display:none}@media(max-width:1100px){.academy-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.academy-course-grid{grid-template-columns:1fr}.academy-intro,.academy-player-top{display:block}.academy-review-note{display:block;margin-top:.7rem}.academy-playing main{padding:.7rem}.academy-player-top h1{font-size:1.15rem}.academy-save-tools{flex-wrap:wrap;margin-top:.7rem}.academy-playing #academy-player{min-height:600px;height:calc(100dvh - 230px)}}

.academy-save-tools [hidden],#academy-error[hidden]{display:none!important}
#academy-discard-label[hidden]{display:none!important}

/* The course owns the available stage; the workspace must not add a scrollbar. */
body.academy-playing{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.academy-playing>.test-strip,.academy-playing>header{display:none}
.academy-playing #shell{display:flex;flex:1;min-height:0;height:100%;width:100%;margin:0;overflow:hidden}
.academy-playing main#main{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;min-height:0;padding:8px 12px;overflow:hidden}
.academy-playing .academy-player-top{flex:none;min-width:0;gap:12px}
.academy-playing .academy-player-top>div:first-child{display:flex;align-items:center;gap:16px;min-width:0}
.academy-playing .academy-player-top h1{font-size:17px;line-height:1.2;margin:0}
.academy-playing .academy-player-top a{white-space:nowrap;font-size:13px}
.academy-playing .academy-save-tools{font-size:12px;flex-shrink:0}
.academy-playing .academy-save-tools button{padding:8px 12px;min-height:38px;font-size:12px}
.academy-playing .academy-player-note{flex:none;margin:0;padding:4px 8px;font-size:11px;line-height:1.4}
.academy-playing #academy-player{flex:1;min-height:0;height:0;width:100%;border-radius:6px}
.academy-playing #academy-error{flex:none;margin:0}
@media(max-width:700px){
 .academy-playing main#main{padding:6px;gap:5px}
 .academy-playing .academy-player-top{display:flex;align-items:flex-start}
 .academy-playing .academy-player-top>div:first-child{display:block}
 .academy-playing .academy-player-top h1{font-size:14px;margin-top:3px}
 .academy-playing .academy-save-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:45%;margin:0;gap:4px}
 .academy-playing #academy-save-status{width:100%;height:2.8em;line-height:1.4;font-size:10px;text-align:right}
 .academy-playing .academy-player-note{font-size:10px}
}

/* Review detail is available on request without using lesson space. */
.academy-playing .academy-save-tools .academy-info-button{background:transparent;color:#52677a;border:0;padding:6px;font-weight:400;white-space:nowrap}
.academy-info-button:hover{text-decoration:underline}
.academy-info-dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #d9e3e9;border-radius:12px;padding:24px;color:#173747;background:#fff}
.academy-info-dialog::backdrop{background:#102c3a66}
.academy-info-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.academy-info-heading h2{font-size:20px;margin:0}
.academy-info-dialog p{font-size:14px;line-height:1.6;margin:20px 0 0}
.academy-info-dialog [hidden]{display:none!important}


/* Purpose-matched course covers keep the existing course and saved-place actions. */
.academy-course{padding:0;overflow:hidden}
.academy-course-cover{aspect-ratio:16/9;width:100%;flex:none;background:#e5eff1;overflow:hidden;border-bottom:1px solid #d9e3e9}
.academy-course-cover img{display:block;width:100%;height:100%;object-fit:cover}
.academy-course-cover img[src="/static/course-flushing.png"]{object-position:center 20%}
.academy-course-body{display:flex;flex:1;flex-direction:column;padding:1.35rem;min-width:0}
.academy-course-cover-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#dfedef,#f0f6f5);color:#397889}
.academy-course-cover-fallback .workspace-icon{width:52px;height:52px}
.academy-course .academy-course-number{margin-bottom:.8rem}
@media(max-width:650px){.academy-course-body{padding:1.2rem}.academy-course-cover{aspect-ratio:16/8}}
