/* Public Learn and Calculator Lab workspace. Article embeds keep their own styles. */
.lab-page { background: #0d283c; }
.learn-main { max-width: 1440px; padding: 2rem clamp(1rem, 6.2vw, 6rem) 4rem; }
.lab-sr-only { position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip-path: inset(50%); white-space: nowrap; border: 0 !important; }
.lab-kicker { color: var(--gold); font-size: .76rem; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase; line-height: 1.5; }
.lab-kicker-cyan { color: var(--many-light); }
.learn-index-header { padding: 0 0 1rem; }
.learn-index h1, .calculator-index h1, .calculator-detail h1 { font-size: clamp(2.1rem, 4.2vw, 3.5rem);
  line-height: 1.12; letter-spacing: -.04em; margin: .8rem 0 1rem; }
.learn-index-lede { max-width: 850px; color: var(--muted); font-size: 1.12rem; line-height: 1.5; }
.learn-lab { display: grid; grid-template-columns: minmax(0, .52fr) minmax(0, 1fr);
  align-items: center; gap: 2rem; padding: 0 0 1.5rem; }
.learn-lab-intro { align-self: start; padding: 2.8rem 0 1.2rem; }
.learn-lab-intro h2 { font-size: clamp(2.2rem, 3.8vw, 3.15rem); line-height: 1.13;
  letter-spacing: -.04em; margin: .85rem 0 1rem; }
.learn-lab-promise { font-size: 1.1rem; font-weight: 700; line-height: 1.55; margin: 0 0 1rem; }
.learn-lab-description { max-width: 35ch; font-size: 1.02rem; color: var(--muted); line-height: 1.65; }
.learn-lab-intro .btn { margin-top: 1.6rem; min-height: 46px; min-width: 250px; font-size: 1rem; }
.learn-guide-jump { display: none; }
.learn-lab-without-demo { grid-template-columns: 1fr; }
.learn-lab-without-demo .learn-lab-description { max-width: 65ch; }
.learn-guides { border-top: 1px solid var(--border); padding-top: 1.15rem; }
.learn-guides > h2 { margin: 0 0 .25rem; }
.learn-guide { position: relative; padding: .65rem 0 1rem; border-bottom: 1px solid var(--border); }
.learn-guide + .learn-guide { padding-top: 1.2rem; }
.learn-guide h3 { font-size: 1.22rem; line-height: 1.3; letter-spacing: -.02em; margin: 0 0 .25rem; }
.learn-guide h3 a { color: var(--text); }
.learn-guide h3 a:hover { color: var(--many-light); }
.learn-guide time { color: var(--muted); font-size: .86rem; }
.learn-guide p { color: var(--muted); line-height: 1.55; font-size: .97rem; margin: .5rem 11rem 0 0; }
.learn-guide-link { position: absolute; right: 0; bottom: 1.2rem; color: var(--many-light);
  font-size: .86rem; font-weight: 700; padding: .5rem 0; }
.learn-main a:focus-visible, .learn-main button:focus-visible, .learn-main summary:focus-visible {
  outline: 3px solid var(--gold); outline-offset: 4px; }
.learn-lab .evm-lab-compact { min-width: 0; margin: 0; padding: 1.35rem;
  border-radius: 8px; background: #092235; }
.learn-lab .evm-lab-header { margin: 0; }
.learn-lab .evm-lab-header h3 { font-size: 1.55rem; letter-spacing: -.025em; line-height: 1.2; margin: 0 0 .25rem; }
.learn-lab .evm-lab-intro { font-size: .9rem; line-height: 1.5; }
.learn-lab .evm-presets { gap: .55rem; margin: 1rem 0; }
.learn-lab .evm-preset { min-height: 60px; border-radius: 6px; padding: .65rem;
  background: transparent; font-size: .72rem; }
.learn-lab .evm-preset strong { color: var(--text); }
.learn-lab .evm-preset span { font-size: .64rem; line-height: 1.35; margin-top: .25rem; }
.learn-lab .evm-preset[aria-pressed="true"] { background: rgba(255,183,3,.05); }
.learn-lab .evm-workbench { grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr); gap: 1.25rem; }
.learn-lab .evm-controls, .learn-lab .evm-dashboard { padding: 0; background: transparent;
  border: 0; border-radius: 0; min-width: 0; }
.learn-lab .evm-dashboard { border-left: 1px solid var(--border); padding-left: 1.25rem; }
.learn-lab .evm-controls h4, .learn-lab .evm-dashboard h4 { font-size: .95rem; margin: 0 0 .6rem; }
.learn-lab .evm-controls-head { display: block; }
.learn-lab .evm-control { display: grid; grid-template-columns: 72px minmax(0, 1fr) 68px; column-gap: .5rem;
  min-height: 52px; padding: .25rem 0; border: 0; }
.learn-lab .evm-control-row { display: contents; }
.learn-lab .evm-control label { grid-column: 1; grid-row: 1; align-self: end; color: var(--text); font-size: .8rem; }
.learn-lab .evm-control output { grid-column: 3; grid-row: 1 / 3; align-self: center; text-align: right; color: var(--text); font-size: .85rem; }
.learn-lab .evm-control small { min-height: 0; font-size: .7rem; line-height: 1.4;
  margin: .15rem 0 0; grid-column: 1; grid-row: 2; }
.learn-lab .evm-control .evm-slider { grid-column: 2; grid-row: 1 / 3; min-width: 0; margin: 0; min-height: 44px; align-self: center; }
.learn-lab .evm-control-bac { display: block; min-height: 0; margin: 0 0 .55rem; }
.learn-lab .evm-control-bac .evm-control-row { display: flex; align-items: baseline; justify-content: space-between; }
.learn-lab .evm-control-bac output { color: var(--gold); }
.learn-lab .evm-control-bac small { grid-column: 1 / -1; }
.learn-lab .evm-statuses { display: flex; flex-wrap: wrap; gap: .3rem .75rem; margin: .25rem 0 .6rem; }
.learn-lab .evm-status { padding: 0; min-height: 0; border: 0; border-radius: 0; background: none; }
.learn-lab .evm-status span { display: none; }
.learn-lab .evm-status strong { font-size: 1.15rem; line-height: 1.3; margin: 0; }
.learn-lab .evm-status.is-watch, .learn-lab .evm-status.is-good { color: #b6dc8a; background: transparent; }
.learn-lab .evm-status.is-bad { color: #ffabab; background: transparent; }
.learn-lab .evm-bars { gap: .5rem; padding: .5rem 0 1rem; }
.learn-lab .evm-bar-row { grid-template-columns: 1.7rem 1fr 4.5rem; gap: .5rem; }
.learn-lab .evm-bar-row span, .learn-lab .evm-bar-row output { font-size: .74rem; }
.learn-lab .evm-bar-track { height: 9px; }
.learn-lab .evm-bar-pv { background: #65c5f5; }
.learn-lab .evm-bar-ac { background: var(--many-light); }
.learn-lab .evm-metrics { grid-template-columns: 1fr 1fr; gap: 1rem; border-top: 1px solid var(--border); padding-top: .65rem; }
.learn-lab .evm-metric { border: 0; border-radius: 0; padding: 0; }
.learn-lab .evm-metric + .evm-metric { border-left: 1px solid var(--border); padding-left: 1rem; }
.learn-lab .evm-metric dt { color: var(--text); font-size: .7rem; }
.learn-lab .evm-metric dd { font-size: 1.3rem; margin: .1rem 0; }
.learn-lab .evm-metric small { font-size: .68rem; }
.evm-open-tool { display: inline-block; font-size: .76rem; font-weight: 700; color: var(--many-light); margin-top: .6rem; padding: .45rem 0; }
.lab-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .65rem;
  height: auto; padding: 0; border: 0; background: none; color: var(--muted); font-size: .86rem; margin-bottom: 1.5rem; }
.lab-breadcrumb a { color: var(--many-light); padding: .25rem 0; }
.calculator-index-header { padding: 0 0 2.3rem; }
.calculator-index-lede { font-size: 1.5rem; line-height: 1.4; margin-bottom: .6rem; }
.calculator-index-description { color: var(--muted); font-size: 1rem; line-height: 1.65; }
.calculator-index-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.calculator-index-card { display: flex; flex-direction: column; padding: 1.5rem; min-width: 0;
  border: 1px solid var(--border); border-radius: 8px; background: #092235; }
.calculator-index-card-eyebrow { font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--many-light); }
.calculator-index-card h2 { font-size: 1.4rem; line-height: 1.25; margin: .75rem 0; letter-spacing: -.025em; }
.calculator-index-card h2 a { color: var(--text); }
.calculator-index-card > p { color: var(--muted); line-height: 1.6; font-size: .98rem; max-width: 52ch; }
.calculator-index-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: auto; padding-top: 1.5rem; }
.btn-lab { border: 1px solid var(--many); background: #12394e; color: var(--text); min-height: 44px; }
.btn-lab:hover { border-color: var(--many-light); background: #18475c; }
.calculator-guide-link { color: var(--many-light); font-size: .84rem; padding: .65rem 0; }
.calculator-index-footer { border-top: 1px solid var(--border); margin-top: 2rem; padding-top: 1.5rem; }
.calculator-detail-header { padding-bottom: 1.35rem; }
.calculator-detail h1 { font-size: clamp(2rem, 4vw, 3rem); margin: .65rem 0 .7rem; }
.calculator-detail-lede { color: var(--muted); line-height: 1.6; max-width: 850px; }
.calculator-detail-tool > section { margin: 0; border-radius: 8px; padding: 1.4rem; background: #092235; }
.calculator-detail-tool > section > header { margin-bottom: 1rem; }
.calculator-detail-tool > section > header h2,
.calculator-detail-tool > section > header > p:first-child,
.calculator-detail-tool > .emv-lab > h2,
.calculator-detail-tool > .emv-lab > .emv-kicker { position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.calculator-detail-tool :is(.evm-workbench, .cpm-stage, .pert-stage, .channels-stage) { gap: 1.5rem; }
.calculator-detail-tool :is(.evm-controls, .evm-dashboard, .cpm-controls, .cpm-board, .pert-controls, .pert-board, .channels-controls, .channels-board) {
  border: 0; border-radius: 0; background: transparent; padding: 0; min-width: 0; }
.calculator-detail-tool :is(.evm-dashboard, .cpm-board, .pert-board, .channels-board) { padding-left: 1.5rem; border-left: 1px solid var(--border); }
.calculator-detail-tool :is(.evm-presets, .cpm-presets, .pert-presets) { margin-top: .5rem; }
.calculator-detail-tool :is(.evm-preset, .cpm-preset, .pert-preset) { min-height: 65px; border-radius: 6px; }
.calculator-detail-tool .evm-control { padding: .5rem 0; }
.calculator-detail-tool .evm-control small { min-height: 0; margin-bottom: .15rem; }
.calculator-detail-tool .evm-status { min-height: 68px; border-radius: 6px; }
.calculator-detail-tool .evm-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.calculator-detail-tool .evm-metric { padding: .6rem; border-radius: 6px; }
.calculator-detail-tool .evm-metric dd { font-size: 1.1rem; }
.calculator-detail-source { margin-top: 1.5rem; color: var(--muted); line-height: 1.65; }
.calculator-detail-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem;
  border-top: 1px solid var(--border); padding-top: 1.5rem; margin-top: 1.5rem; }
.calculator-detail-guide h2 { font-size: 1rem; color: var(--many-light); margin-bottom: .65rem; }
.calculator-detail-guide p { color: var(--muted); font-size: .92rem; line-height: 1.65; }
.calculator-detail-practice { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem;
  margin-top: 2rem; padding: 1.25rem 0; border-top: 1px solid var(--border); }
.calculator-detail-practice p { color: var(--muted); line-height: 1.6; }
.calculator-detail-footer { display: flex; flex-wrap: wrap; justify-content: flex-start; height: auto; background: none;
  gap: 1rem 1.5rem; border: 0; border-top: 1px solid var(--border); padding: 1rem 0 0; }
.calculator-detail-footer a { padding: .5rem 0; }
@media (max-width: 1100px) {
  .learn-lab { grid-template-columns: 1fr; gap: 1.5rem; }
  .learn-lab-intro { padding: 0; }
  .learn-lab-description { max-width: 65ch; }
  .learn-lab-intro .btn { margin-top: 1rem; min-width: 0; }
  .learn-guide-jump { display: inline-flex; align-items: center; min-height: 44px;
    padding: .5rem 0; margin-left: 1rem; color: var(--many-light); font-size: .86rem; }
  .learn-lab .evm-preset { font-size: .83rem; }
  .learn-lab .evm-preset span { font-size: .75rem; }
}
@media (max-width: 820px) {
  .calculator-detail-tool :is(.evm-workbench, .cpm-stage, .pert-stage, .channels-stage) { grid-template-columns: 1fr; }
  .calculator-detail-tool :is(.evm-dashboard, .cpm-board, .pert-board, .channels-board) { border-left: 0; padding-left: 0; border-top: 1px solid var(--border); padding-top: 1rem; }
  .calculator-detail-guide { grid-template-columns: 1fr; }
  .calculator-index-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .learn-main { padding-top: 1.5rem; }
  .learn-index-header { padding-bottom: 1.5rem; }
  .learn-index-lede { font-size: 1rem; }
  .learn-lab-intro h2 { font-size: 2.1rem; }
  .learn-lab .evm-lab-compact { padding: 1rem; }
  .learn-lab .evm-presets { grid-template-columns: 1fr; gap: .5rem; }
  .learn-lab .evm-preset { min-height: 48px; }
  .learn-lab .evm-preset span { display: none; }
  .learn-lab .evm-workbench { grid-template-columns: 1fr; }
  .learn-lab .evm-dashboard { border-left: 0; border-top: 1px solid var(--border); padding: 1rem 0 0; }
  .learn-lab .evm-control { padding: .5rem 0; }
  .learn-lab .evm-control .evm-slider { min-height: 44px; }
  .learn-lab .evm-control label, .learn-lab .evm-control output { font-size: .95rem; }
  .learn-lab .evm-control small { font-size: .8rem; }
  .learn-lab .evm-status strong { font-size: 1.3rem; }
  .learn-guide h3 { font-size: 1.18rem; }
  .learn-guide p { margin-right: 0; }
  .learn-guide-link { position: static; display: inline-flex; align-items: center; min-height: 44px; margin-top: .5rem; }
  .calculator-detail-tool > section { padding: 1rem; }
  .calculator-detail-tool :is(.evm-presets, .cpm-presets, .pert-presets) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator-detail-tool :is(.evm-preset, .cpm-preset, .pert-preset) { min-height: 56px; padding: .65rem; font-size: .85rem; }
  .calculator-detail-tool :is(.evm-preset, .cpm-preset, .pert-preset) span { display: none; }
  .calculator-detail-tool .evm-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator-index-card { padding: 1.2rem; }
}
