/* Topic-owned alpha blockers lesson styles. */
:root {
  --alpha-ink: #f7f3ea;
  --alpha-muted: #bcc8d5;
  --alpha-panel: #101d2b;
  --alpha-panel-2: #152638;
  --alpha-line: #365069;
  --alpha-teal: #72d4c4;
  --alpha-gold: #f2bc61;
  --alpha-rose: #ef8996;
  --alpha-lilac: #c2a6ef;
}
html { scroll-padding-top: 9rem; }
body { background: #08111b; color: var(--alpha-ink); }
.alpha-lesson {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.125rem;
  line-height: 1.68;
  color: var(--alpha-ink);
  hyphens: none;
  word-break: normal;
  overflow-wrap: break-word;
}
.alpha-lesson h1,
.alpha-lesson h2,
.alpha-lesson h3,
.alpha-lesson h4,
.alpha-lesson button,
.alpha-lesson select,
.alpha-lesson summary,
.alpha-lesson label,
.alpha-lesson input { font-family: inherit; text-transform: none; }
.alpha-lesson *,
.alpha-lesson *::before,
.alpha-lesson *::after { box-sizing: border-box; hyphens: none; word-break: normal; }
.alpha-shell { width: min(100% - 2rem, 72rem); margin-inline: auto; }
.alpha-hero { padding: 2rem 0 1rem; }
.alpha-hero h1 {
  max-width: 24ch;
  margin: 0 0 .65rem;
  font-size: 2.45rem;
  font-weight: 750;
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.alpha-hero .alpha-lead { max-width: 64ch; margin: 0; color: var(--alpha-muted); font-size: 1.125rem; text-wrap: pretty; }
.alpha-opening-question {
  max-width: 64ch;
  margin-top: 1rem;
  padding: .85rem 1rem;
  border: 1px solid var(--alpha-line);
  border-radius: .8rem;
  background: #102022;
}
.alpha-opening-question p { margin: 0; }
.alpha-opening-question strong { color: var(--alpha-gold); }
.alpha-section { padding: 3.25rem 0; border-bottom: 1px solid #22384b; }
.alpha-section h2 { max-width: 28ch; margin: 0 0 1rem; font-size: 2.25rem; font-weight: 750; line-height: 1.12; text-wrap: balance; }
.alpha-section h3 { margin: .15rem 0 .55rem; font-size: 1.2rem; line-height: 1.25; }
.alpha-section > p { max-width: 72ch; color: #e1e8ee; }
.alpha-section > p + p { margin-top: 1rem; }
.alpha-key, .alpha-caution, .alpha-review-note {
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--alpha-teal);
  border-radius: .8rem;
  background: #102b2c;
}
.alpha-caution { border-color: var(--alpha-gold); background: #302715; }
.alpha-relay-reference { max-width: 72ch; margin-top: 1.25rem; padding: 1rem 1.1rem; border: 1px solid var(--alpha-line); border-radius: .8rem; background: #0e1b27; }
.alpha-relay-reference li + li { margin-top: .65rem; }
.alpha-source-markers { font-size: 1rem; color: var(--alpha-muted); }
.alpha-source-markers a { color: #a9e8dc; }
.alpha-compare, .alpha-drug-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}
.alpha-drug-grid article, .alpha-compare > div {
  min-width: 0;
  padding: 1.1rem;
  border: 1px solid var(--alpha-line);
  border-radius: 1rem;
  background: var(--alpha-panel);
}
.alpha-activity {
  margin: 1.5rem 0;
  padding: 1.15rem;
  border: 1px solid #466580;
  border-radius: 1.2rem;
  background: var(--alpha-panel-2);
}
.alpha-activity h3 { margin-bottom: .25rem; }
.alpha-controls { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: .9rem; }
.alpha-lesson button,
.alpha-control {
  min-height: 44px;
  min-width: 44px;
  padding: .65rem .9rem;
  border: 1px solid #66819b;
  border-radius: .75rem;
  color: var(--alpha-ink);
  background: #172b3e;
  font: 700 1.125rem/1.25 system-ui, sans-serif;
  cursor: pointer;
  touch-action: manipulation;
}
.alpha-lesson button:hover { border-color: var(--alpha-teal); }
.alpha-lesson button:focus-visible,
.alpha-lesson a:focus-visible,
.alpha-lesson summary:focus-visible,
.alpha-lesson select:focus-visible,
.alpha-option:has(input:focus-visible) {
  outline: .2rem solid var(--alpha-gold);
  outline-offset: .18rem;
}
.alpha-lesson button[aria-pressed="true"] { color: #071512; background: var(--alpha-teal); border-color: var(--alpha-teal); }
.alpha-output {
  min-height: 4rem;
  margin-top: .9rem;
  padding: .85rem 1rem;
  border-radius: .8rem;
  color: #e9f6f3;
  background: #0d2928;
}
.alpha-topic-stage {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #496b85;
  border-radius: .8rem;
  background: #091722;
}
.alpha-stage-state[hidden] { display: none; }
.alpha-stage-label { margin: 0 0 .75rem; font-size: 1.125rem; }
.alpha-flow,
.alpha-stage-legend,
.alpha-property-map,
.alpha-sequence-map,
.alpha-history-map,
.alpha-target-map {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: center;
  font-size: 1.125rem;
}
.alpha-flow span,
.alpha-stage-legend span,
.alpha-property-map span,
.alpha-sequence-map span,
.alpha-history-map span,
.alpha-target-map span {
  min-width: 0;
  padding: .65rem .75rem;
  border: 1px solid #496b85;
  border-radius: .6rem;
  background: #122638;
}
.alpha-property-map .is-covered,
.alpha-history-map .is-action,
.alpha-target-map .is-target { border-color: var(--alpha-teal); background: #11312f; }
.alpha-sequence-map.is-danger span,
.alpha-target-map .is-not-target { border-color: var(--alpha-rose); background: #351b25; }
.alpha-inline-geometry { display: block; width: min(100%, 28rem); height: auto; margin: .85rem auto 0; }
.alpha-small-vessel { width: min(100%, 20rem); }
.alpha-release-meter { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; font-size: 1.125rem; }
.alpha-release-dots { color: var(--alpha-teal); letter-spacing: .12em; }
.alpha-static-fallback { font-size: 1.125rem; }
.alpha-static-fallback > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; font-weight: 700; }
.alpha-static-fallback { margin-top: .8rem; color: var(--alpha-muted); }
.js .alpha-static-fallback[data-enhanced-only-fallback] { display: none; }
.alpha-figure {
  width: min(100%, 28rem);
  margin: 1.5rem 0;
  padding: .75rem;
  border: 1px solid var(--alpha-line);
  border-radius: 1.1rem;
  background: #0d1925;
}
.alpha-figure img { display: block; width: 100%; max-width: 28rem; height: auto; margin-inline: auto; border-radius: .7rem; }
.alpha-figure figcaption { display: grid; gap: .7rem; margin-top: .75rem; color: var(--alpha-muted); }
.alpha-figure-open { justify-self: start; }
.alpha-figure-dialog {
  width: min(94vw, 72rem);
  max-height: 92vh;
  padding: 1rem;
  border: 1px solid #66819b;
  border-radius: 1rem;
  color: var(--alpha-ink);
  background: #07111c;
}
.alpha-figure-dialog::backdrop { background: rgba(0,0,0,.8); }
.alpha-dialog-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.alpha-figure-dialog img { display: block; width: 100%; max-height: 76vh; object-fit: contain; }
.alpha-model {
  margin: 1.5rem 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid #52718c;
  border-radius: 1.25rem;
  background: #0d1b28;
}
.alpha-model-definition { max-width: 68ch; }
.alpha-model-workbench {
  display: grid;
  grid-template-columns: minmax(14rem, .85fr) minmax(15rem, 1.15fr);
  gap: 1rem;
  align-items: start;
}
.alpha-model-controls { display: grid; gap: .8rem; }
.alpha-model-controls label { display: grid; gap: .35rem; font-size: 1.125rem; font-weight: 700; }
.alpha-model select {
  width: 100%;
  min-height: 44px;
  /* Native macOS selects ignore min-height without an explicit height. */
  height: max(44px, 2.5em);
  padding: .6rem 2.4rem .6rem .7rem;
  border: 1px solid #66819b;
  border-radius: .65rem;
  color: var(--alpha-ink);
  background: #14283a;
  font-size: 1.125rem;
  line-height: 1.25;
}
.alpha-model-controls button { justify-self: start; }
.alpha-vessel-panel {
  min-width: 0;
  padding: .8rem;
  border: 1px solid #38536d;
  border-radius: .8rem;
  background: #09131e;
}
.alpha-vessel-label { margin: 0; font-size: 1.125rem; }
.alpha-vessel-panel svg { display: block; width: min(100%, 15rem); height: auto; margin: .25rem auto; }
.alpha-vessel-wall { fill: #a94f5d; }
.alpha-vessel-lumen { fill: #07111c; }
.alpha-vessel-consequence { min-height: 3rem; margin: .35rem 0 0; color: #e9f6f3; font-size: 1.125rem; font-weight: 700; }
.alpha-pathways {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin-top: 1rem;
}
.alpha-path {
  min-width: 0;
  padding: .8rem;
  border: 1px solid #38536d;
  border-radius: .8rem;
  background: #111f2d;
}
.alpha-path[data-state="active"] { border-color: var(--alpha-teal); background: #11312f; }
.alpha-path[data-state="blocked"] { border-color: var(--alpha-rose); background: #351b25; }
.alpha-path[data-state="limited"] { border-color: var(--alpha-gold); background: #302715; }
.alpha-path[data-state="quiet"] { border-color: #66819b; background: #152638; }
.alpha-path strong, .alpha-path span { display: block; }
.alpha-path span { margin-top: .25rem; color: var(--alpha-ink); font-size: 1.125rem; }
.alpha-model-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: .75rem; }
.alpha-result { padding: .8rem; border-radius: .75rem; background: #142638; }
.alpha-result dt { color: var(--alpha-muted); font: 700 1.125rem/1.25 system-ui, sans-serif; }
.alpha-result dd { margin: .25rem 0 0; font-size: 1.125rem; }
.alpha-model .alpha-output { min-height: 0; font-size: 1.125rem; }
.alpha-model-note { margin-top: .9rem; padding: .9rem; border: 1px solid #765e38; border-radius: .8rem; color: #f5deb0; background: #292315; }
.alpha-case-list { display: grid; gap: 1rem; margin-top: 1rem; }
.alpha-case {
  padding: 1.1rem;
  border: 1px solid var(--alpha-line);
  border-radius: 1rem;
  background: var(--alpha-panel);
}
.alpha-case fieldset { min-width: 0; border: 0; }
.alpha-case legend { font-weight: 700; }
.alpha-options { display: grid; gap: .55rem; margin-top: .85rem; }
.alpha-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .7rem;
  align-items: start;
  min-height: 44px;
  padding: .75rem;
  border: 1px solid #425e77;
  border-radius: .75rem;
  cursor: pointer;
}
.alpha-option input { width: 1.3rem; height: 1.3rem; margin-top: .2rem; accent-color: var(--alpha-teal); }
.alpha-case-actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: .9rem; }
.alpha-case-status { min-height: 1.5rem; color: var(--alpha-gold); font-weight: 700; }
.alpha-option-reasoning { margin-top: .7rem; border: 1px solid #354e64; border-radius: .75rem; background: #0b1824; }
.alpha-option-reasoning > summary,
.alpha-reasoning-step > summary,
.alpha-worked-explanation > summary,
.alpha-correct-compare > summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: .7rem .8rem;
  cursor: pointer;
  font-size: 1.125rem;
  font-weight: 700;
}
.alpha-reasoning-body { padding: 0 .85rem .85rem; }
.alpha-reasoning-instruction { margin: .35rem 0 .8rem; color: var(--alpha-muted); }
.alpha-reasoning-steps { display: grid; gap: .6rem; }
.alpha-reasoning-step { border: 1px solid #35556d; border-radius: .65rem; background: #102131; }
.alpha-reasoning-step > summary { gap: .65rem; color: var(--alpha-ink); }
.alpha-step-number { display: grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; color: #071512; background: var(--alpha-teal); }
.alpha-step-answer { padding: .8rem; border-top: 1px solid #35556d; color: #e9f6f3; font-size: 1.125rem; }
.alpha-worked-explanation { margin-top: .8rem; border: 1px solid #765e38; border-radius: .65rem; background: #231f17; }
.alpha-worked-body { padding: 0 .85rem .85rem; }
.alpha-correct-compare { margin-top: .8rem; border: 1px solid #39766e; border-radius: .75rem; background: #0f2928; }
.alpha-correct-compare p { padding: 0 .85rem .85rem; }
.alpha-takeaway { margin-top: .8rem; color: #f4dda8; }
.alpha-free-preview { margin-top: 1rem; padding: 1rem; border: 1px solid #39766e; border-radius: 1rem; background: #0f2928; }
.alpha-reference-list { display: grid; gap: .9rem; max-width: 72ch; padding-left: 1.5rem; }
.alpha-reference-list li { padding-left: .25rem; }
.alpha-reference-list a { display: block; color: #a9e8dc; font-weight: 700; }
.alpha-reference-list span { display: block; color: var(--alpha-muted); font-size: 1rem; }
.alpha-lesson .paid-content { display: none; }
html.bw-freemium-page.bw-freemium-open .alpha-lesson .paid-content,
html.bw-full-free-page .alpha-lesson .paid-content { display: block; }
.alpha-noscript {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--alpha-gold);
  border-radius: .8rem;
  color: #f9e5bd;
  background: #2d2618;
}
.alpha-footer { padding: 2rem 0 4rem; color: var(--alpha-muted); font-size: 1rem; }
@media (max-width: 760px) {
  .alpha-model-workbench, .alpha-compare, .alpha-drug-grid { grid-template-columns: 1fr; }
  .alpha-model-results { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .alpha-shell { width: min(100% - 1rem, 72rem); }
  .alpha-hero { padding-top: 1.25rem; }
  .alpha-hero h1 { font-size: 2rem; }
  .alpha-section { padding: 2.5rem 0; }
  .alpha-section h2 { font-size: 1.8rem; }
  .alpha-activity, .alpha-model, .alpha-case { padding: .85rem; }
  .alpha-model select { padding-right: 1.8rem; }
  .alpha-flow span { flex: 1 1 8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .alpha-lesson *, .alpha-lesson *::before, .alpha-lesson *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Whole-image access remains useful with and without enhancement. */
.alpha-figure-open { display: inline-flex; align-items: center; min-height:44px; padding:.6rem .85rem; border:1px solid #72d4c4; border-radius:.5rem; color:#e9f6f3; font:700 1.125rem/1.4 system-ui,sans-serif; }
.alpha-figure-credit, .alpha-case-sources { display:block; font-size:1.125rem; line-height:1.7; }
.alpha-figure-dialog { color:#f7f3ea; background:#101d2b; font:1.125rem/1.7 system-ui,sans-serif; padding:1rem; }
.alpha-figure-dialog button { min-height:44px; font:700 1.125rem/1.4 system-ui,sans-serif; white-space:normal; color:#f7f3ea; background:#14283a; border:1px solid #72d4c4; border-radius:.5rem; padding:.55rem .8rem; }
.alpha-figure-dialog :focus-visible, .alpha-figure-open:focus-visible { outline:3px solid #f2bc61; outline-offset:3px; }
.alpha-dialog-bar { flex-wrap:wrap; }
.alpha-dialog-bar h2 { font-size:1.35rem; max-width:100%; overflow-wrap:break-word; }
.alpha-image-viewport { max-height:65vh; max-height:65dvh; overflow:auto; margin-top:.8rem; }
.alpha-image-viewport img { width:100%; max-height:none; object-fit:contain; }
.alpha-figure-dialog.is-zoomed .alpha-image-viewport img { width:200%; max-width:none; }
html:not(.js) .alpha-model-controls, html:not(.js) .alpha-controls, html:not(.js) .alpha-case-actions { display:none; }
.alpha-lesson [hidden] { display:none !important; }

/* WebKit can retain a light native select surface with inherited light ink. */
.alpha-lesson .alpha-model select {
  background-color:#14283a !important;
  color:#f7f3ea !important;
  -webkit-text-fill-color:#f7f3ea !important;
  color-scheme:dark;
}

/* Long reference titles must reflow when text is enlarged. */
.alpha-lesson .alpha-reference-list { grid-template-columns:minmax(0,1fr); }
.alpha-lesson .alpha-reference-list li { min-width:0; }
.alpha-lesson .alpha-reference-list a,
.alpha-lesson .alpha-reference-list span { overflow-wrap:anywhere; }

/* Preserve reading width instead of multiplying nested padding at 200% text. */
.alpha-lesson .alpha-reasoning-steps,
.alpha-lesson .alpha-options { grid-template-columns:minmax(0,1fr); }
.alpha-lesson .alpha-option { grid-template-columns:auto minmax(0,1fr); }
.alpha-lesson .alpha-option span,
.alpha-lesson .alpha-reasoning-step,
.alpha-lesson .alpha-option-reasoning { min-width:0; overflow-wrap:anywhere; }
@media(max-width:420px) {
 .alpha-lesson .alpha-free-preview,
 .alpha-lesson .alpha-activity,
 .alpha-lesson .alpha-model,
 .alpha-lesson .alpha-case { padding:8px; }
 .alpha-lesson .alpha-reasoning-body,
 .alpha-lesson .alpha-worked-body { padding:0 8px 8px; }
 .alpha-lesson .alpha-option-reasoning > summary,
 .alpha-lesson .alpha-reasoning-step > summary,
 .alpha-lesson .alpha-worked-explanation > summary,
 .alpha-lesson .alpha-correct-compare > summary { padding:8px; gap:8px; overflow-wrap:anywhere; }
 .alpha-lesson .alpha-step-number { flex:0 0 auto; width:auto; height:auto; background:transparent; color:var(--alpha-muted); border-radius:0; }
}

.alpha-lesson .alpha-result { min-width:0; overflow-wrap:anywhere; }
@media(max-width:760px) {
 .alpha-lesson .alpha-model-results,
 .alpha-lesson .alpha-model-workbench,
 .alpha-lesson .alpha-compare,
 .alpha-lesson .alpha-drug-grid { grid-template-columns:minmax(0,1fr); }
}

/* Explicit shrinkable question text avoids anonymous flex-item overflow. */
.alpha-lesson .alpha-step-question { min-width:0; flex:1 1 0%; overflow-wrap:break-word; }

/* Preserve the full native selection at 200% text instead of shrinking type. */
.alpha-blockade-key { margin:0; font-size:1.125rem; line-height:1.4; }
@media(max-width:420px) { .alpha-lesson .alpha-model select { padding:8px 12px 8px 4px; } }
