@font-face {
  font-family: "Barlow Condensed";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("fonts/barlow-condensed-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Barlow Condensed";
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  src: url("fonts/barlow-condensed-latin-800-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  src: url("fonts/inter-latin-wght-normal.woff2") format("woff2");
}

@property --autoplay-progress {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}

:root,
:root[data-theme="dark"] {
  --bg: #070B14;
  --surface: #0F1726;
  --surface-2: #162236;
  --line: #24324A;
  --text: #F4F6FA;
  --text-dim: #A9B4C6;
  --seam: #FF4D5E;
  --light: #FFC23D;
  --ai: #4CD4FF;
  --on-accent: #10131A;
  color-scheme: dark;
}

:root[data-theme="light"] {
  --bg: #F4F6FA;
  --surface: #FFFFFF;
  --surface-2: #E9EEF6;
  --line: #C9D3E1;
  --text: #0B1220;
  --text-dim: #44516A;
  --seam: #C8243A;
  --light: #9A5B00;
  --ai: #0B6E8A;
  --on-accent: #FFFFFF;
  color-scheme: light;
}

:root {
  --font-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;

  --radius: 12px;
  --chrome-h: 76px;
  --fit: 1;
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-l: env(safe-area-inset-left, 0px);
  --safe-r: env(safe-area-inset-right, 0px);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { height: 100%; }

body.deck {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  min-height: 100dvh;
  position: relative;
}

h1, h2, h3, h4, p, ul, ol, dl, dd, dt, blockquote, figure, table {
  margin: 0;
}

ul, ol { padding: 0; list-style: none; }

img { max-width: 100%; display: block; }

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  left: 8px; top: -48px;
  background: var(--light);
  color: var(--on-accent);
  padding: .5rem .9rem;
  border-radius: 8px;
  font-weight: 700;
  z-index: 300;
  transition: top .15s ease;
}
.skip-link:focus { top: 8px; }

:focus-visible {
  outline: 3px solid var(--ai);
  outline-offset: 2px;
  border-radius: 4px;
}

[tabindex="-1"]:focus,
[tabindex="-1"]:focus-visible {
  outline: none;
}

button {
  font-family: inherit;
  color: inherit;
  background: none;
  border: none;
  cursor: pointer;
}

#fx-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

#stage {
  position: relative;
  margin: 0 auto;
  background: transparent;
  z-index: 1;
}

@media (min-width: 700px) {
  body.deck {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    box-sizing: border-box;
    padding-bottom: var(--chrome-h);
  }
  #stage {
    width: min(100vw, calc((100vh - var(--chrome-h)) * 16 / 9));
    height: min(calc(100vh - var(--chrome-h)), calc(100vw * 9 / 16));
    container-type: size;
    container-name: stage;
    overflow: hidden;
  }
  .slide { position: absolute; inset: 0; display: none; flex-direction: column; }
  .slide.is-active { display: flex; }
  .slide.is-measuring { display: flex; visibility: hidden; }
  .slide-inner { height: 100%; overflow: hidden; position: relative; }
  .slide-inner.has-overflow { overflow-y: auto; }
  .slide-inner.has-overflow::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 10cqh;
    min-height: 32px;
    background: linear-gradient(to bottom, transparent, var(--bg));
    pointer-events: none;
    opacity: 1;
    transition: opacity .2s ease;
  }
  .slide-inner.has-overflow.at-bottom::after { opacity: 0; }
}

@media (max-width: 699.98px) {
  body.deck { overflow-y: auto; }
  #stage { width: 100%; }
  .slide { position: relative; width: 100%; min-height: calc(100dvh - var(--chrome-h)); display: none; flex-direction: column; }
  .slide.is-active { display: flex; }
  .slide.is-measuring { display: flex; visibility: hidden; }
  .slide-inner { padding-bottom: calc(var(--chrome-h) + 1rem + var(--safe-b)); }
}

.slide[hidden] { display: none; }

.slide-inner {
  display: flex;
  flex-direction: column;
  gap: calc(var(--fit, 1) * clamp(.8rem, 2cqh, 1.5rem));
  padding: calc(var(--fit, 1) * clamp(1.1rem, 4.4cqw, 2.8rem)) calc(var(--fit, 1) * clamp(1.1rem, 5.4cqw, 3.6rem));
  width: 100%;
}

@media (max-width: 699.98px) {
  .slide-inner { padding: 1.5rem 1.25rem calc(var(--chrome-h) + 1rem + var(--safe-b)); gap: 1.1rem; }
}

.kicker {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--ai);
  font-size: calc(var(--fit,1) * clamp(.75rem, 1.4cqw, 1rem));
}

