/* Emergency release guard for the simulator's intentionally compact canvas. */
#panel-wrap[hidden]{display:none!important}
body.bc2 .hero .in,
body.bc2 section > .in,
body.bc2 .nx,
body.bc2 .p8slab,
body.bc2 .ssnext,
body.bc2 .uplink{max-width:1060px!important}
body.bc2 .hero h1{font-family:var(--hs-disp)!important}

/* Simulator readability release ------------------------------------------------
   This page is a working instrument, not a poster. Keep the canvas quiet and
   reserve the dark house colour for the live answer. All interactive copy is
   fully opaque and every editable field reads as an editable field. */
body.bc2.bct.house .hero{
  background:var(--paper,#F4F0E6)!important;
  background-image:none!important;
  color:var(--ink,#1B2420)!important;
  border-top:1px solid var(--line,#E2DACA);
  border-bottom:2px solid var(--ink,#1B2420);
  padding:28px 0 30px!important;
}
body.bc2.bct.house .hero .in{
  max-width:980px!important;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:32px;
  align-items:center;
}
body.bc2.bct.house .hero .bcr :is(a,span){color:inherit!important}
body.bc2.bct.house .hero h1{
  max-width:15ch;
  margin:0 0 8px!important;
  color:var(--ink,#1B2420)!important;
  font-family:var(--hs-disp,'Fraunces',Inter,sans-serif)!important;
  font-size:clamp(34px,4vw,48px)!important;
  font-weight:800!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
body.bc2.bct.house .hero h1 em{
  color:var(--pine,#2C6350)!important;
  font-style:normal!important;
}
body.bc2.bct.house .hero .tagline{
  margin:0 0 10px!important;
  color:#8A6516!important;
  font-family:var(--hs-disp,'Fraunces',Inter,sans-serif)!important;
  font-size:19px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
body.bc2.bct.house .hero .lede{
  max-width:56ch!important;
  margin:0 0 6px!important;
  color:#635D4E!important;
  font-size:16.5px!important;
  line-height:1.55!important;
  text-align:left!important;
}
body.bc2.bct.house .hero .lede b{color:var(--ink,#1B2420)!important}
body.bc2.bct.house .hero .source-note{
  margin:0 0 18px!important;
  color:#635D4E!important;
  font-family:var(--hs-mono,"IBM Plex Mono",monospace)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.45!important;
}

body.bc2.bct.house .hero .hstats{gap:9px}
body.bc2.bct.house .hero label.f{
  min-height:82px;
  padding:10px 12px 11px!important;
  background:#FFFFFF!important;
  border:1.5px solid #F6C560!important;
  border-radius:10px!important;
  box-shadow:2px 2px 0 var(--ink,#1B2420)!important;
}
body.bc2.bct.house .hero label.f:hover{
  border-color:var(--pine,#2C6350)!important;
  transform:translate(-1px,-1px);
  box-shadow:3px 3px 0 var(--ink,#1B2420)!important;
}
body.bc2.bct.house .hero label.f:focus-within{
  border-color:var(--pine,#2C6350)!important;
  outline:3px solid rgba(44,99,80,.20);
  outline-offset:2px;
}
body.bc2.bct.house .hero label.f em{
  color:#635D4E!important;
  font-family:var(--hs-mono,"IBM Plex Mono",monospace)!important;
  font-size:10px!important;
  line-height:1.35!important;
}
body.bc2.bct.house .hero label.f .fv,
body.bc2.bct.house .hero label.f input{
  color:var(--ink,#1B2420)!important;
  -webkit-text-fill-color:var(--ink,#1B2420)!important;
  caret-color:var(--pine,#2C6350)!important;
  font-family:var(--hs-figs,Fraunces,serif)!important;
  font-size:23px!important;
  line-height:1.2!important;
}
body.bc2.bct.house .hero label.f .hint{
  right:10px;
  bottom:9px;
  color:#635D4E!important;
  font-family:var(--hs-mono,"IBM Plex Mono",monospace)!important;
  font-size:10px!important;
  line-height:1.3!important;
}

body.bc2.bct.house .hero .answer{
  min-height:226px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:24px 24px 21px!important;
  background:var(--deep,#14372C)!important;
  color:#FFFFFF!important;
  border:2px solid var(--ink,#1B2420)!important;
  border-radius:10px!important;
  box-shadow:5px 5px 0 var(--gold,#F6C560)!important;
}
body.bc2.bct.house .hero .answer-title{
  margin:0 0 13px;
  color:#FFD37A;
  font-family:var(--hs-mono,"IBM Plex Mono",monospace);
  font-size:10.5px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.bc2.bct.house .hero .answer-help{
  max-width:28ch;
  margin:18px 0 0;
  color:#FFFFFF;
  font-size:15px;
  line-height:1.55;
}
body.bc2.bct.house .hero .answer:not(.is-empty) .answer-help{display:none}
body.bc2.bct.house .hero .answer.is-empty .answer-data{
  margin-top:auto;
  opacity:.72;
}
body.bc2.bct.house .hero .answer.is-empty :is(.abar,.akey){display:none}
body.bc2.bct.house .hero .answer .abill,
body.bc2.bct.house .hero .answer .asub{
  color:#C6DBD1!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.45!important;
}
body.bc2.bct.house .hero .answer .abig{
  margin:9px 0 5px!important;
  color:#FFD37A!important;
  font-family:var(--hs-figs,Fraunces,serif)!important;
  font-size:clamp(46px,5vw,62px)!important;
  font-weight:700!important;
}
body.bc2.bct.house .hero .answer .akey{
  color:#C6DBD1!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}
body.bc2.bct.house .hero .answer .abar{
  height:16px;
  border:1px solid rgba(255,255,255,.45);
  background:#FFFFFF;
}

body.bc2.bct.house .hero .herocta{gap:8px;margin-top:15px}
body.bc2.bct.house .hero .herocta button{
  min-height:44px;
  padding:10px 15px!important;
  border:2px solid var(--ink,#1B2420)!important;
  border-radius:10px!important;
  box-shadow:2px 2px 0 var(--ink,#1B2420)!important;
  background:var(--gold,#F6C560)!important;
  color:var(--ink,#1B2420)!important;
  font-size:12px!important;
  font-weight:800!important;
}
body.bc2.bct.house .hero .herocta button.ghost{
  background:#FFFFFF!important;
  color:var(--ink,#1B2420)!important;
}
body.bc2.bct.house .hero .herocta button:hover{
  filter:none!important;
  transform:translate(-1px,-1px);
  box-shadow:3px 3px 0 var(--ink,#1B2420)!important;
}
body.bc2.bct.house .hero .herocta button:focus-visible{
  outline:3px solid rgba(44,99,80,.28);
  outline-offset:3px;
}

/* The calculation chapters need the same hierarchy as the controls above. */
body.bc2.bct.house .slab{
  max-width:980px!important;
  margin-top:18px!important;
  padding:26px 28px 28px!important;
  background:#FFFFFF!important;
  color:var(--ink,#1B2420)!important;
  border-top:1px solid var(--line,#E2DACA)!important;
  border-right:1px solid var(--line,#E2DACA)!important;
  border-bottom:1px solid var(--line,#E2DACA)!important;
  border-radius:10px!important;
}
body.bc2.bct.house .slab .ch-h h2{
  color:var(--ink,#1B2420)!important;
  font-family:var(--hs-disp,'Fraunces',Inter,sans-serif)!important;
  font-size:28px!important;
  font-weight:800!important;
}
body.bc2.bct.house .slab .ch-n{
  color:#635D4E!important;
  font-family:var(--hs-mono,"IBM Plex Mono",monospace)!important;
  font-size:10px!important;
  opacity:1!important;
}
body.bc2.bct.house .nx-eg i{font-size:10px!important}
body.bc2.bct.house label.consent{min-height:44px!important;align-items:center!important}
body.bc2.bct.house .slab .dek{
  max-width:62ch!important;
  color:#635D4E!important;
  font-size:15px!important;
  line-height:1.6!important;
  opacity:1!important;
}
body.bc2.bct.house .slab .small,
body.bc2.bct.house .slab .tog span{
  color:#635D4E!important;
  font-size:13.5px!important;
  line-height:1.55!important;
  opacity:1!important;
}
body.bc2.bct.house .slab .tile{
  min-height:78px;
  background:var(--hs-sink,#F6F8F6)!important;
  color:var(--ink,#1B2420)!important;
  border:1px solid #E2DACA!important;
  border-radius:10px!important;
}
body.bc2.bct.house .slab .tile em{
  color:#635D4E!important;
  font-family:var(--hs-mono,"IBM Plex Mono",monospace)!important;
  opacity:1!important;
}
body.bc2.bct.house .slab .adj,
body.bc2.bct.house .slab .dbtn{
  min-height:44px;
}
/* A toggle needs a 44px target without turning its 24px track into an
   invisible white circle.  The button owns the hit area; ::before draws the
   high-contrast track inside it and the existing <i> remains the thumb. */
body.bc2.bct.house .slab .sw{
  width:52px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  position:relative;
}
body.bc2.bct.house .slab .sw::before{
  content:"";
  position:absolute;
  inset:7px 0;
  border:2px solid var(--ink,#1B2420);
  border-radius:999px;
  background:#FFFFFF;
  pointer-events:none;
}
body.bc2.bct.house .slab .sw i{
  top:11px!important;
  left:4px!important;
  width:22px!important;
  height:22px!important;
  background:var(--ink,#1B2420)!important;
  z-index:1;
}
body.bc2.bct.house .slab .sw[aria-pressed="true"]::before{
  background:var(--pine,#2C6350);
  border-color:var(--pine,#2C6350);
}
body.bc2.bct.house .slab .sw[aria-pressed="true"] i{
  background:#FFFFFF!important;
  transform:translateX(22px)!important;
}

@media(max-width:900px){
  body.bc2.bct.house .hero .in{grid-template-columns:1fr;gap:22px}
  body.bc2.bct.house .hero .answer{min-height:190px}
}
@media(max-width:620px){
  body.bc2.bct.house .hero{padding:22px 0 25px!important}
  body.bc2.bct.house .hero .in{padding:0 15px!important}
  body.bc2.bct.house .hero h1{font-size:34px!important}
  body.bc2.bct.house .hero .lede{font-size:15px!important}
  body.bc2.bct.house .hero .source-note{font-size:10px!important}
  body.bc2.bct.house .hero .hstats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body.bc2.bct.house .hero label.f{min-height:86px;padding:9px 8px 10px!important}
  body.bc2.bct.house .hero label.f em{font-size:10px!important}
  body.bc2.bct.house .hero label.f .fv,
  body.bc2.bct.house .hero label.f input{font-size:19px!important}
  body.bc2.bct.house .hero label.f .hint{
    position:static;
    display:block;
    margin-top:3px;
    font-size:10px!important;
  }
  body.bc2.bct.house .hero .herocta button:first-child{flex:1 1 100%}
  body.bc2.bct.house .hero .herocta button:not(:first-child){flex:1 1 auto}
  body.bc2.bct.house .hero .answer{padding:20px!important}
  body.bc2.bct.house .slab{margin:14px 12px 0!important;padding:21px 17px 23px!important}
}
@media(max-width:1112px){
  body.bc2 .hero .in,
  body.bc2 section > .in,
  body.bc2 .nx,
  body.bc2 .p8slab,
  body.bc2 .ssnext,
  body.bc2 .uplink{max-width:100%!important}
}
