/* Training uses student theme variables; normal workspace sizing remains unchanged. */
.modeNav{display:flex;gap:4px}.modeNav button{padding:8px 9px}.modeNav [aria-pressed="true"]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
#trainingSetup{padding:24px;max-width:920px;margin:16px auto}#trainingSetup h2{margin:4px 0 20px;font-size:1.5rem}
.courseChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.courseChoice{padding:22px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--key-shadow)}
.courseChoice strong,.courseChoice span{display:block}.courseChoice strong{font-size:1.4rem}.courseChoice span{font-size:.9rem;margin-top:6px;color:var(--muted)}
.courseChoice.selected{border:2px solid var(--accent);background:var(--accent-soft)}.courseStart{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:12px}.courseStart select{font:inherit;padding:8px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:8px}#trainingSetup>p:last-child{font-size:.9rem;color:var(--muted)}
#trainingPanel{padding:12px 16px;margin-bottom:12px}.practiceHeading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#questionNumber{font-weight:800;color:var(--accent)}#practiceFeedback{font-size:.8rem;color:var(--muted);flex:1}
.hintToggle{display:flex;gap:5px;align-items:center;font-size:.8rem}.practiceHeading button{font-size:.8rem;min-height:32px;padding:6px 10px}
#targetText{font-size:1.75rem;font-weight:800;line-height:1.5;margin:6px 0 8px;overflow-wrap:anywhere}#targetDone{color:var(--success)}#targetRemaining{color:var(--text)}#targetText.hasError #targetRemaining{text-decoration:underline wavy var(--danger)}
.practiceBottom{display:flex;align-items:center;justify-content:space-between;gap:14px}
#progressList{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0;gap:4px;max-width:520px}
#progressList li{min-width:24px;height:25px;display:grid;place-items:center;border:1px solid var(--border);border-radius:6px;font-size:.78rem;color:var(--muted)}
#progressList .complete{background:var(--accent-soft);color:var(--accent)}
#progressList .current{outline:2px solid var(--accent);background:var(--accent);color:var(--surface);font-weight:900}
.metrics{display:flex;gap:12px;font-size:.78rem;flex-wrap:wrap}.metrics strong{margin-left:3px}#practiceResult{margin:8px 0 0;font-size:.9rem;font-weight:700}
body[data-mode="training"] .correspondencePanel{display:none}
#practiceHint{border-top:1px solid var(--border);padding-top:8px;margin-top:10px;overflow-wrap:anywhere}
#nextKeyHint{font-size:.9rem;font-weight:700;margin:0 0 6px;color:var(--accent)}#toggleHint{font-size:.76rem;color:var(--muted);margin:0 0 6px}
#practiceHint small{font-size:.72rem;color:var(--muted)}
body[data-mode="training"] .guideHint{display:none}
#historyDialog{width:min(840px,calc(100% - 24px))}.historyTableWrap{overflow:auto}
#historyTable{width:100%;border-collapse:collapse;white-space:nowrap;font-size:.85rem}
#historyTable td,#historyTable th{padding:8px;border-bottom:1px solid var(--border);text-align:left}
#historyPrivacy,#historyEmpty{font-size:.85rem;color:var(--muted)}
@media(max-width:1050px){.practiceBottom{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:650px){.headerActions{max-width:none}.appHeader{flex-wrap:wrap}.courseChoices{grid-template-columns:1fr}.courseChoice{padding:14px}#targetText{font-size:1.35rem}.metrics{gap:8px}.practiceHeading #practiceFeedback{flex-basis:100%;order:5}.modeNav button{font-size:.76rem;padding:6px 8px}}
