/* Practice and Conceptual Training only; reuse the existing workspace theme. */
.practice-page #workspaceMain { max-width: 1120px; }
.practice-page .practice-cards { display: grid; gap: 1.25rem; }
.practice-page .practice-card { display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 1.5rem; }
.practice-page .practice-card p { margin: .25rem 0 1.25rem; }
.practice-page .practice-card h2 { margin: .5rem 0; }
.practice-page .practice-card .practice-link { margin-top: auto; }
.practice-page .practice-tag { color: var(--workspace-muted); font-size: .85rem; }
.practice-page .practice-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .6rem 1rem; border: 1px solid var(--workspace-line); border-radius: 7px; text-decoration: none; text-align: center; max-width: 100%; overflow-wrap: anywhere; }
.practice-page .practice-link:hover { background: #edf3ed; }
.practice-page .practice-note { color: var(--workspace-muted); margin-top: 1.25rem; }
.practice-page.intern-page #workspaceMain { max-width: 56rem; }
.practice-page .workspace-heading > .practice-link { margin-bottom: 1rem; }
.practice-page .intern-task > p:not(.workspace-eyebrow) { margin-bottom: 1rem; }
.practice-page .intern-tracks { border: 0; padding: 0; margin: 0 0 1.5rem; min-width: 0; }
.practice-page .intern-tracks legend { margin-bottom: .65rem; font-weight: 600; }
.practice-page .intern-track-options { display: flex; flex-wrap: wrap; gap: .75rem; }
.practice-page .intern-track-options label { display: flex; align-items: center; gap: .6rem; min-height: 44px; padding: .7rem 1rem; border: 1px solid var(--workspace-line); border-radius: 7px; background: white; cursor: pointer; }
.practice-page .intern-track-options label:has(:checked) { background: #e4eee4; border-color: var(--workspace-green); }
.practice-page input[type="radio"] { width: 18px; height: 18px; min-width: 18px; margin: 0; accent-color: var(--workspace-green); }
.practice-page #internContent { min-width: 0; }
.practice-page .intern-task { margin-top: 1rem; }
.practice-page .intern-task h2 { margin: .5rem 0 .75rem; }
.practice-page .intern-choices { border: 0; padding: 0; margin: 1.25rem 0; min-width: 0; }
.practice-page .intern-choices legend { font-weight: 600; margin-bottom: 1rem; }
.practice-page .intern-choice { display: flex; align-items: flex-start; gap: .75rem; min-height: 48px; border: 1px solid var(--workspace-line); border-radius: 7px; padding: .85rem; margin-bottom: .65rem; cursor: pointer; overflow-wrap: anywhere; }
.practice-page .intern-choice input { margin-top: .2rem; flex-shrink: 0; }
.practice-page .intern-choice:has(:checked) { background: #f0f5ee; border-color: var(--workspace-green); }
.practice-page .intern-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.practice-page .intern-feedback:not(:empty), .practice-page .intern-hints:not(:empty) { padding: 1rem; border-left: 3px solid var(--workspace-green); background: #eef4eb; margin-top: 1rem; border-radius: 4px; }
.practice-page .intern-feedback[data-result="incorrect"] { border-color: #966c1e; background: #fcf5e6; }
.practice-page #internStorage { padding: 1rem; background: #fcf5e6; border: 1px solid #dac8a1; border-radius: 7px; margin-bottom: 1rem; }
.practice-page #internStorage p { margin-top: 0; }
.practice-page progress { width: 100%; height: .6rem; accent-color: var(--workspace-green); display: block; }
.practice-page .intern-progress-text { color: var(--workspace-muted); margin: .5rem 0; }
.practice-page button:disabled { cursor: not-allowed; }
.practice-page #internReset { margin-top: 1rem; }
.practice-page .intern-reset-dialog { width: min(30rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.5rem; border: 1px solid var(--workspace-line); border-radius: 9px; color: var(--workspace-ink); }
.practice-page .intern-reset-dialog::backdrop { background: #14271ec2; }
.practice-page #workspaceMain :is(h1, h2, h3, p, legend, span) { overflow-wrap: anywhere; }
.practice-page .workspace-mobile-header { flex-wrap: wrap; }
@media (min-width: 700px) { .practice-page .practice-cards { grid-template-columns: 1fr 1fr; } }

/* Module curriculum: one list, with optional subjects clearly identified. */
.practice-page .intern-curriculum { margin-bottom: 1.5rem; }
.practice-page .intern-curriculum .practice-note { margin: .4rem 0 .85rem; }
.practice-page #internModulePicker { padding: 0; border: 1px solid var(--workspace-line); border-radius: 7px; background: white; }
.practice-page :is(#internModulePicker, .intern-study) > summary { cursor: pointer; min-height: 44px; padding: .75rem 1rem; font-weight: 600; overflow-wrap: anywhere; }
.practice-page .intern-module-list { list-style: none; margin: 0; padding: 0 .75rem .75rem; display: grid; gap: .2rem; }
.practice-page .intern-module-list button { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .15rem; width: 100%; min-height: 44px; padding: .65rem .75rem; text-align: left; border-color: transparent !important; border-radius: 5px; box-shadow: none; transform: none; transition: background-color 150ms ease-out; }
.practice-page .intern-module-list button[aria-current="step"] { background: #e4eee4 !important; }
.practice-page .intern-module-status { display: block; font-size: .78rem; font-weight: 400; line-height: 1.4; color: var(--workspace-muted); }
.practice-page .intern-module-heading h2 { margin: .4rem 0 .65rem; font-size: 1.5rem; }
.practice-page .intern-reading { color: var(--workspace-muted); font-size: .9rem; margin-bottom: 1rem; }
.practice-page .intern-study { background: #eef4eb; border: 1px solid var(--workspace-line); border-radius: 7px; margin-top: 1rem; }
.practice-page .intern-study p { margin: 0 1rem 1rem; }
.practice-page .intern-task > h3 { margin-bottom: 1rem; }

/* Inline topic browsing does not replace the active lesson. */
/* Parents stay compact and strong; topics use a lighter, inset list. */
.practice-page .intern-module-title { font-size: 1rem; font-weight: 700; line-height: 1.35; }
.practice-page .intern-topic-list { list-style: none; padding: .15rem .15rem .4rem .65rem; margin: 0 0 0 1rem; display: grid; gap: .1rem; border-left: 1px solid var(--workspace-line); }
.practice-page .intern-topic-list button { font-size: .9rem; font-weight: 400; line-height: 1.4; padding: .55rem .65rem; }
.practice-page .intern-topic-status { font-size: .76rem; font-weight: 400; color: var(--workspace-muted); }
.practice-page .intern-module-list button:focus-visible { outline: 3px solid var(--workspace-green); outline-offset: -3px; }
.practice-page .intern-explanation { margin-top: .85rem; padding-top: .85rem; border-top: 1px solid var(--workspace-line); }
.practice-page .intern-explanation > strong { display: block; }
.practice-page .intern-explanation > p { margin: .4rem 0 0; }

/* Entry chooser reuses the lesson switcher's module list without its outer dropdown. */
.practice-page #internModuleSelection > h2 { margin: 1.25rem 0 .5rem; font-size: 1.25rem; }
.practice-page #internSelectionHint { color: var(--workspace-muted); margin: 0 0 .85rem; }
.practice-page #internModuleSelection > .intern-module-list { padding: 0; }
