
    .ctl{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:var(--ash); border:1px solid var(--line-soft); border-radius:10px; padding:10px 14px; margin-bottom:14px; }
    .ctllab{ font-weight:800; font-size:.9rem; } .diffopt{ font-weight:600; font-size:.92rem; display:inline-flex; align-items:center; gap:5px; }
    .diffopt.off{ opacity:.45; }
    .ctlhint{ font-size:.8rem; color:var(--muted); }
    @media print{ .ctl{ display:none !important; } }
    .hd{ display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:2px solid var(--ink); padding-bottom:4px; margin-bottom:2px; }
    .hd h1{ font-size:1.15em; margin:0; font-weight:800; line-height:1.15; }
    .hd .who{ font-size:.9em; color:var(--muted); display:flex; align-items:center; gap:6px; white-space:nowrap; }
    .subhd{ font-size:.85em; color:var(--muted); margin:0 0 8px; display:flex; justify-content:space-between; gap:14px; }
    .subhd .nd{ white-space:nowrap; }
    /* figure to the RIGHT of the question; the stem + working fill the left column */
    .aqb{ break-inside:avoid; border-bottom:1px dashed var(--line); padding:9px 0 7px; display:flex; gap:16px; align-items:flex-start; }
    .aqmain{ flex:1 1 auto; min-width:0; }
    .aqfig{ flex:0 0 auto; text-align:center; } .aqfig svg{ max-height:165px; max-width:220px; width:auto; height:auto; }
    /* annotation diagram (draw/complete on it): full width, LARGE, its own workspace */
    .aqb.wk{ display:block; } .aqfigbig{ text-align:center; margin:10px 0 6px; } .aqfigbig svg{ max-height:340px; max-width:540px; width:auto; height:auto; }
    .qhead{ display:flex; align-items:baseline; gap:8px; font-size:1.05em; }
    .qn{ font-weight:800; color:var(--red); } .qtxt{ flex:1; } .mk{ color:var(--muted); font-size:.85em; white-space:nowrap; font-style:italic; }
    .awork{ } .ansline{ font-size:.9em; color:var(--muted); display:flex; align-items:baseline; gap:8px; margin-top:4px; }
    .ansline .rule{ flex:1; border-bottom:1px solid var(--ink); height:0; }
    /* mark scheme ALWAYS starts on a fresh page (never shares one with the last question) */
    .brk{ break-before:page; page-break-before:always; }
    /* mark scheme pages (compact) */
    .ms{ font-size:.9em; } .ms .subhd{ margin-bottom:8px; }
    .ms .msq{ break-inside:avoid; border:1px solid var(--line); border-radius:6px; padding:5px 10px; margin-bottom:7px; }
    .msqh{ display:flex; align-items:baseline; gap:8px; font-size:1em; font-weight:600; border-bottom:1px solid var(--line); padding-bottom:3px; margin-bottom:4px; }
    .msbody{ display:grid; grid-template-columns:1.4fr 1fr; gap:14px; }
    .mlab{ display:block; font-size:.7em; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--muted); margin-bottom:2px; }
    .mmeth{ margin:1px 0; } .mmeth .katex{ font-size:.98em; } .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; white-space:nowrap; } .mdesc{ color:#333; }