/* Static presentation shell. All slide content is bundled locally. */
* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; }
body { overflow: hidden; color: var(--color-ink); background: radial-gradient(circle at 14% 10%, rgba(223,91,63,.16), transparent 32%), radial-gradient(circle at 88% 84%, rgba(75,111,174,.18), transparent 34%), #171a22; font-family: var(--font-body); }
button { font: inherit; cursor: pointer; }
#deck-root { display: grid; width: 100vw; height: 100vh; place-items: center; padding: 1.2rem; }
#slide-stage { position: relative; width: min(calc(100vw - 2.4rem), calc((100vh - 2.4rem) * 16 / 9)); aspect-ratio: 16 / 9; overflow: hidden; border-radius: clamp(8px, .8vw, 18px); background: var(--color-bg); box-shadow: 0 2.2rem 7rem rgba(0,0,0,.42); container-type: inline-size; }
.slide { position: absolute; inset: 0; display: flex; width: 100%; height: 100%; flex-direction: column; overflow: hidden; padding: 5.4cqw 6.2cqw; color: var(--color-ink); background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,255,255,.28)), var(--color-bg); isolation: isolate; }
.slide[hidden] { display: none; }
.slide-cover, .slide-closing { justify-content: center; }
.stack { display: flex; flex-direction: column; gap: 1.5cqw; }
.row { display: flex; align-items: stretch; gap: 1.6cqw; }
.cover-copy, .closing-copy { width: min(72cqw, 72%); }
.eyebrow { margin: 0; color: var(--color-accent); font-size: 1.1cqw; font-weight: 800; letter-spacing: .16em; }
.display { max-width: 18ch; margin: 0; font-family: var(--font-display); font-size: 4.4cqw; font-weight: 800; letter-spacing: -.045em; line-height: 1.12; }
.title { max-width: 24ch; margin: 0; font-family: var(--font-display); font-size: 2.7cqw; font-weight: 800; letter-spacing: -.035em; line-height: 1.18; }
.lead { max-width: 38ch; margin: 0; color: var(--color-muted); font-size: 1.6cqw; font-weight: 600; line-height: 1.65; }
.card { display: flex; min-width: 0; flex-direction: column; gap: 1.05cqw; padding: 2cqw; border: 1px solid rgba(23,32,51,.08); border-radius: var(--radius-card); background: var(--color-surface); box-shadow: var(--shadow-card); }
.card-kicker { align-self: flex-start; padding: .45cqw .75cqw; border-radius: 999px; color: var(--color-accent); background: var(--color-accent-soft); font-size: .92cqw; font-weight: 800; }
.card-title { margin: 0; font-size: 1.7cqw; line-height: 1.35; }
.card-body { margin: 0; color: var(--color-muted); font-size: 1.6cqw; line-height: 1.6; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
#slide-status { position: fixed; z-index: 5; right: 1rem; bottom: .8rem; color: rgba(255,255,255,.75); font-size: .78rem; font-variant-numeric: tabular-nums; }
@media (max-width: 720px) { #slide-status { right: .7rem; bottom: .4rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

:root {
  --color-bg: #fff8ef;
  --color-surface: #ffffff;
  --color-ink: #303a46;
  --color-muted: #626c7c;
  --color-accent: #ff6b57;
  --color-accent-soft: #ffe3dd;
  --font-display: "Yu Gothic", "Hiragino Sans", Meiryo, sans-serif;
  --font-body: "Yu Gothic", "Hiragino Sans", Meiryo, sans-serif;
  --radius-card: 1.8cqw;
  --shadow-card: 0 0.9cqw 2.4cqw rgba(48, 58, 70, 0.1);
}

body {
  background: #2b3440;
}

.slide {
  gap: 2.4cqw;
  background: var(--color-bg);
}

.slide::before {
  content: none;
}

.display,
.title,
.card-title {
  white-space: pre-line;
}

.display,
.title {
  letter-spacing: 0.02em;
}

/* ステッカー風チップ */
.pop-chip {
  align-self: flex-start;
  /* チップは短い札。折り返して1文字だけ次行へ落とさない */
  white-space: nowrap;
  padding: 0.6cqw 1.4cqw;
  border-radius: 0.8cqw;
  background: #ffc24b;
  color: var(--color-ink);
  letter-spacing: 0.18em;
  transform: rotate(-2.4deg);
}

/* 表紙: コピーとブロブの2列 */
.pop-cover {
  justify-content: center;
}

.pop-cover::after {
  content: none;
}

.pop-cover-grid {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 4cqw;
}

.pop-cover-grid .stack {
  gap: 1.8cqw;
}

.pop-hero {
  width: 86%;
  height: auto;
  justify-self: center;
}

/* 三つ: 上に色帯を持つ丸カード */
.pop-cards {
  display: grid;
  flex: 0 0 auto;
  align-content: start;
  align-items: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.8cqw;
}

.pop-cards .card {
  border: none;
  border-top: 0.8cqw solid var(--color-accent);
}

.pop-cards .card:nth-child(2) {
  border-top-color: #ffc24b;
}

.pop-cards .card:nth-child(2) .card-kicker {
  background: rgba(255, 194, 75, 0.28);
  color: #7a5a12;
}

.pop-cards .card:nth-child(3) {
  border-top-color: #2ec4b6;
}

.pop-cards .card:nth-child(3) .card-kicker {
  background: rgba(46, 196, 182, 0.16);
  color: #17796f;
}

.card-kicker {
  letter-spacing: 0.14em;
}

/* コツ: DOとDONTの対比 */
.pop-do-dont {
  display: grid;
  flex: 0 0 auto;
  align-content: stretch;
  align-items: stretch;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.8cqw;
}

.pop-do-dont .card:nth-child(1) {
  border: 0.25cqw solid #2ec4b6;
}

.pop-do-dont .card:nth-child(1) .card-kicker {
  background: rgba(46, 196, 182, 0.16);
  color: #17796f;
}

.pop-do-dont .card:nth-child(2) {
  border: 0.25cqw dashed var(--color-accent);
}

/* 流れ: 点線でつないだ時間割 */
.pop-timeline {
  position: relative;
  flex: 1;
  align-items: stretch;
  gap: 1.8cqw;
  padding-top: 3cqw;
}

.pop-timeline::before {
  position: absolute;
  top: 3.75cqw;
  right: 4%;
  left: 4%;
  height: 0;
  border-top: 0.35cqw dotted rgba(48, 58, 70, 0.35);
  content: '';
}

.pop-step {
  position: relative;
  flex: 1;
  gap: 1cqw;
  justify-content: flex-start;
  gap: 1.6cqw;
  padding-top: 2.6cqw;
}

.pop-step::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5cqw;
  height: 1.5cqw;
  border-radius: 50%;
  background: var(--color-accent);
  content: '';
}

.pop-step:nth-child(2)::before {
  background: #ffc24b;
}

.pop-step:nth-child(3)::before {
  background: #2ec4b6;
}

.pop-step:nth-child(4)::before {
  background: var(--color-ink);
}

.pop-step-time {
  color: var(--color-muted);
  font-size: 1.3cqw;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.1em;
}

.pop-step-label {
  margin: 0;
  font-size: 2cqw;
}

/* さいごに: 三色の紙吹雪 */
.pop-closing {
  justify-content: center;
}

.pop-closing::after {
  right: 6.2cqw;
  bottom: 5.6cqw;
  width: 10cqw;
  height: 1cqw;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--color-accent) 0 33%, #ffc24b 33% 66%, #2ec4b6 66%);
}

