/* Section 10, part A: Figure 41 native view, Table 16/17/19 companions, and
   phone card layouts for Tables 16–19. Everything is scoped to .s10a-* or to
   tables carrying .s10a-cards (added by s10.js), so part B (s10b-*) and other
   pages are unaffected. Kit tokens only. */

/* ---------- Shared figure chrome (mirrors the Section 1 figures) ---------- */
.s10a-fig{container:s10a/inline-size;position:relative;margin:0;color:var(--ink);font-size:14.5px;line-height:1.5}
.s10a-fig-head{margin:2px 0 16px}
.report-content .s10a-fig .s10a-fig-title{margin:0;font-size:clamp(21px,2.1vw,27px);font-weight:400;line-height:1.2;letter-spacing:-.022em;color:var(--ink-deep);text-wrap:balance}
.s10a-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:0 0 14px}
.s10a-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}
.s10a-control-label{font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s10a-control-label i{text-transform:none;letter-spacing:0;font-size:13px;font-family:Georgia,'Times New Roman',serif}
.s10a-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:20px;background:var(--cream-lo);border:1px solid var(--line);min-width:0}
.s10a-seg button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border:0;border-radius:999px;background:none;color:var(--muted);font-size:13px;font-weight:700;line-height:1.15;text-align:left;cursor:pointer;transition:background-color .2s var(--ease),color .2s,box-shadow .2s}
.s10a-seg button small{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pink-deep)}
.s10a-seg button:hover{color:var(--ink)}
.s10a-seg button[aria-pressed="true"]{background:var(--cream-hi);color:var(--ink-deep);box-shadow:inset 0 0 0 1.5px var(--ink-deep),0 1px 3px rgba(10,43,53,.16)}
.s10a-seg--num button{min-width:38px;justify-content:center;padding:0 10px;font-variant-numeric:tabular-nums}
.s10a-e{font-style:italic;font-family:inherit;white-space:nowrap}
.s10a-e sub{font-style:normal;font-size:.72em;line-height:0}
.s10a-fig-note,.s10a-c-note{margin:12px 0 0;max-width:880px;font-size:12.5px;line-height:1.58;color:var(--muted)}
/* The kit's paragraph rule (.report-content p) is more specific than a bare
   class, so module spacing is set at the same specificity. */
.report-content .s10a-fig .s10a-fig-note{margin:14px 0 0}
.report-content .s10a-fig .s10a-detail{margin:10px 0 0}
.report-content .s10a-companion .s10a-detail{margin:8px 0 0}
.report-content .s10a-fig-note a[data-reference-type],.report-content .s10a-c-note a[data-reference-type]{font-weight:700}
.s10a-detail{margin:10px 0 0;min-height:44px;padding:10px 14px;border-radius:10px;background:var(--cream-lo);font-size:13.5px;line-height:1.5;color:var(--ink)}
.s10a-detail-hint{color:var(--muted)}
.s10a-q{font-style:italic}
.s10a-q-src{font-style:normal;white-space:nowrap}

/* =====================================================================
   Figure 41 · capacity board
   ===================================================================== */
.s10a-cap{--cell:26px;--gap:4px;--drop:#c83e4d}
.s10a-cap-stage{padding:6px 20px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream-hi);box-shadow:0 1px 2px rgba(10,43,53,.04)}
.s10a-board{display:grid;grid-template-columns:minmax(118px,150px) minmax(0,1fr) minmax(0,1fr) minmax(128px,160px);
 grid-template-areas:"hc h0 h1 ho" "pa a0 a1 oa" "pb b0 b1 ob";column-gap:20px;align-items:start}