.slide-title {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .01em;
  line-height: 1.05;
  font-size: calc(var(--fit,1) * clamp(2.1rem, 5.6cqw, 4.5rem));
  color: var(--text);
}

@media (max-width: 699.98px) {
  .slide-title { font-size: calc(var(--fit,1) * clamp(1.7rem, 8vw, 2.4rem)); }
}

.tbd {
  display: inline-block;
  border: 1.5px dashed var(--light);
  border-radius: 999px;
  padding: .05em .55em;
  color: var(--light);
  background: var(--surface-2);
  font-weight: 600;
  font-size: .92em;
}

.block { font-size: calc(var(--fit,1) * clamp(.92rem, 1.75cqw, 1.5rem)); line-height: 1.5; color: var(--text-dim); }

.block--error {
  background: color-mix(in srgb, var(--seam) 20%, var(--surface));
  border: 1px solid var(--seam);
  color: var(--text);
  padding: .9rem 1.1rem;
  border-radius: var(--radius);
}

.fatal-error {
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--seam);
  margin: 2rem;
  padding: 1.5rem;
  border-radius: var(--radius);
  font-family: var(--font-body);
}

.block-heading {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text);
  font-size: calc(var(--fit,1) * clamp(1rem, 2cqw, 1.3rem));
  margin-bottom: .4rem;
}

.block--hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: calc(var(--fit,1) * clamp(.6rem, 1.8cqh, 1.2rem));
}
.hero-closing { gap: calc(var(--fit,1) * clamp(.4rem, 1.2cqh, .8rem)); align-items: flex-start; text-align: left; }

.hero-wordmark {
  text-transform: none;
  font-size: calc(var(--fit,1) * clamp(1.6rem, 3.6cqw, 2.6rem));
}

.hero-wordmark-small {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: none;
  letter-spacing: .01em;
  color: var(--text);
  font-size: calc(var(--fit,1) * clamp(1.3rem, 3cqw, 2rem));
  margin: 0;
}

.hero-title-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 3cqw, 2rem);
  flex: 1;
  min-height: 0;
}
@media (max-width: 699.98px) {
  .hero-title-grid { grid-template-columns: 1fr; }
}
.hero-title-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: calc(var(--fit,1) * clamp(.7rem, 1.8cqh, 1.3rem));
  min-width: 0;
}
.hero-title-right {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
@media (max-width: 699.98px) {
  .hero-title-right { order: -1; width: 100%; }
}

.hero-logo-panel { display: flex; align-items: center; justify-content: center; width: 100%; }
:root[data-theme="light"] .hero-logo-panel {
  background: radial-gradient(circle at 50% 42%, #111726 0%, #0a0f1a 60%, #070B14 100%);
  border-radius: 28px;
  padding: clamp(.75rem, 2.4cqw, 1.5rem);
}

.hero-logo-img {
  width: 100%;
  max-width: clamp(360px, 40cqw, 640px);
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: contain;
  display: block;
  filter: none;
}
@media (max-width: 699.98px) {
  .hero-logo-img { max-width: 420px; }
}

.hero-subtitle { color: var(--text-dim); font-size: calc(var(--fit,1) * clamp(1rem, 1.8cqw, 1.25rem)); max-width: 48ch; margin: 0; }
.hero-metarow { color: var(--text-dim); font-size: calc(var(--fit,1) * clamp(.8rem, 1.3cqw, .95rem)); margin: 0; }
.hero-metarow .dot { color: var(--seam); }

.quote--closing blockquote {
  font-size: calc(var(--fit,1) * clamp(1.4rem, 3.2cqw, 2.1rem));
}

.block--lead .lead-text,
.lead-text {
  font-size: calc(var(--fit,1) * clamp(1.3rem, 3.4cqw, 2.1rem));
  line-height: 1.35;
  color: var(--text);
  font-weight: 500;
  max-width: 34ch;
}

.block--quote {
  border-left: 4px solid var(--seam);
  padding-left: clamp(1rem, 2.5cqw, 1.75rem);
}
.block--quote blockquote {
  font-size: calc(var(--fit,1) * clamp(1.2rem, 2.8cqw, 1.8rem));
  color: var(--text);
  font-style: italic;
  line-height: 1.4;
}
.block--quote figcaption {
  margin-top: .5rem;
  color: var(--text-dim);
  font-size: .85em;
}

.bullet-list { display: flex; flex-direction: column; gap: calc(var(--fit,1) * .45rem); }
.bullet-list li {
  position: relative;
  padding-left: 1.4em;
}
.bullet-list li::before {
  content: "";
  position: absolute;
  left: 0; top: .55em;
  width: .5em; height: .5em;
  background: var(--ai);
  border-radius: 2px;
  transform: rotate(45deg);
}

.flow-chain {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem 1.5rem;
}
.flow-step {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: .75rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 8rem;
}
.flow-label { font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--text); font-size: calc(var(--fit,1) * clamp(.95rem, 1.8cqw, 1.2rem)); }
.flow-detail { color: var(--text-dim); font-size: .85em; }
.flow-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%; right: -1.15rem;
  width: 0; height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 10px solid var(--ai);
  transform: translateY(-50%);
}
@media (max-width: 699.98px) {
  .flow-chain { flex-direction: column; }
  .flow-step:not(:last-child)::after {
    top: auto; right: auto;
    bottom: -1.1rem; left: 50%;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 10px solid var(--ai);
    transform: translateX(-50%);
  }
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), 1fr);
  gap: calc(var(--fit,1) * 1rem);
}
@media (max-width: 699.98px) { .cards-grid { grid-template-columns: 1fr; } }
.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: calc(var(--fit,1) * clamp(.65rem, 1.4cqw, 1.1rem));
  display: flex;
  flex-direction: column;
  gap: calc(var(--fit,1) * .35rem);
}
.card-title { font-family: var(--font-display); font-weight: 600; color: var(--text); font-size: calc(var(--fit,1) * clamp(1rem, 1.9cqw, 1.25rem)); text-transform: uppercase; letter-spacing: .02em; }
.card-subtitle { color: var(--ai); font-size: .9em; }
.card-lines { display: flex; flex-direction: column; gap: calc(var(--fit,1) * .2rem); font-size: .92em; line-height: 1.3; }
.card-fields { display: grid; grid-template-columns: auto 1fr; gap: calc(var(--fit,1) * .15rem) .6rem; font-size: .88em; line-height: 1.2; }
.card-fields dt { color: var(--text-dim); }
.card-fields dd { color: var(--text); font-weight: 600; }