/* 3枚の横並びは横幅を使うぶん縦が余り、盤面の下半分が死ぬ。
   縦積みにして帯を使い切り、カードの中は横一列に組む。 */
.pop-cards {
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr);
  align-content: stretch;
  align-items: stretch;
}

.pop-cards .card {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 0.8fr) minmax(0, 1.6fr);
  gap: 2.2cqw;
}

/* 4段の時系列は横並びだと縦が余る。縦積みにして帯を使い切る */
.pop-timeline {
  flex-direction: column;
  flex: 1 1 auto;
  align-items: stretch;
}

.pop-timeline .pop-step {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  gap: 2.4cqw;
}

/* Workshop authoring layer. Page numbers deliberately have no leading zero. */
:root { --shadow-card: none; }
.ws-slide { padding: 4.3cqw 5.7cqw 4.5cqw; gap: 0; line-break: strict; }
.ws-slide::before { content: attr(data-visible-page); position:absolute; top:auto; left:auto; right:2.7cqw; bottom:1.6cqw; width:auto; height:auto; z-index:2; color:var(--color-muted); background:none; border-radius:0; opacity:1; font-size:1.35cqw; font-weight:700; }
.ws-slide--cover::before { content:none; }
.ws-slide::after { display:none; }
.ws-layout { height:100%; gap:2.6cqw; }
.ws-heading { gap:1.2cqw; flex:none; }
.ws-heading .title { max-width:none; font-size:3.25cqw; line-height:1.35; letter-spacing:0; white-space:normal; text-wrap:pretty; }
.ws-slide p { margin:0; line-height:1.65; text-wrap:pretty; }
.ws-slide .body { font-size:1.9cqw; }
.ws-slide .pop-chip { font-size:1.3cqw; letter-spacing:0.05em; padding:0.35cqw 1.05cqw; }
.ws-foot { font-size:1.7cqw; color:var(--color-muted); border-top:0.14cqw dotted #b7b7af; padding-top:1.1cqw; flex:none; }
.ws-cover-copy { justify-content:center; gap:3cqw; height:100%; padding:0 2.2cqw; position:relative; }
.ws-cover-copy::after { content:''; position:absolute; width:17cqw; height:1.1cqw; bottom:1cqw; left:2.2cqw; border-radius:1cqw; background:linear-gradient(90deg,#ff6b57 0 33%,#ffc24b 33% 66%,#2ec4b6 66%); }
.ws-slide--cover .display { max-width:100%; font-size:5.3cqw; line-height:1.32; letter-spacing:0.01em; white-space:pre-line; }
.ws-slide--cover .lead { max-width:100%; font-size:2.1cqw; }
.ws-statement-copy { justify-content:center; height:100%; gap:3.5cqw; }
.ws-statement-copy .display { max-width:100%; font-size:4.3cqw; line-height:1.4; letter-spacing:0; }
.ws-statement-copy .lead { max-width:100%; font-size:2.6cqw; color:var(--color-ink); }
.ws-statement-copy .ws-foot { border:none; padding:0; font-size:1.9cqw; }
.ws-slide--closing .display { font-size:4.8cqw; }
.ws-slide--closing .lead { font-size:2.1cqw; max-width:78cqw; }
.ws-rows { flex:1; gap:1.6cqw; }
.ws-rows .card { grid-template-columns:5cqw minmax(0,24cqw) minmax(0,1fr); gap:1.5cqw; padding:1.5cqw 1.7cqw; border-top-width:0.5cqw; }
.ws-rows .card-title { font-size:2.1cqw; white-space:normal; }
.ws-rows .card-body { font-size:1.85cqw; line-height:1.6; }
.ws-rows .card-kicker { font-size:1.35cqw; padding:0.4cqw 0.6cqw; align-self:center; letter-spacing:0; }
.ws-matrix { display:grid; grid-template-columns:1fr 1fr; flex:1; gap:2.2cqw; }
.ws-matrix-item { gap:1.2cqw; border-left:0.65cqw solid #ff6b57; padding:1.4cqw 1.8cqw; border-radius:0.7cqw; background:#fff; justify-content:center; }
.ws-matrix-item:nth-child(2) { border-left-color:#ffc24b; }
.ws-matrix-item:nth-child(3) { border-left-color:#2ec4b6; }
.ws-matrix-item:nth-child(4) { border-left-color:#626c7c; }
.ws-subtitle { font-size:2.2cqw; margin:0; line-height:1.5; }
.ws-questions { flex:1; gap:1.7cqw; justify-content:space-between; }
.ws-question-row { align-items:center; gap:2cqw; flex:1; border-bottom:0.14cqw dotted #c9c9bf; padding:0.5cqw 0; }
.ws-question-row:last-child { border-bottom:0; }
.ws-number { font-size:2.2cqw; font-weight:800; color:#b33b2c; width:4cqw; flex:none; }
.ws-question { font-size:2.5cqw; font-weight:700; }
.ws-slide--checks .ws-question { font-size:1.9cqw; font-weight:600; }
.ws-slide--checks .ws-questions { gap:0.5cqw; }
.ws-slide--checks .ws-number { font-size:1.8cqw; }
.ws-split { display:grid; grid-template-columns:1fr 1fr; flex:1; gap:3.2cqw; }
.ws-split-item { border-top:0.65cqw solid #ff6b57; border-radius:1cqw; background:#fff; padding:2.2cqw; gap:2.2cqw; justify-content:flex-start; }
.ws-split-item:nth-child(2) { border-top-color:#2ec4b6; }
.ws-split-title { font-size:2.8cqw; line-height:1.5; margin:0; }
.ws-split-body { font-size:2.15cqw; }
.ws-bridge { flex:1; gap:1.5cqw; justify-content:space-between; }
.ws-bridge-row { align-items:center; flex:1; gap:2.5cqw; border-bottom:0.16cqw dotted #b8bbb7; padding:1.0cqw 1.5cqw; }
.ws-bridge-row:last-child { border-bottom:none; }
.ws-bridge-label { width:25cqw; flex:none; margin:0; font-size:2.3cqw; line-height:1.5; }
.ws-bridge-body { font-size:2.2cqw; }
.ws-bridge-row.step-2 { background:#fff0c9; border-radius:1.2cqw; border:none; }
.ws-levels .ws-bridge-row { border:none; background:#fff; border-left:0.65cqw solid #ff6b57; border-radius:1cqw; }
.ws-levels .ws-bridge-row.step-2 { margin-left:3cqw; background:#fff0c9; border-left-color:#ffc24b; }
.ws-levels .ws-bridge-row.step-3 { margin-left:6cqw; background:#e1f5f1; border-left-color:#2ec4b6; }
.ws-levels .ws-bridge-label { width:27cqw; font-size:2.2cqw; }
.ws-levels .ws-bridge-body { font-size:1.85cqw; }
.ws-quote-wrap { flex:1; gap:2.3cqw; justify-content:center; padding:0 3.2cqw; border-left:0.7cqw solid #ffc24b; }
.ws-quote { margin:0; font-size:5.8cqw; font-weight:800; color:#b33b2c; }
.ws-quote-body { font-size:2.3cqw; }
.ws-work { flex:1; gap:1.7cqw; justify-content:space-between; }
.ws-work-row { flex:1; align-items:center; gap:2cqw; border-bottom:0.15cqw dotted #b8bbb7; padding:0.6cqw 0; }
.ws-work-row:last-child { border:none; }
.ws-work-time { width:13cqw; flex:none; font-size:2.7cqw; font-weight:800; color:#ae3428; }
.ws-work-title { font-size:2.35cqw; line-height:1.45; margin:0; }
.ws-work-copy { gap:0.6cqw; }
.ws-slide--process .ws-work-title { font-size:2.2cqw; }
.ws-slide--process .ws-work-time { font-size:2.3cqw; }
.ws-objects { display:grid; grid-template-columns:1fr 1fr; flex:1; gap:1.8cqw; padding:0; margin:0; list-style:none; }
.ws-object { display:flex; align-items:center; padding:1.8cqw 2cqw; border:0.15cqw solid #d9d7d0; border-radius:1.3cqw; background:#fff; font-size:2cqw; line-height:1.5; }
.ws-table { width:100%; flex:1; table-layout:fixed; border-collapse:collapse; font-size:1.8cqw; line-height:1.55; }
.ws-table th,.ws-table td { padding:1.35cqw 1.1cqw; text-align:left; border-bottom:0.13cqw solid #d6d8d0; vertical-align:middle; }
.ws-th { background:#e1f5f1; font-size:1.55cqw; font-weight:700; }
.ws-table tbody tr:last-child th,.ws-table tbody tr:last-child td { border-bottom:none; }
.ws-table .ws-row-label { font-weight:700; }
.ws-table:has(th:nth-child(4)) th:nth-child(1) { width:27%; }
.ws-table:has(th:nth-child(4)) th:nth-child(2) { width:14%; }
.ws-table:has(th:nth-child(4)) th:nth-child(3) { width:12%; }
.ws-table:has(th:nth-child(4)) th:nth-child(4) { width:47%; }
.ws-table:not(:has(th:nth-child(4))) th:nth-child(1) { width:16%; }
.ws-table:not(:has(th:nth-child(4))) th:nth-child(2) { width:65%; }
.ws-table:not(:has(th:nth-child(4))) th:nth-child(3) { width:19%; }
.ws-case { flex:1; align-items:center; gap:4cqw; }
.ws-metric { flex:0 0 24cqw; align-items:center; gap:0.4cqw; }
.ws-big-number { font-size:14cqw; font-weight:800; line-height:1; color:#b33b2c; font-variant-numeric:tabular-nums; }
.ws-number-unit { font-size:2.8cqw; font-weight:700; }
.ws-case-body { font-size:2.25cqw; }
.ws-slide--break .ws-case-body { font-size:2.9cqw; }
.ws-slide--exchange .ws-foot { font-size:2.2cqw; color:var(--color-ink); font-weight:700; }
.ws-slide--exchange .ws-split-title { font-size:2.4cqw; }
.ws-slide--exchange .ws-split-body { font-size:2cqw; }
@media print { .ws-slide { break-after:page; } }

.ws-slide { font-weight:500; }
.ws-split { display:flex; flex-direction:column; gap:2.5cqw; justify-content:space-between; }
.ws-split-item { display:grid; grid-template-columns:30cqw minmax(0,1fr); align-items:center; min-height:12.8cqw; padding:2.2cqw; gap:2.8cqw; flex:none; }
.ws-split-title { font-size:2.65cqw; }
.ws-split-body { font-size:2.25cqw; font-weight:500; }
.ws-matrix-item { justify-content:space-between; padding:2cqw; }
.ws-matrix-item .body { font-size:2.1cqw; }
.ws-quote-wrap { justify-content:space-between; padding-top:0.5cqw; padding-bottom:1.3cqw; }
.ws-quote { font-size:7.2cqw; }
.ws-quote-body { font-size:2.6cqw; }
.ws-process-grid { display:grid; grid-template-columns:1fr 1fr; flex:1; gap:2cqw; }
.ws-process-cell { display:flex; flex-direction:column; justify-content:space-between; padding:1.8cqw 2.2cqw; background:#fff; border-radius:1.2cqw; border-top:0.5cqw solid #ff6b57; }
.ws-process-cell:nth-child(2) { border-top-color:#ffc24b; }
.ws-process-cell:nth-child(3) { border-top-color:#2ec4b6; }
.ws-process-cell:nth-child(4) { border-top-color:#626c7c; }
.ws-slide--break .ws-case { align-items:flex-start; padding-top:2cqw; }
.ws-slide--break .ws-case-body { padding-top:4cqw; }
.ws-split { flex:0; justify-content:flex-start; gap:2.5cqw; }
.ws-split-item { min-height:10.5cqw; }
.deck-counter { display:none; }

/* Workbook topics. Keep all labels large enough to project. */
.ws-mail { flex:1; gap:1.8cqw; padding:2.4cqw 3cqw; border-radius:1.3cqw; border:0.15cqw solid #d9d7d0; background:#fff; }
.ws-mail-subject { font-size:2.4cqw; margin:0; padding-bottom:1.4cqw; border-bottom:0.15cqw dotted #b8bbb7; }
.ws-mail-body { font-size:2.05cqw; white-space:pre-line; }
.ws-requirements { flex:1; gap:0.6cqw; justify-content:space-between; }
.ws-requirement-row { flex:1; align-items:center; gap:2cqw; padding:0.4cqw 0.8cqw; border-bottom:0.15cqw dotted #c9c9bf; }
.ws-requirement-row:last-child { border-bottom:0; }
.ws-requirement { font-size:2.25cqw; font-weight:600; }
.ws-requirements-grid { display:grid; grid-template-columns:1fr 1fr; flex:1; gap:3.2cqw; align-items:stretch; }
.ws-requirements-grid .ws-requirements { padding:0 1.4cqw; border-left:0.6cqw solid #ff6b57; }
.ws-requirements-grid .ws-requirements-right { border-left-color:#2ec4b6; }
.ws-requirements-grid .ws-requirement-row { padding:0.45cqw 0; }
.ws-requirements-grid .ws-requirement { font-size:1.72cqw; line-height:1.45; }
.ws-requirements-grid .ws-number { font-size:1.82cqw; width:3.2cqw; }
.ws-thinking-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex:1; gap:1.15cqw 2.2cqw; }
.ws-thinking-item { display:grid; grid-template-columns:19cqw minmax(0,1fr); align-items:center; gap:1.5cqw; padding:0.8cqw 1.35cqw; border-left:0.55cqw solid #ff6b57; background:#fff; border-radius:0.8cqw; }
.ws-thinking-item:nth-child(3n+2) { border-left-color:#ffc24b; }
.ws-thinking-item:nth-child(3n) { border-left-color:#2ec4b6; }
.ws-thinking-item:nth-child(1), .ws-thinking-item:nth-child(5) { border-left-color:#329b73; }
.ws-thinking-item:nth-child(2), .ws-thinking-item:nth-child(3), .ws-thinking-item:nth-child(4) { border-left-color:#e05645; }
.ws-thinking-item:nth-child(6), .ws-thinking-item:nth-child(7), .ws-thinking-item:nth-child(8) { border-left-color:#3d78c7; }
.ws-thinking-title { margin:0; font-size:1.6cqw; line-height:1.35; }
.ws-thinking-body { font-size:1.65cqw; line-height:1.4; }
.ws-thinking-with-legend { flex:1; gap:1.1cqw; }
.ws-thinking-with-legend .ws-thinking-map { gap:0.85cqw 2.2cqw; }
.ws-thinking-with-legend .ws-thinking-item { padding:0.55cqw 1.25cqw; }
.ws-thinking-legend { flex:none; gap:0.45cqw; padding-top:0.9cqw; border-top:0.15cqw dotted #b8bbb7; }
.ws-legend-lead, .ws-legend-close { margin:0; font-size:1.65cqw; line-height:1.35; color:#626c7c; }
.ws-legend-row { gap:1.2cqw; }
.ws-legend-item { flex:1; margin:0; font-size:1.65cqw; line-height:1.35; font-weight:700; white-space:nowrap; }
.ws-legend-item:nth-child(1) { color:#b33b2c; }
.ws-legend-item:nth-child(2) { color:#277d5e; }
.ws-legend-item:nth-child(3) { color:#2f63aa; }
.ws-slide[data-slide-id="s58"] .ws-statement-copy { justify-content:flex-start; gap:2.1cqw; padding-top:6.4cqw; }
.ws-slide--table .ws-table:not(:has(th:nth-child(3))) th:nth-child(1) { width:36%; }
.ws-slide--table .ws-table:not(:has(th:nth-child(3))) th:nth-child(2) { width:64%; }
.ws-slide--table .ws-table:not(:has(th:nth-child(3))) td { font-size:2.15cqw; }
.ws-slide--table .ws-table:not(:has(th:nth-child(3))) .ws-row-label { font-size:2.15cqw; }
.ws-slide--objects .ws-object { font-size:4cqw; font-weight:700; justify-content:center; }
.ws-slide--rows .card-kicker { white-space:normal; line-height:1.8; overflow-wrap:normal; }
.ws-statement-copy { justify-content:space-between; padding:1.3cqw 0; }
.ws-statement-copy .display { font-size:4.7cqw; }
.ws-intro-example { flex:1; justify-content:center; gap:2.1cqw; padding:0 4cqw; border-left:0.65cqw solid #ffc24b; }
.ws-intro-lines { gap:0.25cqw; }
.ws-intro-line { margin:0; font-size:2.3cqw; line-height:1.4; font-weight:700; }
.ws-intro-metaphor { margin:0; font-size:3.35cqw; line-height:1.35; font-weight:800; color:#b33b2c; white-space:nowrap; }
.ws-intro-reason-lines { gap:0.2cqw; }
.ws-intro-reason { margin:0; font-size:2.05cqw; line-height:1.45; }
.ws-slide[data-slide-id="s09"] .ws-layout { gap:1.8cqw; }
.ws-slide[data-slide-id="s61"] .ws-statement-copy { justify-content:center; gap:1.5cqw; }
.ws-slide[data-slide-id="s02"] { padding-bottom:13cqw; }
.ws-slide[data-slide-id="s02"] .ws-journey { gap:0.7cqw; }
.ws-slide[data-slide-id="s02"] .ws-journey-card { padding-top:0.9cqw; padding-bottom:0.9cqw; }
.ws-mail-message { gap:0; }
.ws-mail-body { margin:0; }
.ws-slide[data-slide-id="s54"] .card { grid-template-columns:10cqw minmax(0,24cqw) minmax(0,1fr); }
.ws-slide[data-slide-id="s54"] .card-kicker { white-space:nowrap; font-size:1.5cqw; }

/* The four overview actions are peers, not a colour key for the four exercises. */
.ws-slide[data-slide-id="s04"] .ws-matrix-item,
.ws-slide[data-slide-id="s04"] .ws-matrix-item:nth-child(2),
.ws-slide[data-slide-id="s04"] .ws-matrix-item:nth-child(3),
.ws-slide[data-slide-id="s04"] .ws-matrix-item:nth-child(4) { border-left-color:#626c7c; }
.ws-slide[data-slide-id="s58"] .ws-bridge-row.step-2 { background:transparent; border-radius:0; border-bottom:0.16cqw dotted #b8bbb7; }
.ws-journey { flex:1; gap:1.7cqw; justify-content:space-between; }
.ws-journey-card { display:grid; grid-template-columns:27% minmax(0,1fr); align-items:center; gap:3cqw; padding:1.8cqw 2.2cqw; background:#fff; border-top:0.55cqw solid #ff6b57; border-radius:1.5cqw; }
.ws-journey-card:nth-child(2) { border-top-color:#ffc24b; }
.ws-journey-card:nth-child(3) { border-top-color:#2ec4b6; }
.ws-journey-when { gap:0.45cqw; }
.ws-journey-date, .ws-journey-time, .ws-journey-body, .ws-journey-title { margin:0; }
.ws-journey-date { font-size:1.9cqw; line-height:1.3; font-weight:800; }
.ws-journey-time { font-size:1.7cqw; line-height:1.3; color:#626c7c; }
.ws-journey-copy { gap:0.65cqw; }
.ws-journey-title { font-size:2.8cqw; line-height:1.25; }
.ws-journey-body { font-size:1.8cqw; line-height:1.4; }

@media print { #slide-status { display: none !important; } .slide { position: relative; break-after: page; } #slide-stage { width: 100vw; height: auto; } }

.missing-page { min-height: 100vh; display: grid; place-content: center; gap: 1rem; padding: 2rem; color: #fff8ef; background: #2b3440; text-align: center; }
.missing-page h1, .missing-page p { margin: 0; }
.missing-page a { color: #ffc24b; }
