
    .hd{ display:flex; align-items:center; justify-content:space-between; border-bottom:2px solid var(--ink); padding-bottom:4px; margin-bottom:3px; }
    .hd h1{ font-size:1.2em; margin:0; font-weight:800; } .hd .who{ font-size:.85em; color:var(--muted); display:flex; align-items:center; gap:6px; }
    .calcbadge{ vertical-align:-3px; }
    .intro{ font-size:.88em; color:var(--muted); margin:0 0 8px; }
    .wex{ background:#eef6f0; border:1px solid var(--line); border-left:3px solid var(--green); border-radius:5px; padding:6px 11px; margin:0 0 11px; }
    .wlab{ font-size:.72em; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--green); }
    .wq{ font-weight:600; margin:2px 0 3px; } .ws{ font-size:.92em; color:#333; margin:1px 0; }
    .cq{ break-inside:avoid; border-bottom:1px dashed var(--line); padding:7px 0 5px; }
    .cqh{ display:flex; align-items:baseline; gap:8px; font-size:1.03em; }
    .qn{ font-weight:800; color:var(--red); } .qtxt{ flex:1; } .mk{ color:var(--muted); font-size:.85em; white-space:nowrap; }
    .cfig{ margin:4px 0; float:right; } .cfig svg{ max-width:150px; max-height:130px; height:auto; }
    .cwork{ }
    .ansline{ font-size:.9em; color:var(--muted); display:flex; align-items:baseline; gap:8px; } .ansline .rule{ flex:1; border-bottom:1px solid var(--ink); height:0; }
    .cext{ border:1.5px dashed var(--red); border-radius:6px; padding:6px 11px; margin:10px 0 8px; background:#fdf6f6; } .chi{ color:var(--red); font-weight:800; }
    .hints{ margin-top:8px; border-top:1px dashed var(--line); padding-top:5px; font-size:.78em; color:var(--muted); }
    .hlab{ font-weight:700; display:block; margin-bottom:2px; } .hint{ display:inline-block; margin-right:14px; }
    .brk{ break-before:page; }
    .ms .msq{ break-inside:avoid; border:1px solid var(--line); border-radius:6px; padding:5px 10px; margin-bottom:7px; font-size:.9em; }
    .msqh{ display:flex; align-items:baseline; gap:8px; font-weight:600; border-bottom:1px solid var(--line); padding-bottom:3px; margin-bottom:4px; }
    .msbody{ display:grid; grid-template-columns:1.5fr 1fr; gap:14px; }
    .mlab{ display:block; font-size:.72em; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--muted); margin-bottom:2px; }
    .mmeth{ margin:1px 0; } .mans{ margin-top:3px; font-weight:700; color:var(--green); }
    .mrow{ display:flex; align-items:baseline; gap:6px; margin:2px 0; } .tick{ color:var(--green); font-weight:800; } .mpts{ font-weight:700; } .mdesc{ color:#333; }
    /* two print options: FULL teacher sheet (working space + worked example + mark scheme), or a
       CONDENSED student sheet that drops the teacher material but KEEPS working space, grown to FILL
       the page(s) — no cramped questions-only sheet (owner rule 2026-07-06: condensed must fill the page). */
    .pctl{ display:flex; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
    .pctl button{ font:inherit; font-weight:700; border:1.5px solid var(--line); background:#fff; border-radius:8px; padding:8px 15px; cursor:pointer; }
    .pctl button.primary{ background:var(--red); color:#fff; border-color:var(--red); }
    @media print{ .pctl{ display:none!important; } }
    body.condensed .cq{ padding:6px 0 5px; }
    body.condensed .wex, body.condensed .hints, body.condensed .brk.ms{ display:none!important; }
    body.condensed .ansline{ margin-top:2px; }