.table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  max-width: 100%;
  background: var(--surface);
}
table { border-collapse: collapse; width: 100%; min-width: 34rem; font-size: calc(var(--fit,1) * clamp(.82rem, 1.5cqw, 1rem)); }
th, td { padding: .55rem .8rem; border-bottom: 1px solid var(--line); text-align: left; white-space: normal; }
thead th { background: var(--surface-2); position: sticky; top: 0; z-index: 2; font-family: var(--font-display); text-transform: uppercase; letter-spacing: .03em; font-weight: 600; }
tbody th { font-weight: 600; color: var(--text); }
thead th:first-child, tbody th:first-child, tbody td:first-child {
  position: sticky; left: 0; z-index: 1;
  background: var(--surface);
  box-shadow: 1px 0 0 var(--line);
}
tbody tr:last-child td, tbody tr:last-child th { border-bottom: none; }
.table-row--highlight td, .table-row--highlight th {
  background: color-mix(in srgb, var(--ai) 16%, var(--surface));
}
.table-row--highlight td:first-child, .table-row--highlight th:first-child {
  background: color-mix(in srgb, var(--ai) 22%, var(--surface));
}

.swot-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--line);
}
@media (max-width: 699.98px) { .swot-grid { grid-template-columns: 1fr; } }
.swot-quad { background: var(--surface); padding: clamp(.8rem, 1.8cqw, 1.2rem); border-top: 3px solid var(--line); }
.swot-quad--strengths { border-top-color: var(--ai); }
.swot-quad--weaknesses { border-top-color: var(--seam); }
.swot-quad--opportunities { border-top-color: var(--light); }
.swot-quad--threats { border-top-color: var(--seam); }
.swot-head { display: flex; align-items: center; gap: .5rem; font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--text); margin-bottom: .5rem; font-size: calc(var(--fit,1) * clamp(.9rem, 1.6cqw, 1.1rem)); }
.swot-quad--strengths .swot-head { color: var(--ai); }
.swot-quad--weaknesses .swot-head { color: var(--seam); }
.swot-quad--opportunities .swot-head { color: var(--light); }
.swot-quad--threats .swot-head { color: var(--seam); }
.swot-quad ul { display: flex; flex-direction: column; gap: .3rem; font-size: calc(var(--fit,1) * clamp(.82rem, 1.4cqw, .95rem)); color: var(--text-dim); }