.s10a-board>div{min-width:0}
.s10a-b-corner,.s10a-b-head,.s10a-b-outhead{padding:12px 0 14px}
.s10a-b-pol,.s10a-b-strip,.s10a-b-out{padding:18px 0 22px;border-top:1px solid var(--line)}
.s10a-b-pol,.s10a-b-out{align-self:stretch}
.report-content .s10a-cap .s10a-corner-note{margin:0;font-size:10.5px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.report-content .s10a-cap .s10a-rank-name{margin:0 0 6px;font-size:12.5px;font-weight:700;line-height:1.3;color:var(--ink-deep)}
.s10a-req{display:flex;align-items:center;gap:7px;min-height:32px;font-size:13.5px;color:var(--ink)}
.s10a-req-word{color:var(--muted);font-size:12.5px}
.s10a-sw{flex:none;width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px rgba(10,43,53,.25)}
.s10a-stepper{display:inline-flex;align-items:center;margin-left:auto;border:1px solid var(--line-strong);border-radius:999px;background:var(--cream-hi)}
.s10a-stepper button{width:30px;height:28px;padding:0;border:0;background:none;color:var(--ink);font-size:16px;font-weight:700;line-height:1;transition:background-color .15s}
.s10a-stepper button:first-child{border-radius:999px 0 0 999px}
.s10a-stepper button:last-child{border-radius:0 999px 999px 0}
.s10a-stepper button:hover:not(:disabled){background:var(--teal-wash)}
.s10a-stepper button:disabled{color:var(--muted);opacity:.45;cursor:default}/* kit rule: never --faint for text; disabled reads as dimmed muted */
.s10a-stepper output{min-width:22px;text-align:center;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-deep)}
.report-content .s10a-cap .s10a-pol-name{margin:0;font-size:14px;font-weight:700;line-height:1.3;color:var(--ink-deep)}
.report-content .s10a-cap .s10a-pol-sub{margin:3px 0 0;font-size:12.5px;line-height:1.4;color:var(--muted)}
.report-content .s10a-cap .s10a-mini{display:none;margin:0 0 8px;font-size:12px;font-weight:700;line-height:1.3;color:var(--ink-soft)}
.s10a-strip-host{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 14px;min-height:calc(var(--cell) + 26px)}
.s10a-strip{position:relative;display:inline-flex;align-items:center;gap:var(--gap);padding-bottom:22px}
.s10a-grp{position:relative;display:inline-flex;gap:var(--gap)}
.s10a-strip--pool>.s10a-grp{padding:3px;margin:-4px;border:1.5px solid var(--teal);border-radius:7px;background:rgba(64,117,121,.06)}
.s10a-divider{display:block;width:2px;height:calc(var(--cell) + 10px);margin:0 4px;border-radius:1px;background:var(--ink-deep);opacity:.7}
.s10a-grp-note{position:absolute;left:0;right:0;top:calc(100% + 5px);font-size:11px;line-height:1.2;color:var(--muted);text-align:center;white-space:nowrap}
.s10a-grp-note .s10a-e{font-size:11.5px}
.s10a-cell{position:relative;display:block;flex:none;width:var(--cell);height:var(--cell);border-radius:5px;background:var(--c,#fff);box-shadow:inset 0 0 0 1px rgba(10,43,53,.42);outline:2px solid transparent;outline-offset:2px;cursor:default;transition:background-color .25s var(--ease),box-shadow .25s var(--ease),outline-color .2s,transform .2s var(--ease)}
.s10a-cell:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px}
/* Legend swatches (.s10a-lgc) share the block encodings. */
.s10a-lgc{position:relative;display:inline-block;flex:none;width:16px;height:16px;border-radius:4px;background:var(--c,#fff);box-shadow:inset 0 0 0 1px rgba(10,43,53,.42)}
:is(.s10a-cell,.s10a-lgc)[data-s="unused"],:is(.s10a-cell,.s10a-lgc)[data-s="idle"]{background:#fff;box-shadow:inset 0 0 0 1px rgba(28,43,51,.28)}
:is(.s10a-cell,.s10a-lgc)[data-s="unused"]::before,:is(.s10a-cell,.s10a-lgc)[data-s="idle"]::before{content:'';position:absolute;inset:4px;border:1px dashed rgba(28,43,51,.25);border-radius:3px}
.s10a-lgc[data-s="unused"]::before,.s10a-lgc[data-s="idle"]::before{inset:3px;border-radius:2px}
/* Web annotation: an unused private row while a local neighbor overflows. */
:is(.s10a-cell,.s10a-lgc)[data-s="idle"]::before{border:1.5px dashed var(--pink-deep)}
.s10a-pooled{position:relative;display:inline-flex;gap:var(--gap);border-radius:6px;outline:1.6px dashed var(--teal-deep);outline-offset:3px}
.s10a-lgc[data-s="pooled"]{outline:1.6px dashed var(--teal-deep);outline-offset:2px}
.s10a-pooled-note{position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);font-size:10.5px;font-weight:700;line-height:1;color:var(--teal-deep);white-space:nowrap}
.s10a-pooled--end .s10a-pooled-note{left:auto;right:-3px;transform:none}
.s10a-pooled--start .s10a-pooled-note{left:-3px;transform:none}
:is(.s10a-cell,.s10a-lgc)[data-s="drop"],:is(.s10a-cell,.s10a-lgc)[data-s="lost"]{background:color-mix(in srgb,var(--c) 35%,#fff);box-shadow:inset 0 0 0 1.6px var(--drop)}
:is(.s10a-cell,.s10a-lgc)[data-s="drop"]::before,:is(.s10a-cell,.s10a-lgc)[data-s="drop"]::after,:is(.s10a-cell,.s10a-lgc)[data-s="lost"]::before,:is(.s10a-cell,.s10a-lgc)[data-s="lost"]::after{content:'';position:absolute;left:22%;right:22%;top:50%;height:1.6px;margin-top:-.8px;border-radius:1px;background:var(--drop);transform:rotate(45deg)}
:is(.s10a-cell,.s10a-lgc)[data-s="drop"]::after,:is(.s10a-cell,.s10a-lgc)[data-s="lost"]::after{transform:rotate(-45deg)}
:is(.s10a-cell,.s10a-lgc)[data-s="lost"]{outline:1.6px dotted var(--drop);outline-offset:2px}
.s10a-cell.is-focus{outline:2.5px solid var(--ink-deep);outline-offset:2px;transform:translateY(-2px)}
.s10a-cell.is-focus:focus-visible{outline-color:var(--pink)}
.s10a-cell.is-changed{animation:s10a-pop .42s var(--ease)}
@keyframes s10a-pop{0%{transform:scale(.6);opacity:.2}100%{transform:none;opacity:1}}
@keyframes s10a-in{0%{transform:translateY(-8px) scale(.85);opacity:0}}
.s10a-legend--cap{gap:8px 18px}
.s10a-legend--cap .s10a-lgc{margin-right:1px}
.s10a-over{display:inline-flex;flex-direction:column;align-items:flex-start;gap:5px}
.s10a-over--none{display:none}
.s10a-over-cells{display:inline-flex;align-items:center;gap:var(--gap)}
.s10a-over-label{font-size:11px;font-weight:700;line-height:1.2;color:var(--drop)}
.s10a-more{display:inline-flex;align-items:center;height:var(--cell);padding:0 6px;border-radius:5px;background:rgba(200,62,77,.1);color:var(--drop);font-size:12px;font-weight:700}
.s10a-strip--pool{padding-top:20px}
/* Rank-wide drops: the count sits above the crossed blocks (in the band of
   the "admitted by sharing" note), never on the offset-tick row below. */
.s10a-strip--pool+.s10a-over{flex-direction:column-reverse;gap:5px}
.s10a-strip--pool+.s10a-over .s10a-over-label{line-height:15.5px}
.s10a-tick{position:absolute;top:calc(20px + var(--cell) + 4px);bottom:2px;left:calc(var(--o) * (var(--cell) + var(--gap)) - var(--gap) / 2);width:0;border-left:1.5px solid var(--ink-deep);pointer-events:none}
.s10a-tick>span{position:absolute;bottom:-1px;left:4px;font-size:11px;line-height:1;color:var(--ink-deep);white-space:nowrap}
.s10a-tick>span sub{font-size:.75em}
.s10a-tick--l>span{left:auto;right:4px}
.s10a-out{display:flex;flex-direction:column;gap:3px;margin:0;font-size:13.5px;line-height:1.35;font-variant-numeric:tabular-nums}
.s10a-out span{color:var(--muted)}
.s10a-out .s10a-out-k{font-weight:700;color:var(--ink-deep)}
.s10a-out .s10a-out-d.is-on{font-weight:700;color:var(--drop)}
.s10a-out .s10a-out-u.is-on{color:var(--pink-deep);font-weight:700}
.s10a-b-out--b .s10a-out .s10a-out-k{color:var(--teal-deep)}

/* readout */
.s10a-readout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px 30px;margin-top:12px;padding:16px 20px 18px;border-radius:var(--radius);background:var(--ink-deep);color:var(--cream)}
.report-content .s10a-readout p{margin:0}
.report-content .s10a-readout .s10a-ro-label{margin:0 0 8px;font-size:10.5px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:#9fc4c6}
.report-content .s10a-readout .s10a-ro-label a{color:#cfe3e4;text-transform:none;letter-spacing:0;font-size:12px;text-decoration-color:rgba(207,227,228,.5)}
.report-content .s10a-readout .s10a-ro-why a{color:#cfe3e4;text-decoration-color:rgba(207,227,228,.5)}
.report-content .s10a-readout a:hover{color:#fff}
.s10a-ro-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}
.report-content .s10a-readout .s10a-ro-table th,.report-content .s10a-readout .s10a-ro-table td{padding:6px 10px 6px 0;border:0;border-bottom:1px solid rgba(250,242,233,.14);background:none;color:var(--cream);text-align:left;vertical-align:baseline;font-weight:400}
.report-content .s10a-readout .s10a-ro-table thead th{font-size:12px;color:#cfe3e4}
.report-content .s10a-readout .s10a-ro-table tbody th,.report-content .s10a-readout .s10a-ro-table tfoot th{white-space:nowrap;color:#cfe3e4;font-size:12px}
.report-content .s10a-readout .s10a-ro-table tfoot th,.report-content .s10a-readout .s10a-ro-table tfoot td{border-bottom:0;padding-top:8px}
.s10a-ro-table b{color:#fff;font-weight:700}
.s10a-ro-table sub{font-size:.72em}
.s10a-ro-big{font-size:clamp(20px,2vw,25px);line-height:1.25;letter-spacing:-.01em;color:#fff}
.s10a-ro-big sup{font-size:.55em}
.s10a-ro-rel{display:inline-block;margin:0 4px;color:var(--pink);font-weight:700}
.report-content .s10a-readout .s10a-ro-why{margin:10px 0 0;font-size:13px;line-height:1.5;color:#e8ddd0}
.report-content .s10a-readout .s10a-ro-why--alt{color:#f6c1d8}

/* =====================================================================
   Table companions (shared shell, mirrors the Section 3 companion)
   ===================================================================== */
.s10a-companion{margin:.4em 0 3em;padding:16px 0 0;border-top:1px solid var(--ink);min-width:0;position:relative;color:var(--ink);font-size:14.5px;line-height:1.5}
.s10a-c-head{margin:0 0 14px}
.report-content .s10a-companion .s10a-c-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;font-size:12px;line-height:1.4}
.s10a-c-kicker-label{font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.s10a-c-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:999px;background:var(--teal-wash);color:var(--teal-deep);font-weight:700}
.s10a-c-badge::before{content:'';width:8px;height:8px;border-radius:50%;border:1.5px dashed var(--teal);box-sizing:border-box}
.report-content .s10a-companion .s10a-c-title{margin:0;font-size:clamp(21px,1.9vw,26px);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.report-content .s10a-companion .s10a-c-toy{margin:4px 0 0;max-width:880px;font-size:13.5px;line-height:1.55;color:var(--muted)}
.report-content .s10a-companion p{margin:0}
.report-content .s10a-companion .s10a-c-note{margin-top:12px}
.s10a-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0!important;font-size:12px;line-height:1.4;color:var(--muted)}
.s10a-legend span{display:inline-flex;align-items:center;gap:7px}
.s10a-lg{display:inline-block;flex:none;width:12px;height:12px;border-radius:50%}
.s10a-lg--made{background:var(--ink-deep);box-shadow:0 0 0 2px var(--cream),0 0 0 3px var(--ink-deep)}
.s10a-lg--read{background:var(--cream-hi);box-shadow:inset 0 0 0 2px var(--teal)}
.s10a-lg--gate{width:4px;height:14px;border-radius:2px;background:repeating-linear-gradient(180deg,var(--pink) 0 3px,transparent 3px 6px)}
.s10a-lg--hard{border-radius:3px;background:var(--teal)}
.s10a-lg--soft{border-radius:3px;background:var(--cream-hi);box-shadow:inset 0 0 0 2.5px var(--ink-deep)}
.s10a-lg--future{border-radius:3px;background:repeating-linear-gradient(135deg,rgba(28,43,51,.28) 0 1.5px,transparent 1.5px 4px);box-shadow:inset 0 0 0 1px rgba(28,43,51,.2)}
.report-content .s10a-companion .s10a-panel-src{margin-top:10px;font-size:12px;line-height:1.5;color:var(--muted)}
.report-content .s10a-companion .s10a-panel-name{margin:0 0 10px;font-size:22px;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}
.s10a-panel-cells{margin:0}
.s10a-panel-cells dt{margin:0 0 3px;font-size:10.5px;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s10a-panel-cells dd{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}
mark.s10a-hl{padding:1px 2px;margin:0 -2px;border-radius:3px;background:rgba(240,82,156,.18);color:inherit;box-shadow:inset 0 -2px 0 var(--pink)}

/* Table row buttons (Tables 16 and 19) */
.report-content table.s10a-cards td.s10a-row-cell{position:relative;padding-right:40px;cursor:pointer}
.s10a-row-button{position:absolute;top:9px;right:8px;display:grid;place-items:center;width:26px;height:26px;margin:0;padding:0;border:0;border-radius:6px;background:none;transition:background-color .15s}
.s10a-row-button:hover,td.s10a-row-cell:hover .s10a-row-button{background:var(--teal-wash)}
/* Row icon at full opacity (3:1 non-text contrast; integration 2026-10-10); hover thickens the stroke. */
.s10a-row-icon{display:block;width:12px;height:12px;fill:none;stroke:var(--teal);stroke-width:1.5;opacity:1;transition:opacity .15s}
.s10a-row-button:hover .s10a-row-icon,td.s10a-row-cell:hover .s10a-row-icon{opacity:1;stroke-width:2.1}
.s10a-row-button[aria-pressed="true"] .s10a-row-icon{opacity:1;fill:var(--pink);stroke:var(--pink-deep)}
.s10a-row-button[aria-pressed="true"] .s10a-row-icon circle{fill:var(--pink)}
.report-content table.s10a-cards tr.is-s10a-selected>td{background:rgba(240,82,156,.06)}
.report-content table.s10a-cards tr.is-s10a-selected>td:first-child{box-shadow:inset 3px 0 0 var(--pink)}

/* ---------- Table 16 companion: lifelines ---------- */
.s10a-life-wrap{position:relative;padding:8px 0 4px}
.s10a-life{--label:156px;position:relative;display:grid;grid-template-columns:var(--label) repeat(var(--n,9),minmax(0,1fr));grid-template-rows:auto auto repeat(3,58px);align-items:center}
.s10a-life-group{grid-column:var(--gs)/var(--ge);grid-row:1;align-self:end;margin:0 4px 6px;padding:0 0 5px;border-bottom:1px solid var(--line-strong);font-size:10.5px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center}
.s10a-life-group--side{border-bottom-style:dashed}
.s10a-life-stage{grid-column:var(--gc);grid-row:var(--gr);align-self:end;display:flex;flex-direction:column;align-items:center;gap:1px;padding:0 3px 10px;text-align:center;font-size:13px;line-height:1.2;color:var(--ink-deep)}
.s10a-life-stage b{font-weight:700}
.s10a-life-stage span{font-size:11px;color:var(--muted)}
.s10a-life-stage.is-side b{color:var(--ink-soft)}
.s10a-life-gate{grid-column:var(--gc);grid-row:3/6;align-self:stretch;justify-self:center;position:relative;z-index:0;width:0;border-left:2px dashed rgba(240,82,156,.75);pointer-events:none}
.s10a-life-gate span{position:absolute;bottom:-20px;left:-60px;width:120px;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-deep)}
.s10a-life-name{grid-column:var(--gc);grid-row:var(--gr);justify-self:stretch;display:flex;align-items:center;height:40px;margin:0 10px 0 0;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--cream-hi);color:var(--ink);font-size:13px;font-weight:700;line-height:1.1;text-align:left;transition:background-color .2s,color .2s,border-color .2s}
.s10a-life-name:hover{border-color:var(--teal)}
.s10a-life-name[aria-pressed="true"]{background:var(--ink-deep);border-color:var(--ink-deep);color:var(--cream)}
.s10a-life-name sup{font-size:.7em}
.s10a-life-line{grid-column:var(--gs)/var(--ge);grid-row:var(--gr);position:relative;height:3px;margin:0 calc(50% / var(--span));border-radius:2px;background:var(--teal);opacity:.28;transition:opacity .25s var(--ease),background-color .25s}
.s10a-life-line--side{height:0;background:none;border-top:2.5px dashed var(--teal)}
.s10a-mark{grid-column:var(--gc);grid-row:var(--gr);justify-self:center;position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;margin:0;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;opacity:.55;transition:opacity .25s var(--ease),transform .2s var(--ease)}
.s10a-mark>span{display:block;width:18px;height:18px;border-radius:50%;background:var(--cream-hi);box-shadow:inset 0 0 0 2.5px var(--teal);transition:box-shadow .2s,background-color .2s}
.s10a-mark[data-role="made"]>span{background:var(--ink-deep);box-shadow:0 0 0 2.5px var(--cream),0 0 0 4px var(--ink-deep)}
.s10a-mark:hover,.s10a-mark.is-focus{transform:scale(1.18)}
.s10a-mark.is-focus>span{box-shadow:inset 0 0 0 2.5px var(--pink),0 0 0 5px var(--pink-wash);background:#fff}
.s10a-mark.is-focus[data-role="made"]>span{background:var(--pink);box-shadow:0 0 0 2.5px var(--cream),0 0 0 4px var(--pink)}
.s10a-companion[data-q="score"] [data-q="score"],.s10a-companion[data-q="req"] [data-q="req"],.s10a-companion[data-q="keep"] [data-q="keep"]{opacity:1}
.s10a-companion[data-q="score"] .s10a-life-line[data-q="score"],.s10a-companion[data-q="req"] .s10a-life-line[data-q="req"],.s10a-companion[data-q="keep"] .s10a-life-line[data-q="keep"]{opacity:1}
.s10a-life-wrap+.s10a-legend{margin-top:26px!important}
.s10a-life-panel{margin-top:16px;padding:16px 20px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream-hi)}
.s10a-life-panel .s10a-panel-cells{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);grid-template-rows:auto auto;grid-auto-flow:column;gap:2px 28px}

/* ---------- Table 17 companion: toy layer ---------- */
.s10a-pattern-note{margin:-4px 0 12px!important;font-size:13.5px;line-height:1.5;color:var(--muted)}
.s10a-pattern-note b{color:var(--ink)}
.s10a-toy-stage{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.85fr);gap:22px 34px;align-items:start}
.s10a-toy-left{min-width:0}
.s10a-mat-grid,.s10a-bar-grid{display:grid;grid-template-columns:48px repeat(8,minmax(0,1fr)) 34px;column-gap:4px}
.s10a-mat-grid{row-gap:4px}
.s10a-mat-corner{grid-column:1;grid-row:1/3;align-self:end;padding-bottom:4px;font-size:10px;line-height:1.25;color:var(--muted)}
.s10a-mat-rank{grid-row:1;padding:0 0 3px;border-bottom:1px solid var(--line-strong);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);text-align:center}
.s10a-mat-sumh{grid-row:1/3;grid-column:10;align-self:end;padding-bottom:4px;font-size:12px;color:var(--muted);text-align:center}
.s10a-mat-blank{display:none}
.s10a-mat-ex{grid-row:2;font-size:13px;color:var(--ink);text-align:center}
.s10a-mat-src{display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:12px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.s10a-mat-src::before{content:'Source\00a0';font-weight:400}
.s10a-mat-sum{display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.s10a-mcell{position:relative;display:flex;align-items:center;justify-content:center;height:40px;margin:0;padding:0;border:0;border-radius:6px;background:var(--cream-hi);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-deep);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;cursor:default;overflow:hidden;transition:box-shadow .2s}
.s10a-mcell::before{content:'';position:absolute;inset:0;background:var(--teal);opacity:calc(var(--v) * .55);transition:opacity .3s var(--ease)}
.s10a-mcell::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--ink-deep) 0 calc(var(--kept) * 100%),#c83e4d calc(var(--kept) * 100%) 100%);opacity:0;transition:opacity .2s}
.s10a-mcell.has-drop::after{opacity:1}
.s10a-mcell-n{position:relative;transition:transform .2s}
.s10a-mcell.has-drop .s10a-mcell-n{transform:translateX(-4px)}
.s10a-mcell-d{position:absolute;top:2px;right:4px;font-size:10.5px;font-weight:700;color:#a3283a}
.s10a-mcell.is-gone .s10a-mcell-n{text-decoration:line-through;text-decoration-color:#c83e4d;text-decoration-thickness:2px;color:var(--ink-soft)}
.s10a-mcell:hover,.s10a-mcell.is-focus{box-shadow:inset 0 0 0 2px var(--ink-deep)}
.s10a-mcell:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px}
.s10a-mcell.is-changed .s10a-mcell-n{animation:s10a-in .4s var(--ease)}
.s10a-bars{margin-top:18px;display:grid;gap:16px}
.report-content .s10a-companion .s10a-bar-title{margin:0 0 6px;font-size:12.5px;line-height:1.4;color:var(--muted)}
.s10a-bar-title sub,.s10a-bar-title sup{font-size:.72em}
.s10a-key{display:inline-block;width:12px;height:10px;margin:0 2px;border-radius:2px;vertical-align:-1px}
.s10a-key--req{box-shadow:inset 0 0 0 1.5px var(--ink-deep);background:rgba(10,43,53,.04)}
.s10a-key--keep{background:var(--teal)}
.s10a-key--cap{width:14px;height:0;border-top:2px dashed var(--pink);border-radius:0;vertical-align:3px}
.s10a-bar-grid{height:96px;align-items:end;padding-top:16px}
.s10a-bar-axis{align-self:start;margin-top:-14px;font-size:10.5px;color:var(--muted);text-align:right;padding-right:8px;font-variant-numeric:tabular-nums}
.s10a-bar{position:relative;height:100%;transition:opacity .2s}
.s10a-bar-req{position:absolute;left:12%;right:12%;bottom:0;height:calc(var(--r) * 100%);border-radius:3px 3px 0 0;box-shadow:inset 0 0 0 1.5px var(--ink-deep);background:rgba(10,43,53,.04);transition:height .45s var(--ease),box-shadow .2s}
.s10a-bar-keep{position:absolute;left:12%;right:12%;bottom:0;height:calc(var(--k) * 100%);border-radius:3px 3px 0 0;background:var(--teal);transition:height .45s var(--ease),background-color .2s}
.s10a-bar--rank .s10a-bar-req,.s10a-bar--rank .s10a-bar-keep{left:6%;right:6%}
.s10a-bar-cap{position:absolute;left:0;right:0;bottom:calc(var(--c) * 100%);height:0;border-top:2px dashed var(--pink);transition:bottom .45s var(--ease)}
.s10a-bar-v{position:absolute;left:0;right:0;bottom:calc(max(var(--r),var(--k)) * 100% + 2px);font-size:11px;font-weight:700;line-height:1.1;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;transition:bottom .45s var(--ease)}
.s10a-bar-of{font-weight:400;color:var(--muted)}
.s10a-bar.is-starved .s10a-bar-v{color:#a3283a}
.s10a-bar.is-starved .s10a-bar-req{box-shadow:inset 0 0 0 1.5px #c83e4d;background:rgba(200,62,77,.08)}
/* One-shot growth when the bars are first seen (s10.js growOnFirstView): the
   bars wait at zero height, pre-hidden before they can be seen. */
.s10a-bar-v,.s10a-bar-cap{transition:bottom .45s var(--ease),opacity .3s .35s}
.is-waiting .s10a-bar-req,.is-waiting .s10a-bar-keep{height:0}
.is-waiting .s10a-bar-v,.is-waiting .s10a-bar-cap{opacity:0;transition:none}
/* readings ↔ bars */
.s10a-companion[data-reading^="req"] .s10a-bar-keep{background:rgba(64,117,121,.35)}
.s10a-companion[data-reading^="keep"] .s10a-bar-req{box-shadow:inset 0 0 0 1px rgba(10,43,53,.25)}
.s10a-companion[data-reading$="E"] .s10a-bar-row--r,.s10a-companion[data-reading$="R"] .s10a-bar-row--e{opacity:.35}
.s10a-companion[data-reading="reqE"] .s10a-bar-row--e .is-max-req .s10a-bar-req,.s10a-companion[data-reading="reqR"] .s10a-bar-row--r .is-max-req .s10a-bar-req{box-shadow:inset 0 0 0 2.5px var(--pink)}
.s10a-companion[data-reading="keepE"] .s10a-bar-row--e .is-max-keep .s10a-bar-keep,.s10a-companion[data-reading="keepR"] .s10a-bar-row--r .is-max-keep .s10a-bar-keep{background:var(--pink)}
.s10a-bar-row{transition:opacity .2s}
.s10a-toy-right{min-width:0}
.report-content .s10a-companion .s10a-ro-label{margin:0 0 8px;font-size:10.5px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s10a-ro-label i,.s10a-ro-label sub{text-transform:none;letter-spacing:0}
.s10a-ro-label i{font-size:13px}
.s10a-q4{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:6px}
.s10a-q4-corner{display:block}
.s10a-q4-col,.s10a-q4-row{font-size:11px;font-weight:700;line-height:1.3;color:var(--ink-soft)}
.s10a-q4-col{align-self:end;padding:0 2px 2px}
.s10a-q4-row{align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;padding:0 2px;letter-spacing:.04em}
.s10a-q4-cell{display:block;width:100%;min-width:0;margin:0;padding:10px 11px 11px;border:0;border-radius:10px;background:var(--cream-hi);box-shadow:inset 0 0 0 1px var(--line);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:box-shadow .2s,background-color .2s}
.s10a-q4-cell:hover{box-shadow:inset 0 0 0 1.5px var(--ink-deep);background:#fff}
.s10a-q4-cell[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--pink);background:#fff}
.s10a-q4-cell p{margin:0}
.report-content .s10a-companion .s10a-q4-val{font-size:26px;line-height:1.1;letter-spacing:-.02em;color:var(--ink-deep);font-variant-numeric:tabular-nums}
.s10a-q4-x{font-size:.6em;margin-left:1px;color:var(--muted)}
.report-content .s10a-companion .s10a-q4-calc{margin:2px 0 6px;font-size:11px;line-height:1.35;color:var(--muted);font-variant-numeric:tabular-nums}
.report-content .s10a-companion .s10a-q4-q{font-size:12px;line-height:1.4;color:var(--ink-soft)}
.s10a-toy-extra{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.s10a-x{padding:10px 12px;border-radius:10px;background:var(--ink-deep);color:var(--cream)}
.report-content .s10a-companion .s10a-x-k{font-size:10.5px;font-weight:700;line-height:1.3;letter-spacing:.06em;color:#9fc4c6}
.report-content .s10a-companion .s10a-x-k a{color:#cfe3e4;text-decoration-color:rgba(207,227,228,.5)}
.report-content .s10a-companion .s10a-x-v{margin-top:2px;font-size:22px;line-height:1.15;color:#fff;font-variant-numeric:tabular-nums}
.s10a-x-v span{display:block;font-size:11.5px;color:#cfe3e4}
.report-content .s10a-companion .s10a-x-warn{grid-column:1/-1;padding:9px 12px;border-radius:10px;background:rgba(200,62,77,.09);font-size:12.5px;line-height:1.45;color:#8e2232}

/* ---------- Table 19 companion: scope map ---------- */
.s10a-scope-stage{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.85fr);gap:22px 34px;align-items:start}
.s10a-scope-mapwrap{min-width:0}
.s10a-scope-grid{display:grid;grid-template-columns:118px repeat(3,minmax(0,1fr));gap:6px 8px}
.s10a-sg-corner{align-self:end;font-size:10px;line-height:1.25;color:var(--muted)}
.s10a-sg-mb{display:flex;flex-direction:column;gap:1px;padding:0 0 4px;border-bottom:2px solid var(--line-strong);font-size:12.5px;line-height:1.25;color:var(--ink-deep)}
.s10a-sg-mb span{font-size:11px;color:var(--muted)}
.s10a-sg-mb.is-now{border-bottom-color:var(--teal)}
.s10a-sg-mb.is-now span{color:var(--teal-deep);font-weight:700}
.s10a-sg-mb.is-future{color:var(--muted)}
.s10a-sg-rank{display:flex;flex-direction:column;justify-content:center;font-size:12.5px;font-weight:700;line-height:1.2;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.s10a-sg-rank small{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-deep)}
.s10a-sg-rank.is-focal{color:var(--ink-deep)}
.s10a-sg-rank.is-other{font-weight:400;color:var(--muted);font-size:11.5px}
.s10a-sg-other{display:flex;align-items:center;padding:6px 10px;border:1px dashed var(--line-strong);border-radius:8px;font-size:11.5px;color:var(--muted)}
.s10a-sg-cell{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border-radius:9px}
.s10a-sg-cell.is-now{background:var(--teal-wash)}
.s10a-blk{position:relative;height:34px;margin:0;padding:0;border:0;border-radius:6px;background:var(--cream-hi);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;cursor:default;transition:background-color .3s var(--ease),box-shadow .3s var(--ease),color .3s}
.s10a-blk span{position:relative}
.s10a-blk[data-s^="h"]{background:var(--teal);color:#fff;box-shadow:none}
/* Soft-score sum: an ink ring (pink stays for focus and selection). */
.s10a-blk[data-s*="s"]{box-shadow:inset 0 0 0 2.5px var(--ink-deep)}
.s10a-blk[data-s="h-f"],.s10a-blk[data-s="hsf"]{background:repeating-linear-gradient(135deg,rgba(64,117,121,.85) 0 3px,rgba(64,117,121,.45) 3px 7px)}
.s10a-blk[data-s="hsf"]{box-shadow:inset 0 0 0 2.5px var(--ink-deep)}
.s10a-blk[data-s="h-f"] span,.s10a-blk[data-s="hsf"] span{padding:0 5px;border-radius:4px;background:var(--cream-hi);color:var(--ink-deep)}
.s10a-blk[data-s="--f"]{background:repeating-linear-gradient(135deg,rgba(28,43,51,.13) 0 1.5px,transparent 1.5px 5px);box-shadow:inset 0 0 0 1px rgba(28,43,51,.15);color:var(--muted)}
.s10a-blk:hover,.s10a-blk.is-focus{outline:2px solid var(--ink-deep);outline-offset:2px}
.s10a-blk.is-focus:focus-visible{outline-color:var(--pink)}
.s10a-blk:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px}
.s10a-blk.is-changed{animation:s10a-pop .38s var(--ease)}
.report-content .s10a-companion .s10a-scope-summary{margin:12px 0 0;font-size:14px;line-height:1.45;color:var(--ink)}
.s10a-scope-summary b{font-variant-numeric:tabular-nums}
.s10a-warn{color:var(--pink-deep)}
.s10a-scope-panel{min-width:0;padding:16px 18px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream-hi)}
.report-content .s10a-companion .s10a-status-label{font-size:10.5px;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.report-content .s10a-companion .s10a-status{display:inline-block;margin:3px 0 14px;padding:4px 11px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.35}
.s10a-status[data-kind="yes"]{background:var(--teal);color:#fff}
.s10a-status[data-kind="yes"] code{background:rgba(255,255,255,.18);color:#fff}
.s10a-status[data-kind="design"]{background:var(--cream-lo);color:var(--ink-soft);box-shadow:inset 0 0 0 1px var(--line-strong)}
.s10a-status[data-kind="no"]{background:var(--pink-wash);color:var(--pink-deep)}
.s10a-scope-panel .s10a-panel-cells dd+dt{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.s10a-scope-panel .s10a-panel-cells dd{font-size:14.5px}

/* =====================================================================
   Container and viewport adaptations
   ===================================================================== */
@container s10a (max-width:1000px){
 .s10a-cap{--cell:23px;--gap:3px}
 .s10a-board{grid-template-columns:minmax(104px,118px) minmax(0,1fr) minmax(0,1fr) minmax(104px,120px);column-gap:16px}
 .s10a-strip-host{column-gap:10px}
 .report-content .s10a-cap .s10a-pol-name{font-size:13.5px}
 .s10a-out{font-size:13px}
}
@container s10a (max-width:820px){
 .s10a-cap{--cell:25px;--gap:4px}
 .s10a-board{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"h0 h1" "a0 a1" "b0 b1" "oa ob";column-gap:28px}
 .s10a-b-corner,.s10a-b-outhead,.s10a-b-pol{display:none}
 .report-content .s10a-cap .s10a-mini{display:block}
 .s10a-b-head{padding:14px 0 10px}
 .s10a-b-strip{padding:12px 0 16px}
 .s10a-b-out{padding:12px 0 6px;border-top:1px solid var(--line-strong)}
 .s10a-out{flex-direction:row;flex-wrap:wrap;gap:4px 14px}
 .s10a-req{max-width:300px}
 .s10a-readout{grid-template-columns:minmax(0,1fr)}
 .s10a-ro-f{display:none}
}
@container s10a (max-width:560px){
 .s10a-board{grid-template-columns:minmax(0,1fr);grid-template-areas:"h0" "a0" "b0" "h1" "a1" "b1" "oa" "ob";column-gap:0}
 .s10a-b-head{padding:14px 0 6px}
 .s10a-b-head[data-rank="1"]{margin-top:6px;border-top:1px solid var(--line-strong)}
 .s10a-b-out{border-top:1px solid var(--line)}
 .s10a-req{max-width:380px}
}
@container s10a (max-width:420px){
 .s10a-cap{--cell:23px}
 .s10a-cap-stage{padding:4px 14px 6px}
 .s10a-seg button{min-height:32px;padding:0 11px;font-size:12.5px}
}
@media(max-width:1100px){
 .s10a-toy-stage,.s10a-scope-stage{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:860px){
 .s10a-life{--label:120px}
 .s10a-life-stage{font-size:12px}
 .s10a-life-stage span{display:none}
 .s10a-life-name{font-size:12px;padding:0 9px}
}
@media(max-width:700px){
 .s10a-controls{gap:10px 16px}
 .s10a-control{gap:6px 10px}
 .s10a-seg button{min-height:32px;padding:0 11px;font-size:12.5px}
 .s10a-readout{padding:14px 14px 16px}
 .report-content .s10a-readout .s10a-ro-table th,.report-content .s10a-readout .s10a-ro-table td{padding-right:6px;font-size:12px}
 /* lifelines transpose: stages become rows, quantities columns */
 .s10a-life{--label:104px;grid-template-columns:var(--label) repeat(3,minmax(0,1fr));grid-template-rows:auto 46px repeat(var(--n,9),44px)}
 .s10a-life-group{display:none}
 .s10a-life-stage{grid-column:1;grid-row:var(--pr);align-self:center;align-items:flex-start;padding:0 6px 0 0;text-align:left}
 .s10a-life-stage span{display:block;font-size:10.5px}
 .s10a-life-stage.is-side{border-top:1px dashed var(--line-strong);align-self:stretch;justify-content:center}
 .s10a-life-stage.is-side~.s10a-life-stage.is-side{border-top:0}
 .s10a-life-gate{grid-column:2/5;grid-row:var(--pr);align-self:center;justify-self:stretch;width:auto;height:0;margin:0;margin-top:-30px;border-left:0;border-top:2px dashed rgba(240,82,156,.75)}
 .s10a-life-gate span{bottom:auto;top:-15px;left:auto;right:0;width:auto;text-align:right;font-size:9.5px}
 .s10a-life-name{grid-column:var(--pc);grid-row:var(--pr);justify-content:center;height:auto;min-height:38px;margin:0 3px;padding:4px 6px;border-radius:12px;text-align:center;font-size:11.5px}
 .s10a-life-line{grid-column:var(--pc);grid-row:var(--ps)/var(--pe);justify-self:center;width:3px;height:auto;align-self:stretch;margin:calc(22px) 0}
 .s10a-life-line--side{width:0;border-top:0;border-left:2.5px dashed var(--teal)}
 .s10a-mark{grid-column:var(--pc);grid-row:var(--pr)}
 .s10a-life-panel{padding:14px 14px}
 .s10a-life-panel .s10a-panel-cells{grid-template-columns:minmax(0,1fr);grid-auto-flow:row}
 .s10a-life-panel .s10a-panel-cells dd+dt{margin-top:12px}
 /* toy layer */
 .s10a-mat-grid,.s10a-bar-grid{grid-template-columns:30px repeat(8,minmax(0,1fr)) 22px;column-gap:3px}
 .s10a-mat-src::before{content:'S'}
 .s10a-mat-src{padding-right:4px}
 .s10a-mat-corner{font-size:0}
 .s10a-mat-rank{font-size:9px;letter-spacing:.06em}
 .s10a-mat-ex{font-size:12px}
 .s10a-mcell{height:36px;font-size:13px}
 .s10a-mcell-d{font-size:9px;right:2px}
 .s10a-bar-v{font-size:10px}
 .s10a-bar-of{display:block;font-size:9px}
 .s10a-q4-val{font-size:23px!important}
 .s10a-toy-extra{grid-template-columns:1fr}
 /* scope map */
 .s10a-scope-grid{grid-template-columns:62px repeat(3,minmax(0,1fr));gap:5px 5px}
 .s10a-sg-mb{font-size:11.5px}
 .s10a-sg-mb b{font-weight:700}
 .s10a-sg-rank{font-size:11px}
 .s10a-sg-rank small{font-size:9px}
 .s10a-sg-cell{gap:3px;padding:3px}
 .s10a-blk{height:30px;font-size:11px}
 .s10a-sg-other{font-size:10.5px;padding:5px 7px}
 /* Tables 16–19 as labelled cards */
 .report-content .table-scroll table.s10a-cards{min-width:0;width:100%!important}
 .report-content table.s10a-cards,.report-content table.s10a-cards tbody,.report-content table.s10a-cards tr,.report-content table.s10a-cards td{display:block;width:auto}
 .report-content table.s10a-cards colgroup{display:none}
 .report-content table.s10a-cards thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .report-content table.s10a-cards tbody tr{padding:14px 16px 15px;border-bottom:1px solid var(--line)}
 .report-content table.s10a-cards tbody tr:last-child{border-bottom:0}
 .report-content table.s10a-cards tbody td{padding:0;border:0;font-size:15px;line-height:1.55}
 .report-content table.s10a-cards tbody td:first-child{font-size:17px;font-weight:700;margin-bottom:2px}
 .report-content table.s10a-cards td.s10a-row-cell{padding-right:40px}
 .s10a-row-button{top:-3px;right:-6px}
 .report-content table.s10a-cards td[data-label]:not(:first-child)::before{content:attr(data-label);content:attr(data-label) / "";display:block;margin:10px 0 2px;font-size:10.5px;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
 .report-content table.s10a-cards tr.is-s10a-selected{background:rgba(240,82,156,.06);box-shadow:inset 3px 0 0 var(--pink)}
 .report-content table.s10a-cards tr.is-s10a-selected>td,.report-content table.s10a-cards tr.is-s10a-selected>td:first-child{background:transparent;box-shadow:none}
 .report-content table.s10a-cards tbody tr:hover>*{background:transparent}
 .table-sticky:has(table.s10a-cards){display:none!important}
 .table-frame:has(table.s10a-cards) .table-tools .table-hint:not(button){display:none}
}
@media(prefers-reduced-motion:reduce){
 .s10a-fig *,.s10a-companion *{animation:none!important;transition:none!important}
}
@media print{
 .s10a-controls,.s10a-detail,.s10a-row-button{display:none!important}
}
