
.blcx-fig{display:block}
.blcx-fig__svg{display:block;width:100%;height:auto}
.blcx-fig__caption{margin:8px 0 0;font-size:.85rem;font-style:italic}
.blcx-fig__desc{margin:8px 0 0;font-size:.92rem;max-width:64ch;min-height:3.2em}
.blcx-fig__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* flat fills: cream mixed with forest green at fixed ratios (0/6/12/18%) */
.blcx-fig__face{stroke:#1F3D2B;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.blcx-fig__tone0{fill:#F5F0E6}
.blcx-fig__tone1{fill:#E8E5DB}
.blcx-fig__tone2{fill:#DBDACF}
.blcx-fig__tone3{fill:#CED0C4}
.blcx-fig__hair{fill:none;stroke:#1F3D2B;stroke-width:1.1;stroke-opacity:.6}
.blcx-fig__rib{stroke:#1F3D2B;stroke-width:1;stroke-opacity:.45;fill:none}
.blcx-fig__glass{fill:#F5F0E6;fill-opacity:.8;stroke:#1F3D2B;stroke-width:1.6}
.blcx-fig__blade{fill:#E8E5DB;stroke:#1F3D2B;stroke-width:1.5;stroke-linejoin:round}
.blcx-fig__blade--b{fill:#DBDACF}
.blcx-fig__group{cursor:pointer}

/* amber selection */
.blcx-fig__group.is-on .blcx-fig__face,
.blcx-fig__group.is-on .blcx-fig__blade,
.blcx-fig__group.is-on .blcx-fig__glass{stroke:#D59A3F;stroke-width:2.2}
.blcx-fig__group.is-on .blcx-fig__tone0,
.blcx-fig__group.is-on .blcx-fig__glass{fill:#F6EEDC}
.blcx-fig__group.is-on .blcx-fig__tone1,
.blcx-fig__group.is-on .blcx-fig__blade{fill:#F1E2C6}
.blcx-fig__group.is-on .blcx-fig__tone2,
.blcx-fig__group.is-on .blcx-fig__blade--b{fill:#E9D6B1}
.blcx-fig__group.is-on .blcx-fig__tone3{fill:#E0C99B}
.blcx-fig__group.is-on .blcx-fig__hair,
.blcx-fig__group.is-on .blcx-fig__rib{stroke:#D59A3F;stroke-opacity:.95}

.blcx-fig__label{fill:#1F3D2B;font-size:21px;font-weight:600;text-anchor:middle;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.blcx-fig__label-n{fill:#D59A3F;font-weight:700}
.blcx-fig__lead{fill:none;stroke:#1F3D2B;stroke-width:1.1;stroke-opacity:.5}
@media (max-width:560px){.blcx-fig__labels{display:none}}


#cutaway{background:var(--cream);color:var(--green)}.cx-rail{position:relative}.cx-sticky{width:100%;padding:24px 0}.cx-art{max-width:1000px;margin:auto}.cx-art .blcx-fig__svg{max-height:54svh}.cx-controls{max-width:900px;margin:auto}.cx-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.cx-row button{min-height:44px;padding:10px 16px;border:1px solid var(--green);background:transparent;color:var(--green);font:12px var(--mono);cursor:pointer}.cx-row button[aria-pressed=true]{background:var(--green);color:var(--cream)}.cx-row button:focus-visible{outline:2px solid var(--rust);outline-offset:3px}.cx-mode{font:12px var(--mono)}.blcx-fig__caption,.blcx-fig__desc{font-size:12px}.blcx-fig__desc{min-height:3.2em}.cx-art .blcx-fig__label{font-size:18px}
.cx-sticky{top:76px;background:var(--cream)}
.cx-art .blcx-fig{margin:0}
.cx-art .blcx-fig__svg{max-height:30svh}
.cx-sticky .section-heading{margin:0 0 12px}
@media(prefers-reduced-motion:no-preference){.cx-rail.scroll-pinned .cx-sticky{position:sticky}}
.cx-details{max-width:900px;margin:24px auto 0}
.cx-controls>.cx-row{min-height:96px;align-content:start}
.cx-mode{min-height:3em;line-height:1.5;margin:8px 0}
#cutaway .lbl{color:var(--ink-2)}
#cutaway .rule{background:var(--cream-3)}
@media(max-width:860px){
  .cx-sticky{top:72px;padding:8px 0}
  .cx-sticky .section-heading h2{font-size:24px;line-height:1.1;max-width:none}
  .cx-sticky .section-heading p{display:none}
  .cx-art .blcx-fig__svg{height:clamp(140px,25svh,180px);max-height:none;object-fit:contain}
  .blcx-fig{margin:0}
  .blcx-fig__caption{font-size:12px;line-height:1.4;margin:4px 0 14px}
  .cx-controls>label{font-size:12px}
  .cx-row{gap:6px;margin:8px 0}
  .cx-row button{padding:10px 8px;font-size:12px;flex:1 1 0;min-width:0}
  #cxFollow{flex-basis:100%}
  .cx-details .cx-row{display:grid;grid-template-columns:1fr 1fr}
}
@media(min-width:861px) and (max-height:750px){.cx-art .blcx-fig__svg{max-height:26svh}.cx-sticky{padding:10px 0}}
