
    .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); }
    .intro{ font-size:.86em; color:var(--muted); margin:0 0 10px; }
    .fgrid{ display:grid; grid-template-columns:1fr 1fr; gap:11px; }
    .fex{ break-inside:avoid; border:1px solid var(--line); border-radius:7px; padding:7px 11px; }
    .fhd{ display:flex; align-items:baseline; gap:8px; border-bottom:1px solid var(--line); padding-bottom:3px; margin-bottom:5px; }
    .fn{ color:var(--red); font-weight:800; font-size:1.15em; } .ftitle{ flex:1; font-weight:800; font-size:.98em; }
    .frow{ display:flex; gap:8px; align-items:flex-start; }
    .fqcol{ flex:1; } .fq{ font-size:.86em; font-weight:600; margin-bottom:5px; }
    .ffig{ flex:0 0 auto; min-width:150px; }   /* A FLOOR, NOT A FIXED BASIS: a fixed 150px basis
       became a CEILING for the figures that already had room — probability-trees went 177px down
       to 150px. min-width lifts the cramped ones without capping the roomy ones. THE CONTAINER HAD NO RULE, so as a flex item it shrank to its
       content — and the authored svg carries an INLINE max-width:100%, which then measured
       against that shrunken parent. The tightener set width=138 and the figure still rendered
       at 89px. An inline style plus a shrink-to-fit parent beat the stylesheet (TT15). */
    .ffig svg{ max-height:130px; max-width:170px; width:auto; }   /* was 96x104 — below the tightener's 100px floor, so it clamped every figure back down (TT15) */
    /* SPREAD-TO-FILL (owner flag, 26 Aug 2026: "Increase the gaps between the steps on each page so
       that the page is filled"). --spf is set by the fit ladder in the build path, which grows it
       until the real PDF would gain a page. It grows the gap between STEPS specifically, which is
       what was asked, rather than inflating the cards or the grid.
       padding-bottom reserves the footer band, for the reason spelled out in CSS_KO: the .ft footer
       is position:fixed and adds nothing to flow height, so a fill gate with no reserve fills
       straight through it and the footer prints on top of the content. */
    .fstep{ padding:calc(4px + var(--spm,0px)) 0; border-bottom:1px dotted var(--line); } .fstep:last-child{ border-bottom:none; }
    @media print{ .sheet{ padding-bottom:22px; } }
    .fslrow{ display:flex; align-items:baseline; gap:6px; float:left; }
    .fsn{ display:inline-block; width:17px; height:17px; line-height:17px; text-align:center; border:1.2px solid var(--ink); border-radius:50%; font-size:.72em; font-weight:700; }
    .fsw{ font-size:.94em; margin:0 0 0 26px; }
    .spwr{ margin-top:6px; } .splab{ font-size:.78em; font-weight:700; color:var(--muted); }
    .fsline{ margin-top:3px; border-bottom:1px solid var(--ink); height:1.15em; }
    .brk{ break-before:page; }
    .faset{ font-size:.8em; margin-bottom:9px; border-bottom:1px dotted var(--line); padding-bottom:7px; }
    .faans{ font-weight:700; color:var(--green); } .facheck{ font-size:.95em; color:var(--ink); margin-top:2px; }