
/* Extend the supplied Brightbeam theme; all original figures remain embedded. */
[hidden], .v32-stage-panel[hidden] { display:none !important; }
.rv { opacity:1; transform:none; }
.ch-head { display:block; }
.ch-head > div { max-width:800px; }
.ch-head .eye { margin-bottom:18px; }
.nav .row { max-width:1480px; }
.chapters a { font-size:14px; font-weight:600; padding:9px 11px; }
.v32-intro .ch-head { margin-bottom:38px; }
.v32-fragment { margin:0 0 28px; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:clamp(24px,4vw,48px); }
.v32-fragment blockquote { margin:0; font-size:clamp(27px,3vw,42px); font-weight:500; line-height:1.16; letter-spacing:-.015em; }
.v32-fragment dl { margin:32px 0 0; padding:24px 0 0; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:24px; }
.v32-fragment dt { font-size:14px; color:var(--char5); margin-bottom:6px; }
.v32-fragment dd { font-size:18px; margin:0; }
.v32-memory-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:8px 0 32px; }
.v32-memory-strip span { font-size:15px; color:var(--char5); line-height:1.4; }
.v32-memory-strip b { display:block; color:var(--char); font-size:17px; font-weight:600; margin-bottom:5px; }
.v32-memory-strip span:last-child b { color:var(--ember); }
.v32-fold { border:1px solid var(--line); background:#fff; border-radius:14px; margin-top:16px; overflow:hidden; }
.v32-fold > summary { list-style:none; position:relative; padding:22px 60px 22px 26px; cursor:pointer; font-size:18px; font-weight:500; }
.v32-fold > summary::-webkit-details-marker { display:none; }
.v32-fold > summary::after { content:'+'; position:absolute; right:26px; top:18px; color:var(--ember); font-size:28px; font-weight:400; }
.v32-fold[open] > summary::after { content:'−'; }
.v32-fold[open] > summary { border-bottom:1px solid var(--line); }
.v32-fold-body { padding:clamp(22px,3vw,40px); }
.v32-reference > .wrap, .v32-overview > .wrap { padding:0; max-width:none; }
.v32-reference .ch-head, .v32-overview .head { margin-bottom:32px; }
.v32-reference h3, .v32-overview h3 { font-size:clamp(25px,2.5vw,34px); }
.v32-reference .lede { font-size:18px; margin-top:16px; }
.v32-overview { padding:clamp(24px,4vw,48px); margin:calc(-1 * clamp(22px,3vw,40px)); }
.v32-why .gapgrid { display:block; }
.v32-why .compare { grid-template-columns:1fr 1fr; gap:48px; margin:32px 0; }
.v32-why .timeline { margin:0 auto; max-width:760px; }
.v32-question { border-top:1px solid var(--line); margin-top:40px; padding-top:30px; max-width:800px; }
.v32-question h3 { font-size:clamp(24px,2.2vw,32px); line-height:1.25; }
.v32-example { background:var(--ash); }
.v32-example-top { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.v32-stages { display:flex; gap:8px; }
.v32-stages button { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:9px; padding:14px 20px; background:#fff; color:var(--ember); font-size:14px; }
.v32-stages button span { color:var(--char); font-size:18px; }
.v32-stages button[aria-selected=true] { background:var(--char); border-color:var(--char); color:var(--amber); }
.v32-stages button[aria-selected=true] span { color:#fff; }
.v32-reset { border:0; background:none; padding:12px 0; font-size:15px; color:var(--char5); text-decoration:underline; text-underline-offset:4px; }
.v32-flow-status { font-size:16px; color:var(--char5); padding:18px 0; min-height:60px; }
.v32-stage-panel { border-radius:var(--r); overflow:hidden; border:1px solid var(--line); background:#fff; }
.v32-stage { padding:clamp(24px,4vw,48px); }
.v32-stage > .wrap { padding:0; max-width:none; }
.v32-stage .ch-head { margin-bottom:30px; }
.v32-stage .ch-head h3 { font-size:clamp(26px,2.6vw,36px); line-height:1.15; }
.v32-stage .ch-head .lede { font-size:18px; line-height:1.5; max-width:44em; }
.v32-stage .ch-head .eye { font-size:14px; margin-bottom:12px; }
.v32-stage .loopgrid { gap:24px; }
.v32-capture .panel { padding:26px; box-shadow:none; }
.v32-capture .loopfig { max-width:400px; }
.v32-confirm-actions { display:flex; flex-wrap:wrap; gap:10px; padding-top:10px; }
.v32-confirm-actions .btn, #accountEditor .btn { font-size:15px; padding:12px 16px; }
.v32-capture .panel .ctrl { background:#fff; border:1px solid var(--line); color:var(--char); font-size:15px; }
.v32-capture .panel .btn { background:var(--ember); color:#fff; }
.v32-capture-controls { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-top:26px; }
.v32-capture-controls .btn { margin-left:auto; }
.v32-capture-controls > span { font-size:14px; color:rgba(255,255,255,.7); }
.v32-account-status { margin-top:14px; color:var(--char5); font-size:16px; }
.dark .v32-account-status { color:rgba(255,255,255,.8); }
.v32-capture-controls button:disabled, .v32-stage .outcomes button:disabled { opacity:.45; cursor:not-allowed; }
#accountEditor { margin-top:14px; }
#accountEditor label { display:block; font-size:16px; margin-bottom:8px; }
#accountText { display:block; width:100%; resize:vertical; background:#fff; border:1px solid #999; border-radius:8px; font:inherit; font-size:16px; color:var(--char); padding:12px; margin-bottom:12px; }
#accountError { color:var(--no); font-size:15px; margin-top:10px; }
.v32-review .review { min-width:0; }
.v32-review .review .k { margin-bottom:16px; }
.v32-confirmed-account { font-size:16px; line-height:1.5; margin-top:24px; padding:18px; background:var(--ash); border-radius:10px; }
.v32-stage-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-top:28px; }
.v32-stage-actions .btn { font-size:16px; }
.v32-use .diff { margin-top:24px; }
.v32-case-label { font-size:17px; font-weight:600; margin:0 0 12px; }
.v32-case-help { font-size:16px; color:rgba(255,255,255,.72); margin-top:14px; max-width:48em; }
.v32-permission { font-size:16px; margin-top:24px; color:rgba(255,255,255,.8); }
.v32-code-details { margin-top:20px; border-top:1px solid var(--lineD); padding-top:16px; }
.v32-code-details summary { cursor:pointer; font-size:14px; color:rgba(255,255,255,.7); }
.v32-example #chap { margin-top:40px; padding-top:32px; }
.v32-example #chap .subhead { margin-bottom:18px; }
.v32-business { border-top:1px solid var(--line); margin-top:36px; padding-top:32px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.v32-business h3 { font-size:clamp(24px,2vw,30px); max-width:26em; }
.v32-business .eye { margin-bottom:12px; }
.v32-research .v32-fold { color:var(--char); margin-top:24px; }
.v32-research .v32-fold .lede, .v32-research .v32-fold .three p { color:var(--char7); }
.v32-research .v32-fold .eye, .v32-research .v32-fold .k { color:var(--ember); }
.v32-research .v32-fold .fine { color:var(--char5); }
.v32-research .v32-fold .taxpanel { color:var(--char); }
#build > .wrap > .v32-reference { margin-top:20px; }
#build .chaindet { margin-top:0; }
.v32-raw-record pre { margin:0; padding:24px; overflow:auto; font-size:13px; max-height:640px; background:var(--ash); }
.v32-raw-record > .fine { margin:18px 0 0; }
.v32-reference .fragcard { box-shadow:none; border:1px solid var(--line); padding:clamp(22px,3vw,36px); }
.v32-reference .subhead { margin-bottom:24px; }
.v32-fold .storyfig { overflow:auto; }
.v32-fold .storyfig svg { min-width:720px; }
@media (max-width:800px) {
  .v32-memory-strip { grid-template-columns:1fr 1fr; }
  .v32-fragment dl { grid-template-columns:1fr; gap:18px; }
  .v32-fragment dl > div { display:grid; grid-template-columns:130px 1fr; gap:16px; }
  .v32-why .compare { grid-template-columns:1fr; gap:24px; }
  .v32-business { display:block; }
  .v32-business .btn { margin-top:24px; }
  .v32-stage .loopgrid { grid-template-columns:1fr; }
  .v32-stage .loopfig { max-width:320px; }
  .v32-stage .authgrid { grid-template-columns:1fr; }
  .v32-stage .review { order:2; }
}
@media (max-width:520px) {
  .v32-stage { padding:22px 18px; }
  .v32-example-top { align-items:flex-start; }
  .v32-stages { flex:1; gap:5px; }
  .v32-stages button { flex:1; flex-direction:column; gap:4px; padding:10px 8px; }
  .v32-stages button span { font-size:16px; }
  .v32-reset { font-size:14px; }
  .v32-capture-controls .btn { width:100%; margin-left:0; justify-content:center; }
  .v32-fragment dl > div { grid-template-columns:1fr; gap:2px; }
  .v32-fold > summary { padding:20px 48px 20px 18px; font-size:17px; }
  .v32-fold > summary::after { right:18px; }
}