.org-chart {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
}
.org-ceo-row { display: flex; justify-content: center; }
.org-connector {
  width: 1px;
  height: calc(var(--fit,1) * 1.25rem);
  background: var(--line);
  margin: 0 auto;
}
.org-reports-row {
  display: grid;
  grid-template-columns: repeat(var(--org-cols, 3), minmax(0, 1fr));
  gap: calc(var(--fit,1) * clamp(.6rem, 1.6cqw, 1.2rem));
  position: relative;
  padding-top: calc(var(--fit,1) * .9rem);
}
.org-reports-row::before {
  content: "";
  position: absolute;
  top: 0; left: calc(50% / var(--org-cols, 3)); right: calc(50% / var(--org-cols, 3));
  height: 1px;
  background: var(--line);
}
.org-reports-row > .org-node { position: relative; }
.org-reports-row > .org-node::before {
  content: "";
  position: absolute;
  top: calc(-1 * var(--fit,1) * .9rem); left: 50%;
  width: 1px; height: calc(var(--fit,1) * .9rem);
  background: var(--line);
  transform: translateX(-50%);
}
.org-node { display: flex; flex-direction: column; align-items: stretch; min-width: 0; }
.org-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: calc(var(--fit,1) * clamp(.6rem, 1.3cqw, .95rem));
  width: 100%;
  text-align: left;
}
.org-card--ceo { max-width: 56rem; margin: 0 auto; }
.org-title { font-family: var(--font-display); font-weight: 600; text-transform: uppercase; letter-spacing: .02em; color: var(--text); font-size: calc(var(--fit,1) * clamp(.9rem, 1.7cqw, 1.15rem)); margin-bottom: .35rem; }
.org-field { font-size: calc(var(--fit,1) * clamp(.68rem, 1.1cqw, .82rem)); color: var(--text-dim); margin-top: .2rem; }
.org-field-label { color: var(--ai); font-weight: 600; }
.org-fields-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1rem;
}
.org-fields-grid .org-field { margin-top: .3rem; }

@media (max-width: 699.98px) {
  .org-reports-row { grid-template-columns: 1fr; padding-top: 0; }
  .org-reports-row::before { display: none; }
  .org-reports-row > .org-node::before { content: ""; position: static; display: block; width: 1px; height: .9rem; margin: 0 auto; background: var(--line); }
  .org-fields-grid { grid-template-columns: 1fr; }
  .org-card--ceo { max-width: none; }
}

.block--callout {
  border-left: 4px solid var(--light);
  background: var(--surface);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: clamp(.8rem, 1.8cqw, 1.2rem) clamp(1rem, 2.2cqw, 1.5rem);
}
.callout-label {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--light);
  font-size: calc(var(--fit,1) * clamp(.78rem, 1.3cqw, .9rem));
  margin-bottom: .4rem;
}
.callout-text, .block--callout ul { color: var(--text); }
.block--callout ul { display: flex; flex-direction: column; gap: .35rem; }

.block--split { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--fit,1) * clamp(.8rem, 2.6cqw, 1.8rem)); align-items: start; }
@media (max-width: 699.98px) { .block--split { grid-template-columns: 1fr; } }
.split-col { display: flex; flex-direction: column; gap: calc(var(--fit,1) * .7rem); }

.block--footnote, .footnote-text {
  color: var(--text-dim);
  font-size: calc(var(--fit,1) * clamp(.72rem, 1.2cqw, .85rem));
}

.chrome {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 100;
  padding: 0 calc(.75rem + var(--safe-r)) calc(.5rem + var(--safe-b)) calc(.75rem + var(--safe-l));
}
.progress-track {
  height: 3px;
  background: var(--surface-2);
  border-radius: 999px;
  overflow: hidden;
  margin: 0 .25rem .4rem;
}
.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--ai), var(--seam));
  width: 6.25%;
  transition: width .3s ease;
}

.chrome-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  background: color-mix(in srgb, var(--surface) 78%, transparent);
  backdrop-filter: blur(10px);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .3rem;
  max-width: fit-content;
  margin: 0 auto;
  opacity: .55;
  transition: opacity .2s ease;
}
.chrome:hover .chrome-bar,
.chrome-bar:focus-within {
  opacity: 1;
}

.chrome-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  color: var(--text-dim);
}
.chrome-btn:hover, .chrome-btn[aria-pressed="true"] { color: var(--text); background: var(--surface-2); }
.chrome-btn--wide { width: auto; padding: 0 .9rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }

.timer-pill {
  font-variant-numeric: tabular-nums;
  font-size: .78rem;
  font-weight: 600;
  padding: .15rem .5rem;
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--text-dim);
  position: absolute;
  bottom: 48px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.timer-pill--behind { color: var(--text); background: color-mix(in srgb, var(--light) 35%, var(--surface-2)); border: 1px solid var(--light); }
