/* Progressive enhancement for the public, device-local course worksheets. */
.page-hero-inner > div {min-width:0}
.page-hero h1,.lesson-hero h1 {overflow-wrap:anywhere}
.lesson-hero.practice-hero .library-wrap {padding-right:0}
.practice-body {max-width:900px;font-size:17px;line-height:1.65;overflow-wrap:anywhere}
.practice-body h2 {font-size:clamp(26px,3.5vw,38px);line-height:1.15;margin:1.5em 0 .6em}
.practice-body h3 {font-size:24px;line-height:1.25;margin:1.4em 0 .5em}
.practice-body p,.practice-body ul,.practice-body ol {margin:1em 0}
.practice-body li {margin:.5em 0}
.practice-body a,.companion-links a {text-decoration:underline;text-underline-offset:4px}
.practice-body blockquote {border-left:4px solid var(--accent);margin:1.2em 0;padding:.2em 1.2em;background:var(--paper-2)}
.practice-body pre {white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}
.practice-body table {width:100%;border-collapse:collapse;font-size:15px}
.practice-body > table {display:block;max-width:100%;overflow-x:auto}
.practice-body th,.practice-body td {text-align:left;vertical-align:top;border:1px solid var(--line);padding:12px;min-width:130px}
.practice-body th {background:var(--accent-soft)}
.practice-table {overflow-x:auto;margin:1em 0;border:1px solid var(--line)}
.practice-table:focus-visible {outline:3px solid var(--accent);outline-offset:3px}
.practice-body details {border:1px solid var(--line);padding:18px;margin:1em 0;background:var(--paper-2)}
.practice-body summary {cursor:pointer;font-weight:600;padding:4px}
.practice-body summary:focus-visible,.workbook-tools button:focus-visible,.workbook-editor textarea:focus-visible {outline:3px solid var(--accent);outline-offset:3px}
.companion-links {display:flex;gap:12px 24px;flex-wrap:wrap;line-height:1.5;margin:24px 0}
.practice-jump {display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0;line-height:1.5}
.practice-session {scroll-margin-top:90px}
.workbook-editor {margin:24px 0;max-width:100%;min-width:0}
.workbook-editor label {display:block;font-size:21px;font-weight:600;line-height:1.4}
.workbook-help {max-width:760px;font-size:15px;line-height:1.55;color:#514d48}
.workbook-editor textarea {display:block;width:100%;max-width:100%;resize:vertical;padding:20px;border:1px solid var(--ink);border-radius:0;font-family:var(--mono);font-size:15px;line-height:1.65;color:var(--ink);background:var(--paper-2)}
.workbook-tools {display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.workbook-tools button {font:inherit;font-size:14px;line-height:1.3;padding:12px 16px;border:1px solid var(--ink);background:var(--paper-2);color:var(--ink);cursor:pointer;min-height:44px}
.workbook-tools button:hover {background:var(--accent-soft)}
.workbook-status {min-height:1.7em;font-size:14px;line-height:1.55;color:#514d48}
.workbook-print-copy {display:none}
@media(max-width:620px) {
  .workbook-editor textarea {padding:12px;font-size:16px}
  .practice-body {font-size:16px}
  .practice-body th,.practice-body td {padding:9px}
}
@media print {
  body.printing-workbook-card > * {display:none!important}
  body.printing-workbook-card > .workbook-print-copy {display:block!important;white-space:pre-wrap;overflow-wrap:anywhere;color:#000;font:12pt/1.5 monospace}
  .workbook-tools,.workbook-status,.library-nav-shell,.library-footer,.session-rail-shell {display:none!important}
  .practice-body details {display:block}
  .practice-table {overflow:visible}
  .section {break-inside:auto}
}

.programme-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.programme-nav a{min-height:70px;padding:24px 12px}.programme-nav a:nth-child(2){text-align:center}.programme-nav a:last-child{border-left:0;padding-left:12px}


/* =========================================================
   LEARNER GUIDE + ACTIVITY TYPES
========================================================== */
.learner-guide-section{padding:28px 0;background:var(--paper-2)}
.learner-guide-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.learner-type,.activity-tag{display:inline-flex;align-items:center;width:max-content;padding:7px 9px;border:1px solid var(--ink);font-family:var(--mono);font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.04em;background:var(--paper)}
.activity-tag.is-prompt{background:var(--accent);font-weight:600}
.activity-tag.is-notes{border-style:dashed;background:var(--paper-2)}
.activity-tag.is-simulation{border-style:dashed;background:var(--paper)}
.learner-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.learner-guide-item{min-height:132px;padding:18px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper-2)}
.learner-guide-item>span{display:block;margin-bottom:12px;font-family:var(--mono);font-size:9px;text-transform:uppercase;color:var(--muted)}
.learner-guide-item p{margin:0;font-size:14px;line-height:1.5}
.learner-guide-note{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.activity-banner{display:flex;align-items:flex-start;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--ink);background:var(--paper-2)}
.activity-banner.is-prompt{background:var(--accent-soft)}
.activity-banner.is-notes{border-style:dashed}
.activity-banner strong{font-family:var(--mono);font-size:10px;text-transform:uppercase;white-space:nowrap}
.activity-banner span{font-size:14px;line-height:1.45;color:#514d48}
.workbook-editor>.activity-tag{margin-bottom:12px}

/* Starter-case prompt/material distinction */
.case-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink);margin:24px 0}
.case-legend-card{min-height:170px;padding:20px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--paper-2)}
.case-legend-card strong{display:block;font-size:20px;line-height:1.2;margin:20px 0 8px;letter-spacing:-.02em}
.case-legend-card p{margin:0;font-size:14px;color:#514d48;line-height:1.5}
.case-legend-card.is-prompt{background:var(--accent-soft)}
.case-chip{display:inline-flex;align-items:center;width:max-content;font-family:var(--mono);font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.04em;padding:7px 9px;border:1px solid var(--ink);background:var(--paper-2)}
.case-first-run,.case-ready-box{margin:28px 0;padding:24px;border:2px solid var(--ink);background:var(--paper-2)}
.case-first-run h3,.case-ready-box h3{margin:16px 0 10px;font-size:24px}
.case-first-run ol{margin:12px 0;padding-left:24px}
.case-copy-block{margin:22px 0;border:1px solid var(--ink);background:var(--paper-2)}
.case-copy-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;border-bottom:1px solid var(--ink);font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--muted)}
.case-copy-block.is-prompt .case-copy-head{background:var(--accent-soft);color:var(--ink)}
.case-copy-block pre[data-copy-block]{margin:0;padding:22px;white-space:pre-wrap;overflow-wrap:anywhere;background:#fffdf8;font-family:var(--mono);font-size:14px;line-height:1.7}
.case-copy-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--line)}
.case-copy-tools button{min-height:42px;padding:10px 14px;border:1px solid var(--ink);background:var(--ink);color:var(--white);font:600 12px/1.2 var(--mono);text-transform:uppercase;cursor:pointer}
.case-copy-tools button:hover{background:var(--accent);color:var(--ink)}
.case-copy-tools button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.case-copy-status{font-size:13px;color:#514d48}
.case-explain{padding:18px;border-left:4px solid var(--accent);background:var(--paper-2)}
.case-explain .case-chip{margin-right:10px}
.case-later-inputs{background:transparent!important;border-style:dashed!important}
.case-ready-box{background:var(--accent-soft)}
.case-ready-box .case-copy-tools{padding:0;border-top:0;margin-top:16px;background:transparent}
.case-later-divider{background:var(--dark);color:var(--white)}
.case-later-divider .practice-body p{color:rgba(255,255,255,.72)}
.case-later-divider .case-chip{border-color:rgba(255,255,255,.65);background:transparent;color:var(--white)}

@media(max-width:900px){.learner-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .case-legend{grid-template-columns:1fr}
  .case-legend-card{min-height:0}
  .case-copy-head{align-items:flex-start;flex-direction:column;gap:8px}
  .case-copy-block pre[data-copy-block]{padding:16px;font-size:13px}
}
@media(max-width:620px){.learner-guide-grid{grid-template-columns:1fr}.learner-guide-item{min-height:0}}
@media print{
  .case-copy-tools{display:none!important}
  .case-later-divider{background:#fff!important;color:#000!important}
  .case-later-divider .practice-body p{color:#333!important}
  .case-later-divider .case-chip{border-color:#000;color:#000}
}


/* v2 targeted spacing fixes */
.workbook-editor>.activity-tag{display:inline-flex;margin:0 0 16px}
.workbook-editor label{margin:0 0 10px}
.workbook-help{margin-top:0}
.workbook-head>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 14px;
  border:1px solid var(--ink);
  background:var(--paper-2);
  text-decoration:none;
}
.workbook-head>a:hover{background:var(--accent-soft)}
@media(max-width:620px){
  .workbook-head>a{justify-self:start}
}