.timer-pill--over { color: var(--text); background: color-mix(in srgb, var(--seam) 35%, var(--surface-2)); border: 1px solid var(--seam); }

.autoplay-ring-track { stroke: var(--line); }
.autoplay-ring-fill {
  stroke: var(--light);
  stroke-dasharray: 62.83;
  stroke-dashoffset: calc(62.83 * (1 - var(--autoplay-progress, 0)));
  transform: rotate(-90deg);
  transform-origin: 12px 12px;
  transition: stroke-dashoffset .2s linear;
}

.overlay-backdrop {
  position: fixed; inset: 0;
  background: color-mix(in srgb, var(--bg) 80%, transparent);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  padding: 1.5rem;
}
.overlay-backdrop[hidden] { display: none; }

.overview-dialog, .help-dialog {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.25rem;
  max-width: min(90vw, 56rem);
  max-height: 85vh;
  overflow-y: auto;
  width: 100%;
}

.overlay-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.overlay-head h2 { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .04em; font-size: 1.2rem; }

.overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: .6rem;
}
.overview-tile {
  text-align: left;
  padding: .75rem .9rem;
  min-height: 44px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--text-dim);
  font-size: .9rem;
}
.overview-tile:hover { color: var(--text); border-color: var(--ai); }
.overview-tile.is-current {
  color: var(--text);
  border-color: var(--light);
  background: color-mix(in srgb, var(--light) 16%, var(--surface-2));
  font-weight: 600;
}

.notes-panel {
  position: fixed;
  right: calc(1rem + var(--safe-r));
  bottom: calc(var(--chrome-h) + 1rem + var(--safe-b));
  width: min(26rem, calc(100vw - 2rem));
  max-height: 50vh;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1rem;
  z-index: 150;
  box-shadow: 0 20px 50px -20px rgba(0,0,0,.6);
}
.notes-body { color: var(--text); font-size: .95rem; line-height: 1.5; }

.help-list { display: flex; flex-direction: column; gap: .6rem; }
.help-list > div { display: flex; justify-content: space-between; gap: 1rem; font-size: .9rem; }
.help-list dt { color: var(--text); font-weight: 600; }
.help-list dd { color: var(--text-dim); margin: 0; text-align: right; }

@media (min-width: 700px) {
  .slide.slide-enter {
    animation: slide-in-fwd .3s ease both;
  }
  .slide.slide-enter[data-enter-dir="-1"] {
    animation-name: slide-in-back;
  }
}
@keyframes slide-in-fwd {
  from { opacity: 0; transform: translateX(3%); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes slide-in-back {
  from { opacity: 0; transform: translateX(-3%); }
  to { opacity: 1; transform: translateX(0); }
}

:root[data-motion="reduced"] .slide.slide-enter {
  animation: none !important;
}
:root[data-motion="reduced"] * {
  transition-duration: 0s !important;
  animation-duration: 0s !important;
}

@media print {
  .chrome, .notes-panel, #fx-canvas { display: none; }
}

@media (max-width: 420px) {
  .chrome-btn--wide { padding: 0 .5rem; }
  .chrome-btn--wide svg { display: none; }
}

@media (max-width: 400px) {
  #btn-presenter { display: none; }
}

@media (max-width: 360px) {
  #btn-fullscreen { display: none; }
}

:root[data-embed="1"] #chrome,
:root[data-embed="1"] .skip-link,
:root[data-embed="1"] .notes-panel,
:root[data-embed="1"] .overlay-backdrop,
:root[data-embed="1"] .popup-toast {
  display: none !important;
}

body.kiosk-idle { cursor: none; }
body.kiosk-idle #chrome { display: none; }

.popup-toast {
  position: fixed;
  left: 50%;
  bottom: calc(var(--chrome-h) + 1.25rem + var(--safe-b));
  transform: translateX(-50%);
  z-index: 250;
  display: flex;
  align-items: center;
  gap: .75rem;
  max-width: min(90vw, 30rem);
  background: var(--surface);
  border: 1px solid var(--light);
  border-radius: var(--radius);
  padding: .75rem 1rem;
  box-shadow: 0 20px 50px -20px rgba(0,0,0,.6);
}
.popup-toast[hidden] { display: none; }
.popup-toast p { color: var(--text); font-size: .9rem; line-height: 1.4; margin: 0; }
.popup-toast .chrome-btn { width: 36px; height: 36px; flex-shrink: 0; }

@media (min-width: 700px) {
  .flow-step { flex: 1 1 0; min-width: 0; }
}
