:root {
  --ink: #18352f;
  --muted: #5f706c;
  --paper: #fbf8ef;
  --paper-2: #f3ede0;
  --white: #fffdf8;
  --teal: #0b8976;
  --teal-dark: #075c50;
  --teal-soft: #dcefe9;
  --blue: #2f7493;
  --blue-soft: #e5f2f7;
  --amber: #e1a541;
  --amber-dark: #86570d;
  --amber-soft: #f8e9c6;
  --red: #cd5844;
  --red-dark: #873326;
  --red-soft: #f9ded7;
  --shadow: 0 1.4rem 4.5rem rgba(8, 25, 22, .22);
}

* { box-sizing: border-box; }

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: #12231f;
}

body {
  display: grid;
  place-items: center;
  font-family: "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  color: var(--ink);
}

button { font: inherit; }
.speaker-notes { display: none; }

.deck {
  position: relative;
  width: min(100vw, 177.7778vh);
  aspect-ratio: 16 / 9;
  overflow: hidden;
  container-type: inline-size;
  background: var(--paper);
  box-shadow: var(--shadow);
}

.slide {
  position: absolute;
  inset: 0;
  padding: 2.1cqw 4.5cqw 3.2cqw;
  overflow: hidden;
  background: var(--paper);
  opacity: 0;
  transform: translateX(2.5%);
  pointer-events: none;
  transition: opacity 200ms ease, transform 240ms ease;
}

.slide::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 89% 13%, rgba(11, 137, 118, .07), transparent 25%),
    linear-gradient(117deg, transparent 0 73%, rgba(225, 165, 65, .04));
}

.slide.is-active {
  z-index: 2;
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.slide.is-before { transform: translateX(-2.5%); }

.stage-label,
.time-label {
  position: absolute;
  z-index: 6;
  top: 1.35cqw;
  margin: 0;
  font-size: clamp(12px, .98cqw, 16px);
  line-height: 1;
  font-weight: 950;
  letter-spacing: .06em;
}

.stage-label { left: 4.5cqw; color: var(--teal-dark); }
.time-label { right: 4.5cqw; color: var(--muted); letter-spacing: .01em; }
.problem-label { color: var(--red-dark); }

.story-header {
  position: relative;
  z-index: 5;
  margin-top: 1.8cqw;
}

.story-header h2 {
  margin: 0;
  max-width: 98%;
  font-size: clamp(32px, 3.25cqw, 53px);
  line-height: 1.12;
  letter-spacing: -.045em;
}

.story-header h2 span { color: var(--teal); }
.story-header h2 .red { color: var(--red); }

.story-header > p {
  margin: .55cqw 0 0;
  color: var(--muted);
  font-size: clamp(15px, 1.28cqw, 21px);
  line-height: 1.45;
  font-weight: 800;
}

.team-header h2 { font-size: clamp(30px, 3.02cqw, 49px); }
.team-header > p { font-size: clamp(14px, 1.2cqw, 19px); }

.problem-slide {
  background:
    linear-gradient(90deg, var(--red) 0 .8cqw, transparent .8cqw),
    linear-gradient(135deg, #fffaf6 0%, #f9e9e2 100%);
}

.problem-slide::before { background: radial-gradient(circle at 87% 14%, rgba(205, 88, 68, .09), transparent 28%); }

/* Cover */
.slide-cover {
  padding: 4.6cqw 5.8cqw;
  color: #fff;
  background:
    radial-gradient(circle at 82% 24%, rgba(56, 196, 170, .2), transparent 25%),
    linear-gradient(130deg, #102b25 0%, #164a3f 64%, #0b7767 100%);
}

.slide-cover::before {
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 3.8cqw 3.8cqw;
  mask-image: linear-gradient(to right, #000, transparent 86%);
}

.cover-copy { position: relative; z-index: 3; width: 55%; }

.cover-copy h1 {
  margin: 0;
  font-size: clamp(58px, 6.15cqw, 100px);
  line-height: 1.03;
  letter-spacing: -.065em;
}

.cover-copy h1 span { color: #ffd889; }

.cover-subtitle {
  margin: 1.9cqw 0 0;
  color: #d9ebe6;
  font-size: clamp(21px, 1.82cqw, 30px);
  line-height: 1.5;
  font-weight: 750;
}

.cover-period {
  margin: 1.4cqw 0 0;
  color: #a8cec5;
  font-size: clamp(14px, 1.05cqw, 18px);
  font-weight: 850;
}

.cover-human {
  position: absolute;
  z-index: 3;
  right: 4.6cqw;
  bottom: 1.4cqw;
  width: 36cqw;
  height: 48cqw;
}

.cover-human img {
  position: absolute;
  right: 1cqw;
  bottom: 0;
  width: 29cqw;
  height: 33cqw;
  object-fit: contain;
}

.cover-chat {
  position: absolute;
  z-index: 4;
  top: 5.7cqw;
  left: 0;
  min-width: 19cqw;
  padding: 1.05cqw 1.3cqw;
  border-radius: 1.2cqw;
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 .9rem 2.8rem rgba(0,0,0,.2);
  font-size: clamp(19px, 1.65cqw, 27px);
  line-height: 1.35;
  font-weight: 850;
}

.cover-chat::after {
  content: "";
  position: absolute;
  right: 2.1cqw;
  bottom: -1.15cqw;
  border: .72cqw solid transparent;
  border-top-color: var(--white);
}

.cover-chat strong { color: var(--teal); font-size: 1.18em; }

/* Context */
.slide-context { padding: 2.1cqw 7.2cqw; }

.context-layout {
  position: relative;
  z-index: 3;
  display: grid;
  align-content: center;
  height: 100%;
  padding-left: 2.3cqw;
  border-left: .65cqw solid var(--teal);
}

.context-eyebrow {
  margin: 0 0 1.1cqw;
  color: var(--teal-dark);
  font-size: clamp(17px, 1.45cqw, 24px);
  font-weight: 950;
  letter-spacing: .07em;
}

.context-layout h2 {
  margin: 0;
  font-size: clamp(48px, 5.05cqw, 82px);
  line-height: 1.15;
  letter-spacing: -.055em;
}

.context-layout h2 span { color: var(--teal); }

.context-body {
  margin: 2cqw 0 0;
  color: var(--muted);
  font-size: clamp(21px, 1.9cqw, 31px);
  line-height: 1.6;
  font-weight: 780;
}

/* Shared cumulative system map */
.system-map {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 9.5cqw 14.5cqw minmax(0, 1fr);
  align-items: center;
  gap: 1cqw;
  min-height: 26.2cqw;
  margin-top: .65cqw;
}

.map-human {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 17cqw;
  text-align: center;
}

.map-human img { width: 9.2cqw; height: 10.6cqw; object-fit: contain; }
.map-human strong { margin-top: -.2cqw; color: var(--amber-dark); font-size: clamp(15px, 1.18cqw, 19px); }
.map-human small { margin-top: .25cqw; color: var(--muted); font-size: clamp(9px, .72cqw, 12px); line-height: 1.35; font-weight: 800; }

.chat-stack {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .7cqw;
  min-height: 18cqw;
}

.compact-chat { gap: .48cqw; }

.chat {
  position: relative;
  width: fit-content;
  max-width: 13.4cqw;
  margin: 0;
  padding: .72cqw .82cqw;
  border-radius: .9cqw;
  box-shadow: 0 .35rem 1.1rem rgba(18, 53, 47, .08);
  font-size: clamp(13px, 1.05cqw, 17px);
  line-height: 1.32;
  font-weight: 850;
}

.chat::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: .52cqw solid transparent;
}

.chat.human {
  align-self: flex-start;
  background: var(--amber-soft);
  color: #5e400e;
}

.chat.human::after { left: -.92cqw; border-right-color: var(--amber-soft); }

.chat.ai {
  align-self: flex-end;
  background: var(--teal-soft);
  color: var(--teal-dark);
}

.chat.ai::after { right: -.92cqw; border-left-color: var(--teal-soft); }

.chat.success { background: #cfeadd; }
.chat.success::after { border-left-color: #cfeadd; }

.chat.danger,
.chat.gate {
  border: 2px solid var(--red);
  background: #fff4ef;
  color: var(--red-dark);
}

.chat.human.danger::after { border-right-color: #fff4ef; }
.chat.ai.gate::after { border-left-color: #fff4ef; }
.chat.gate b { margin-right: .25em; color: var(--red); font-size: .78em; letter-spacing: .06em; }

.rally-chat { gap: .33cqw; }
.rally-chat .chat { padding: .48cqw .65cqw; font-size: clamp(11px, .9cqw, 15px); }
.chat.is-lost { opacity: .34; text-decoration: line-through; }
.lost-label { align-self: flex-start; margin: -.2cqw 0 .05cqw .7cqw; color: var(--red-dark); font-size: clamp(9px, .66cqw, 11px); font-weight: 950; }

.ai-system {
  position: relative;
  display: grid;
  grid-template-columns: 11.2cqw minmax(0, 1fr);
  align-items: center;
  gap: .8cqw;
  min-width: 0;
  min-height: 23.8cqw;
  padding: .8cqw;
  border: 3px solid #a6cec5;
  border-radius: 1.15cqw;
  background: rgba(255,255,255,.66);
  box-shadow: 0 .8rem 2.2rem rgba(11, 92, 80, .08);
}

.bare-system {
  grid-template-columns: 13.2cqw 1fr;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.problem-system {
  border: 3px dashed rgba(205,88,68,.45);
  background: rgba(255,255,255,.36);
}

.ai-main {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
}

.plain-ai { min-height: 18cqw; }
.plain-ai img { width: 11.2cqw; height: 11.2cqw; object-fit: contain; }
.plain-ai strong { font-size: clamp(17px, 1.36cqw, 22px); }
.plain-ai small { margin-top: .25cqw; color: var(--muted); font-size: clamp(11px, .82cqw, 13px); font-weight: 800; }

.bare-message {
  padding-left: 1.4cqw;
  border-left: .28cqw solid var(--teal);
}

.bare-message strong,
.bare-message span { display: block; }
.bare-message strong { color: var(--teal-dark); font-size: clamp(22px, 2cqw, 32px); line-height: 1.25; }
.bare-message span { margin-top: .9cqw; color: var(--muted); font-size: clamp(15px, 1.2cqw, 20px); line-height: 1.6; font-weight: 800; }

.fading-context {
  position: relative;
  display: grid;
  gap: .85cqw;
  padding: 1.4cqw 2cqw;
}

.fading-context span {
  display: block;
  padding: .7cqw 1cqw;
  border-left: .32cqw solid var(--red);
  background: #fff;
  color: var(--red-dark);
  font-size: clamp(16px, 1.25cqw, 20px);
  font-weight: 900;
}

.fading-context .memory-one { opacity: .23; transform: translateX(2.2cqw); }
.fading-context .memory-two { opacity: .5; transform: translateX(1.1cqw); }
.fading-context .memory-three { opacity: .84; }
.fading-context img { position: absolute; right: .2cqw; top: -.7cqw; width: 7cqw; height: 7cqw; object-fit: contain; }

.capable-ai {
  min-height: 21.8cqw;
  padding: .5cqw .45cqw;
  border: 2px solid #b6d6cf;
  border-radius: .8cqw;
  background: #fff;
}

.capable-ai > img { width: 7cqw; height: 7cqw; object-fit: contain; }
.capable-ai > strong { font-size: clamp(16px, 1.22cqw, 20px); }
.capable-ai > small { color: var(--muted); font-size: clamp(9px, .7cqw, 12px); font-weight: 800; }

.main-foundation {
  display: grid;
  width: 100%;
  gap: .35cqw;
  margin-top: .55cqw;
}

.main-foundation > div {
  padding: .38cqw .35cqw;
  border-radius: .4cqw;
  background: var(--teal-soft);
  color: var(--teal-dark);
}

.main-foundation b,
.main-foundation span { display: block; }
.main-foundation b { font-size: clamp(10px, .75cqw, 12px); }
.main-foundation span { margin-top: .08cqw; font-size: clamp(8px, .56cqw, 9px); line-height: 1.2; font-weight: 800; }
.main-foundation.three-items { gap: .25cqw; }
.main-foundation.three-items > div { padding: .25cqw .25cqw; }

.memory-explanation {
  display: grid;
  gap: .8cqw;
  padding: .4cqw;
}

.memory-item {
  display: grid;
  grid-template-columns: 7.2cqw 1fr;
  align-items: center;
  min-height: 8.6cqw;
  padding: .55cqw .8cqw;
  border-left: .38cqw solid var(--teal);
  border-radius: .65cqw;
  background: var(--teal-soft);
}

.memory-item img { width: 6.6cqw; height: 6.5cqw; object-fit: contain; }
.memory-item p { margin: 0; }
.memory-item small,
.memory-item strong,
.memory-item span { display: block; }
.memory-item small { color: var(--muted); font-size: clamp(9px, .68cqw, 11px); font-weight: 850; }
.memory-item strong { color: var(--teal-dark); font-size: clamp(17px, 1.35cqw, 22px); }
.memory-item span { margin-top: .22cqw; color: var(--muted); font-size: clamp(11px, .82cqw, 13px); font-weight: 800; }

.test-item { border-left-color: var(--amber); background: var(--amber-soft); }
.test-item strong { color: var(--amber-dark); }

.check-circle {
  display: grid;
  place-items: center;
  width: 5.5cqw;
  height: 5.5cqw;
  margin: auto;
  border-radius: 50%;
  background: var(--teal);
  color: #fff;
  font-size: 3.1cqw;
  font-weight: 1000;
}

.chaos-work {
  position: relative;
  padding: 1.2cqw;
  border: 3px dashed rgba(205,88,68,.45);
  border-radius: .9cqw;
  background: rgba(255,255,255,.58);
}

.chaos-work > p { margin: 0 0 .9cqw; color: var(--red-dark); font-size: clamp(15px, 1.15cqw, 19px); font-weight: 950; text-align: center; }
.chaos-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75cqw; }
.chaos-grid span { display: grid; place-items: center; min-height: 5cqw; border-radius: .55cqw; background: var(--red-soft); color: var(--red-dark); font-size: clamp(14px, 1.08cqw, 18px); font-weight: 900; }
.chaos-work > img { position: absolute; right: -1.4cqw; top: -1.8cqw; width: 6.5cqw; height: 6.5cqw; object-fit: contain; }

/* Workflow */
.workflow-system { min-height: 24cqw; }

.workflow-workspace {
  position: relative;
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 21.5cqw;
  padding: 2.2cqw .7cqw .7cqw;
  border: 2px solid #c0d9d3;
  border-radius: .75cqw;
  background: rgba(248,252,250,.82);
}

.workspace-label {
  position: absolute;
  top: .55cqw;
  left: .7cqw;
  margin: 0;
  color: var(--teal-dark);
  font-size: clamp(11px, .85cqw, 14px);
  font-weight: 950;
}

.workflow-row {
  display: grid;
  align-items: stretch;
  gap: .42cqw;
}

.four-steps { grid-template-columns: repeat(4, 1fr); }
.five-steps { grid-template-columns: repeat(5, 1fr); }

.work-step {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  min-width: 0;
  min-height: 8.2cqw;
  padding: .55cqw .25cqw;
  border: 2px solid #9bc9bf;
  border-radius: .55cqw;
  background: var(--teal-soft);
  color: var(--teal-dark);
  text-align: center;
}

.work-step:not(:last-child)::after {
  content: "→";
  position: absolute;
  z-index: 4;
  right: -.58cqw;
  top: 3.25cqw;
  color: var(--teal-dark);
  font-size: 1.05cqw;
  font-weight: 1000;
}

.work-step > b {
  position: absolute;
  top: .35cqw;
  left: .4cqw;
  display: grid;
  place-items: center;
  width: 1.25cqw;
  height: 1.25cqw;
  border-radius: 50%;
  background: var(--teal-dark);
  color: #fff;
  font-size: clamp(8px, .58cqw, 10px);
}

.work-step > strong { font-size: clamp(12px, .92cqw, 15px); line-height: 1.15; }
.work-step > span { margin-top: .35cqw; color: var(--muted); font-size: clamp(9px, .66cqw, 11px); line-height: 1.2; font-weight: 850; }

.session-note {
  margin: 1cqw 0 0;
  color: var(--teal-dark);
  font-size: clamp(12px, .92cqw, 15px);
  font-weight: 900;
  text-align: center;
}

.human-uat-step {
  border-color: var(--red);
  background: var(--red-soft);
  color: var(--red-dark);
}

.human-uat-step > b { background: var(--red-dark); }
.human-uat-step > img { position: absolute; right: -1.2cqw; top: -1.5cqw; width: 5.4cqw; height: 5.4cqw; object-fit: contain; }
.problem-note { color: var(--red-dark); }

.ai-uat-step {
  border-color: var(--amber);
  background: var(--amber-soft);
  color: var(--amber-dark);
}

.ai-uat-step > b { background: var(--amber-dark); }
.uat-workspace { align-content: start; padding-top: 2.15cqw; }
.uat-workspace .work-step { min-height: 6.3cqw; }
.uat-workspace .work-step:not(:last-child)::after { top: 2.35cqw; }

.persona-extension {
  display: grid;
  grid-template-columns: 9.4cqw repeat(3, minmax(0, 1fr)) 7.3cqw;
  align-items: stretch;
  gap: .45cqw;
  margin-top: .65cqw;
  padding-top: .65cqw;
  border-top: 2px solid #b5d6ce;
}

.persona-extension > p { display: grid; align-content: center; margin: 0; color: var(--teal-dark); }
.persona-extension > p strong { font-size: clamp(11px, .85cqw, 14px); }
.persona-extension > p span { margin-top: .2cqw; color: var(--muted); font-size: clamp(8px, .58cqw, 10px); font-weight: 850; }

.persona-card {
  display: grid;
  grid-template-columns: 3.3cqw 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  min-width: 0;
  padding: .35cqw;
  border: 1px solid #bfdad4;
  border-radius: .45cqw;
  background: #fff;
}

.persona-card img { grid-row: 1 / 3; width: 3.1cqw; height: 3.6cqw; object-fit: contain; }
.persona-card b { font-size: clamp(9px, .65cqw, 11px); line-height: 1.1; }
.persona-card span { color: var(--muted); font-size: clamp(7px, .5cqw, 9px); line-height: 1.15; font-weight: 800; }

.finding-badge {
  display: grid;
  place-items: center;
  align-content: center;
  padding: .3cqw;
  border-left: .3cqw solid var(--amber);
  background: var(--amber-soft);
  color: var(--amber-dark);
  text-align: center;
}

.finding-badge strong { font-size: clamp(20px, 1.75cqw, 28px); line-height: 1; }
.finding-badge span { margin-top: .2cqw; font-size: clamp(7px, .5cqw, 9px); line-height: 1.15; font-weight: 850; }

.same-context-row .self-maker,
.same-context-row .self-checker { border-color: var(--red); background: var(--red-soft); color: var(--red-dark); }
.same-context-row .self-maker > b,
.same-context-row .self-checker > b { background: var(--red-dark); }
.self-checker > img { position: absolute; right: -1.1cqw; top: -1.4cqw; width: 5cqw; height: 5cqw; object-fit: contain; }
.muted-step { opacity: .54; }

.same-context-band {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75cqw;
  margin-top: .5cqw;
  padding: .42cqw .65cqw;
  border: 2px dashed var(--red);
  border-radius: .4cqw;
  background: #fff4ef;
  color: var(--red-dark);
}

.same-context-band strong { font-size: clamp(10px, .72cqw, 12px); }
.same-context-band span { font-size: clamp(9px, .66cqw, 11px); font-weight: 800; }
.muted-personas { margin-top: .4cqw; opacity: .42; }
.muted-personas .finding-badge { display: none; }
.muted-personas { grid-template-columns: 8.5cqw repeat(3, minmax(0, 1fr)); }

/* AI team */
.team-map { grid-template-columns: 8.8cqw 13.4cqw minmax(0, 1fr); }

.team-system {
  grid-template-columns: 10cqw minmax(0, 1fr);
  min-height: 24.8cqw;
  padding: 1.45cqw .7cqw .65cqw;
  border-color: var(--teal);
  background: rgba(255,255,255,.73);
}

.ai-team-title {
  position: absolute;
  top: .35cqw;
  left: .8cqw;
  color: var(--teal-dark);
  font-size: clamp(10px, .8cqw, 13px);
  font-weight: 1000;
  letter-spacing: .1em;
}

.team-main {
  min-height: 18cqw;
  padding: 1.4cqw .45cqw .6cqw;
  border: 3px solid var(--amber);
  border-radius: .75cqw;
  background: #fff;
}

.team-main img { width: 6.8cqw; height: 6.8cqw; object-fit: contain; }
.team-main > strong { font-size: clamp(15px, 1.12cqw, 18px); }
.team-main > small { color: var(--muted); font-size: clamp(8px, .62cqw, 10px); font-weight: 800; }

.agent-badge {
  position: absolute;
  top: .35cqw;
  right: .35cqw;
  padding: .2cqw .48cqw;
  border-radius: 999px;
  background: var(--amber);
  color: #4f350c;
  font-size: clamp(8px, .56cqw, 10px);
  font-weight: 1000;
  letter-spacing: .05em;
}

.model-pill {
  margin-top: .55cqw;
  padding: .28cqw .6cqw;
  border-radius: 999px;
  font-size: clamp(8px, .58cqw, 10px);
  font-weight: 950;
}

.model-pill.smart { background: var(--amber-soft); color: var(--amber-dark); }

.team-workspace {
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 21.6cqw;
}

.team-flow {
  display: grid;
  grid-template-columns: 1.15fr 1.35fr .8fr 1fr;
  gap: .4cqw;
}

.team-flow > div {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  min-width: 0;
  min-height: 4.7cqw;
  padding: .35cqw;
  border: 2px solid #a4cdc4;
  border-radius: .45cqw;
  background: var(--teal-soft);
  color: var(--teal-dark);
  text-align: center;
}

.team-flow > div:not(:last-child)::after {
  content: "→";
  position: absolute;
  z-index: 4;
  top: 1.7cqw;
  right: -.56cqw;
  font-weight: 1000;
}

.team-flow strong { font-size: clamp(10px, .74cqw, 12px); line-height: 1.15; }
.team-flow span { margin-top: .2cqw; color: var(--muted); font-size: clamp(8px, .55cqw, 9px); line-height: 1.2; font-weight: 800; }
.team-flow .fresh-flow { border-color: var(--amber); background: var(--amber-soft); color: var(--amber-dark); }

.dispatch-note {
  position: relative;
  display: flex;
  justify-content: center;
  gap: .65cqw;
  margin: .5cqw 0 .35cqw;
  color: var(--muted);
  font-size: clamp(8px, .6cqw, 10px);
  font-weight: 850;
}

.dispatch-note::before {
  content: "";
  position: absolute;
  left: -1.2cqw;
  top: 50%;
  width: 1.1cqw;
  height: 2px;
  background: var(--teal);
}

.dispatch-note::after {
  content: "→";
  position: absolute;
  left: -.55cqw;
  top: -.38cqw;
  color: var(--teal);
  font-size: 1.2cqw;
  font-weight: 1000;
}

.dispatch-note b { color: var(--teal-dark); }

.subagent-row { display: grid; gap: .36cqw; }
.five-agents { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.subagent-card {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  min-width: 0;
  min-height: 8.1cqw;
  padding: 1.25cqw .2cqw .35cqw;
  border: 2px solid #98c4d6;
  border-radius: .48cqw;
  background: var(--blue-soft);
  text-align: center;
}

.subagent-card > span {
  position: absolute;
  top: .28cqw;
  left: .25cqw;
  right: .25cqw;
  padding: .15cqw .1cqw;
  border-radius: .28cqw;
  background: #c8e3ee;
  color: #245b73;
  font-size: clamp(7px, .47cqw, 8px);
  line-height: 1.1;
  font-weight: 950;
}

.subagent-card.smart { border-color: var(--amber); background: #fff8e8; }
.subagent-card.smart > span { background: var(--amber-soft); color: var(--amber-dark); }
.subagent-card.fresh { box-shadow: 0 0 0 .18cqw rgba(11,137,118,.18); }
.subagent-card img { width: 3.8cqw; height: 3.5cqw; object-fit: contain; }
.subagent-card strong { font-size: clamp(10px, .76cqw, 12px); line-height: 1; }
.subagent-card small { margin-top: .2cqw; color: var(--muted); font-size: clamp(7px, .5cqw, 9px); font-weight: 800; }

.review-loop-note {
  margin: .45cqw 0 0;
  color: var(--teal-dark);
  font-size: clamp(9px, .64cqw, 11px);
  font-weight: 900;
  text-align: center;
}

.approval-chat { gap: .34cqw; }
.approval-chat .chat { padding: .48cqw .58cqw; font-size: clamp(10px, .8cqw, 13px); }
.approval-system { border-color: var(--red); }
.approval-flow { grid-template-columns: repeat(5, 1fr); }
.approval-flow .has-stop { border-color: var(--red); background: #fff4ef; color: var(--red-dark); }
.approval-flow i {
  position: absolute;
  top: -.62cqw;
  left: 50%;
  transform: translateX(-50%);
  padding: .12cqw .35cqw;
  border-radius: 999px;
  background: var(--red);
  color: #fff;
  font-size: clamp(7px, .48cqw, 8px);
  font-style: normal;
  font-weight: 1000;
}
.muted-team { opacity: .72; }

/* Q_RUN final */
.slide-final {
  color: #fff;
  background:
    radial-gradient(circle at 82% 18%, rgba(56,196,170,.18), transparent 27%),
    linear-gradient(130deg, #102b25 0%, #164a3f 62%, #0b7767 100%);
}

.slide-final::before {
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 3.8cqw 3.8cqw;
}

.slide-final .stage-label { color: #ffd889; }
.slide-final .time-label { color: #c1d9d3; }
.slide-final .story-header h2 span { color: #ffd889; }
.slide-final .story-header > p { color: #cfe4df; }
.slide-final .map-human strong { color: #ffd889; }
.slide-final .map-human small { color: #cfe4df; }

.final-map { min-height: 27cqw; margin-top: .35cqw; }
.final-system { min-height: 26cqw; border-color: #ffd889; background: rgba(255,255,255,.08); box-shadow: 0 1rem 2.6rem rgba(0,0,0,.14); }
.final-system .ai-team-title { color: #ffd889; }
.final-system .team-main { border-color: #ffd889; background: rgba(255,255,255,.95); color: var(--ink); }
.final-workspace { min-height: 23cqw; align-content: start; }

.run-effect {
  display: grid;
  grid-template-columns: 1.65cqw auto 1fr;
  align-items: center;
  gap: .42cqw;
  padding: .35cqw .55cqw;
  border-left: .3cqw solid #ffd889;
  background: rgba(255,216,137,.1);
  color: #fff3cf;
}

.run-effect b,
.outer-loop b {
  display: grid;
  place-items: center;
  width: 1.35cqw;
  height: 1.35cqw;
  border-radius: 50%;
  background: #ffd889;
  color: #4f350c;
  font-size: clamp(8px, .58cqw, 10px);
}

.run-effect strong { font-size: clamp(10px, .76cqw, 12px); }
.run-effect span { color: #cfe4df; font-size: clamp(8px, .55cqw, 9px); font-weight: 800; }

.run-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .28cqw;
  margin-top: .45cqw;
  padding: .5cqw;
  border: 2px solid rgba(255,216,137,.7);
  border-radius: .65cqw;
}

.run-flow > div {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  min-width: 0;
  min-height: 4.5cqw;
  padding: .28cqw .12cqw;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: .35cqw;
  background: rgba(255,255,255,.1);
  text-align: center;
}

.run-flow > div:not(:last-child)::after { content: "→"; position: absolute; z-index: 4; right: -.4cqw; top: 1.55cqw; color: #ffd889; font-weight: 1000; }
.run-flow strong { font-size: clamp(8px, .58cqw, 10px); line-height: 1.1; }
.run-flow span { margin-top: .16cqw; color: #bfe0d8; font-size: clamp(7px, .46cqw, 8px); line-height: 1.1; font-weight: 800; }
.run-flow .done-step { background: rgba(103,210,188,.22); border-color: #67d2bc; }

.outer-loop {
  display: grid;
  grid-template-columns: 1.65cqw auto 1fr;
  align-items: center;
  gap: .42cqw;
  margin-top: .35cqw;
  padding: .28cqw .55cqw;
  color: #ffd889;
}

.outer-loop strong { font-size: clamp(10px, .74cqw, 12px); }
.outer-loop span { font-size: clamp(8px, .56cqw, 10px); font-weight: 850; }

.task-done-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35cqw; margin-top: .25cqw; }
.task-done-row span { padding: .25cqw; border: 1px solid rgba(103,210,188,.35); border-radius: .3cqw; color: #cfe4df; font-size: clamp(7px, .5cqw, 9px); font-weight: 850; text-align: center; }
.task-done-row b { color: #67d2bc; }

.final-agents { margin-top: .35cqw; }
.final-agents .subagent-card { min-height: 4.7cqw; padding: .25cqw; background: rgba(229,242,247,.92); }
.final-agents .subagent-card.smart { background: rgba(255,248,232,.95); }
.final-agents .subagent-card img { width: 2.45cqw; height: 2.15cqw; }
.final-agents .subagent-card strong { font-size: clamp(8px, .58cqw, 10px); }

.product-owner img { width: 8.7cqw; height: 9.8cqw; }
.final-chat strong { color: var(--teal-dark); font-size: 1.1em; }
.final-takeaway { border-color: #ffd889 !important; background: rgba(255,255,255,.08) !important; color: #fff !important; }
.final-takeaway strong { color: #ffd889; }

/* Conclusions */
.takeaway {
  position: absolute;
  z-index: 6;
  left: 4.5cqw;
  right: 4.5cqw;
  bottom: 2.25cqw;
  margin: 0;
  padding: .72cqw 1cqw;
  border-left: .42cqw solid var(--teal);
  border-radius: 0 .55cqw .55cqw 0;
  background: rgba(255,255,255,.72);
  color: var(--teal-dark);
  font-size: clamp(17px, 1.4cqw, 23px);
  line-height: 1.25;
  font-weight: 950;
  text-align: center;
}

.takeaway.problem { border-left-color: var(--red); background: rgba(255,255,255,.72); color: var(--red-dark); }
.takeaway.neutral { border-left-color: var(--amber); color: var(--ink); }
.credit { position: absolute; z-index: 7; right: 1.2cqw; bottom: .7cqw; margin: 0; color: rgba(255,255,255,.55); font-size: clamp(7px, .48cqw, 8px); }

/* Controls */
.deck-controls {
  position: fixed;
  z-index: 30;
  left: 50%;
  bottom: .55rem;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: .35rem;
  padding: .36rem .48rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(13,28,24,.84);
  color: #fff;
  box-shadow: 0 .5rem 2rem rgba(0,0,0,.25);
  backdrop-filter: blur(10px);
  opacity: 0;
  transition: opacity 180ms ease;
}

.deck-controls:hover,
.deck-controls:focus-within { opacity: 1; }

.deck-controls button {
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: #fff;
  cursor: pointer;
  font-weight: 850;
}

.deck-controls button:hover { background: var(--teal); }
#counter { min-width: 3.8rem; text-align: center; font-size: .76rem; font-weight: 850; }

.progress { position: fixed; z-index: 32; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255,255,255,.12); }
.progress span { display: block; width: calc(100% / 13); height: 100%; background: #ffd889; transition: width 220ms ease; }
.rotate-hint { display: none; }

.notes-panel {
  position: fixed;
  z-index: 40;
  right: 1rem;
  top: 1rem;
  bottom: 1rem;
  width: min(38rem, 42vw);
  padding: 1.25rem 1.35rem;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1rem;
  background: rgba(20,28,27,.97);
  color: #f6f4ee;
  box-shadow: 0 1rem 4rem rgba(0,0,0,.35);
  transform: translateX(calc(100% + 2rem));
  transition: transform 220ms ease;
}

.notes-panel.is-open { transform: translateX(0); }
.notes-heading { display: flex; justify-content: space-between; align-items: center; padding-bottom: .75rem; border-bottom: 1px solid rgba(255,255,255,.14); }
.notes-heading strong { font-size: 1rem; }
.notes-heading button { border: 0; background: none; color: #fff; font-size: 1.5rem; cursor: pointer; }
#notes-content { padding-top: .65rem; font-size: .92rem; line-height: 1.75; }
#notes-content p { margin: 0 0 .85rem; }

@media (max-width: 920px) {
  .deck-controls { left: auto; right: .1rem; bottom: .1rem; transform: scale(.56); transform-origin: right bottom; opacity: .12; }
  .deck-controls:hover,
  .deck-controls:focus-within { opacity: .72; }
  .notes-panel { width: calc(100vw - 2rem); }
  .subagent-card > span { display: none; }
  .subagent-card { padding-top: .35cqw; }
}

@media (orientation: portrait) {
  .rotate-hint {
    position: fixed;
    z-index: 20;
    left: 50%;
    bottom: 1.2rem;
    transform: translateX(-50%);
    display: block;
    padding: .5rem .8rem;
    border-radius: 999px;
    background: rgba(13,28,24,.88);
    color: #fff;
    font-size: .75rem;
    font-weight: 800;
  }
}

@media (prefers-reduced-motion: reduce) {
  .slide,
  .progress span,
  .notes-panel { transition: none; }
}

/* v1.5 — cumulative story, visible ownership transfer */
.context-layout {
  padding-left: 0;
  border-left: 0;
}

.story-slide { padding-bottom: 9.4cqw; }
.story-slide .system-map { min-height: 30.5cqw; margin-top: .45cqw; }
.story-slide .takeaway { bottom: 5.45cqw; }
.progress span { width: calc(100% / 15); }

.map-human:not(.product-owner) > strong { display: none; }

.opening-map {
  width: 73cqw;
  margin-right: auto;
  margin-left: auto;
  grid-template-columns: 11cqw 18cqw minmax(0, 1fr);
  gap: 1.35cqw;
}

.opening-map .map-human img { width: 10.6cqw; height: 12.2cqw; }
.opening-map .chat { max-width: 17cqw; padding: .95cqw 1.05cqw; font-size: clamp(17px, 1.35cqw, 22px); }
.opening-map .plain-ai img { width: 12.8cqw; height: 12.8cqw; }
.opening-map .plain-ai strong { font-size: clamp(20px, 1.55cqw, 25px); }
.opening-map .bare-message strong { font-size: clamp(27px, 2.35cqw, 38px); }

.chat {
  border: 2px solid transparent;
  box-shadow: 0 5px 14px rgba(24,53,47,.15);
}

.chat.human {
  border-color: #b67610;
  background: #fff2c7;
  color: #5e400e;
}

.chat.human::after { border-right-color: #b67610; filter: drop-shadow(-1px 1px 0 #fff2c7); }

.chat.ai,
.chat.success {
  border-color: #087563;
  background: #d9f2eb;
  color: #075c50;
}

.chat.ai::after,
.chat.success::after { border-left-color: #087563; filter: drop-shadow(1px 1px 0 #d9f2eb); }

.chat.thought {
  align-self: flex-start;
  max-width: 13.8cqw;
  border: 2px dashed #9f6a16;
  border-radius: 1.1cqw;
  background: rgba(255,253,248,.94);
  color: var(--muted);
  box-shadow: 0 5px 14px rgba(24,53,47,.09);
  font-size: clamp(10px, .75cqw, 12px);
}

.chat.thought::after { display: none; }
.chat.thought strong { display: block; margin-top: .18cqw; color: var(--amber-dark); font-size: clamp(13px, 1cqw, 16px); line-height: 1.3; }
.short-ok { align-self: flex-start !important; min-width: 3.4cqw; padding: .35cqw .6cqw !important; text-align: center; }

.memory-map { grid-template-columns: 8.5cqw 13cqw minmax(0, 1fr); }
.memory-map .ai-system { grid-template-columns: 9.2cqw minmax(0, 1fr); }
.memory-map .capable-ai img { width: 7.8cqw; height: 7.8cqw; }
.memory-map .memory-item { min-height: 8.8cqw; }
.artifact-steps .work-step > strong { font-size: clamp(13px, 1cqw, 16px); }
.artifact-steps .work-step > span { font-size: clamp(9px, .69cqw, 11px); }

.problem-punch {
  position: absolute;
  z-index: 11;
  right: .7cqw;
  bottom: -.05cqw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6cqw;
  width: 34cqw;
  min-height: 5.2cqw;
  padding: .55cqw 1cqw;
  border: 3px solid var(--red);
  border-radius: .8cqw;
  background: rgba(255,248,243,.96);
  color: var(--red-dark);
  box-shadow: 0 .7rem 1.8rem rgba(135,51,38,.18);
  text-align: center;
}

.problem-punch.wide { width: 39cqw; }
.problem-punch img { width: 5.4cqw; height: 5.4cqw; object-fit: contain; margin: -.8cqw 0; }
.problem-punch strong { font-size: clamp(19px, 1.55cqw, 25px); line-height: 1.2; }

.manual-uat-bomb {
  position: absolute;
  z-index: 10;
  left: 9.3cqw;
  bottom: .25cqw;
  display: grid;
  place-items: center;
  width: 13.5cqw;
  min-height: 6.2cqw;
  color: var(--red-dark);
  text-align: center;
}

.manual-uat-bomb img { position: absolute; inset: -1.9cqw auto auto 50%; transform: translateX(-50%); width: 8.3cqw; opacity: .9; }
.manual-uat-bomb strong,
.manual-uat-bomb span { position: relative; z-index: 2; display: block; }
.manual-uat-bomb strong { font-size: clamp(18px, 1.45cqw, 23px); }
.manual-uat-bomb span { margin-top: .15cqw; font-size: clamp(9px, .67cqw, 11px); font-weight: 900; }
.manual-uat-system .workflow-workspace { min-height: 18cqw; }

.persona-large {
  position: relative;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 7.8cqw;
  gap: .55cqw;
  margin-top: .8cqw;
  padding-top: 2.45cqw;
}

.persona-large > p { position: absolute; top: .55cqw; left: .25cqw; display: flex; align-items: baseline; gap: .55cqw; }

.persona-large .persona-card { min-height: 6.5cqw; grid-template-columns: 4.4cqw 1fr; padding: .45cqw; }
.persona-large .persona-card img { width: 4.1cqw; height: 4.9cqw; }
.persona-large .persona-card b { font-size: clamp(10px, .78cqw, 13px); }
.persona-large .persona-card span { font-size: clamp(8px, .58cqw, 10px); }
.persona-large .finding-badge strong { font-size: clamp(22px, 1.9cqw, 31px); }

/* Responsibility rail */
.responsibility-rail {
  position: absolute;
  z-index: 14;
  left: 4.5cqw;
  right: 4.5cqw;
  bottom: .65cqw;
  display: grid;
  grid-template-columns: 11.5cqw minmax(0, 1fr);
  min-height: 4.15cqw;
  overflow: hidden;
  border: 1px solid rgba(24,53,47,.25);
  border-radius: .65cqw;
  background: rgba(255,253,248,.95);
  box-shadow: 0 .35rem 1rem rgba(24,53,47,.1);
}

.responsibility-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .55cqw;
  padding: .48cqw .65cqw;
  border-right: 1px solid rgba(24,53,47,.18);
  background: #f5f0e5;
}

.responsibility-meta > span:first-child { display: grid; gap: .12cqw; }
.responsibility-meta b { color: var(--ink); font-size: clamp(10px, .78cqw, 13px); }
.responsibility-meta small { color: var(--muted); font-size: clamp(7px, .5cqw, 9px); font-weight: 850; }
.responsibility-legend { display: none; }
.responsibility-track { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }

.responsibility-step {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  min-width: 0;
  padding: .32cqw .18cqw;
  border-right: 1px solid rgba(255,255,255,.52);
  text-align: center;
}

.responsibility-step:last-child { border-right: 0; }
.responsibility-step .step-name { font-size: clamp(8px, .61cqw, 10px); line-height: 1.05; font-weight: 950; }
.responsibility-step .step-owner { margin-top: .18cqw; font-size: clamp(7px, .48cqw, 8px); line-height: 1; font-weight: 850; }
.responsibility-step.human { background: #f7dfaa; color: #6b4509; }
.responsibility-step.ai { background: #cbe8e0; color: #075c50; }
.responsibility-step.none { background: #e9ebe8; color: #75817e; }
.responsibility-step.gated { background: linear-gradient(90deg, #cbe8e0 0 calc(100% - .48cqw), #e4ac45 calc(100% - .48cqw)); color: #075c50; }
.responsibility-step.gated .step-owner { color: #6b4509; }
.responsibility-step.focus { z-index: 2; box-shadow: inset 0 0 0 3px var(--red); }
.responsibility-step.focus::after { content: "!"; position: absolute; top: -.05cqw; right: .12cqw; color: var(--red-dark); font-size: clamp(9px, .7cqw, 11px); font-weight: 1000; }

/* Team diagram v2 */
.team-map-v2 { grid-template-columns: 8.5cqw 13cqw minmax(0, 1fr); gap: .8cqw; }
.team-system-v2 {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  align-content: stretch;
  gap: .55cqw;
  min-height: 23.4cqw;
  padding: .65cqw;
  border-color: var(--teal);
  background: rgba(255,255,255,.78);
}

.team-main-wide {
  display: grid;
  grid-template-columns: 4.4cqw 1fr auto;
  align-items: center;
  gap: .7cqw;
  min-height: 5.2cqw;
  padding: .45cqw .75cqw;
  border: 3px solid var(--amber);
  border-radius: .65cqw;
  background: #fffaf0;
  box-shadow: 0 .35rem .9rem rgba(134,87,13,.1);
}

.team-main-wide img { width: 4.2cqw; height: 4.2cqw; object-fit: contain; }
.team-main-wide p { display: grid; margin: 0; }
.team-main-wide small { color: var(--amber-dark); font-size: clamp(8px, .58cqw, 10px); font-weight: 950; letter-spacing: .045em; }
.team-main-wide strong { color: var(--ink); font-size: clamp(17px, 1.3cqw, 21px); line-height: 1.05; }
.team-main-wide span { margin-top: .15cqw; color: var(--muted); font-size: clamp(9px, .66cqw, 11px); font-weight: 850; }
.team-main-wide > b { padding: .32cqw .6cqw; border-radius: 999px; background: #ead9f4; color: #6a397e; font-size: clamp(8px, .58cqw, 10px); }

.team-pipeline-v2 {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: .45cqw;
  padding-top: .8cqw;
}

.team-pipeline-v2::before {
  content: "MAINから順番に依頼";
  position: absolute;
  top: -.15cqw;
  left: .25cqw;
  color: var(--teal-dark);
  font-size: clamp(8px, .55cqw, 9px);
  font-weight: 950;
}

.role-card {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  min-width: 0;
  min-height: 8.5cqw;
  padding: 1.05cqw .35cqw .45cqw;
  border: 2px solid #96c8bc;
  border-radius: .55cqw;
  background: var(--teal-soft);
  color: var(--teal-dark);
  text-align: center;
}

.role-card::before { content: "↓"; position: absolute; top: -.9cqw; left: 50%; transform: translateX(-50%); color: var(--teal); font-size: 1.2cqw; font-weight: 1000; }
.role-card:not(:last-child)::after { content: "→"; position: absolute; z-index: 3; right: -.57cqw; top: 3.55cqw; color: var(--ink); font-size: 1.05cqw; font-weight: 1000; }
.role-card small { color: var(--muted); font-size: clamp(7px, .49cqw, 8px); font-weight: 900; }
.role-card strong { margin-top: .2cqw; font-size: clamp(11px, .86cqw, 14px); line-height: 1.15; }
.role-card span { margin-top: .35cqw; color: var(--muted); font-size: clamp(8px, .56cqw, 10px); line-height: 1.15; font-weight: 850; }
.role-card em { margin-top: .38cqw; padding: .18cqw .35cqw; border-radius: 999px; background: rgba(255,255,255,.68); font-size: clamp(7px, .46cqw, 8px); font-style: normal; font-weight: 900; }
.role-card { background-image: url("assets/ai_computer.png"); background-repeat: no-repeat; background-position: calc(100% - .25cqw) .25cqw; background-size: 2.7cqw 2.55cqw; }
.fast-role { border-color: #6ba9bd; background: var(--blue-soft); color: #245b73; }
.smart-role { border-color: #9b74b1; background: #eee2f4; color: #663d78; }
.uat-role { border-color: var(--amber); background: var(--amber-soft); color: var(--amber-dark); }
.team-pipeline-v2 .role-card { background-image: url("assets/ai_computer.png"); background-repeat: no-repeat; background-position: calc(100% - .25cqw) .25cqw; background-size: 2.7cqw 2.55cqw; }

.review-cycle {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  gap: .12cqw .35cqw;
  width: 39.5%;
  min-height: 3.25cqw;
  margin: -.25cqw 0 0 40.45%;
  padding: .4cqw .45cqw .32cqw;
  border: 3px solid #875c9e;
  border-top: 0;
  border-radius: 0 0 .65cqw .65cqw;
  background: #f4e8f8;
  color: #663d78;
  text-align: center;
}

.review-cycle::before,
.review-cycle::after {
  position: absolute;
  top: -1.05cqw;
  color: #875c9e;
  font-size: 1.35cqw;
  font-weight: 1000;
}

.review-cycle::before { content: "↳"; left: .2cqw; }
.review-cycle::after { content: "↰"; right: .2cqw; }
.review-cycle span,
.review-cycle strong { font-size: clamp(8px, .58cqw, 10px); font-weight: 900; }
.review-cycle b { font-size: clamp(20px, 1.6cqw, 26px); line-height: .8; }
.review-cycle strong { grid-column: 1 / -1; justify-self: center; color: #663d78; }

.stop-card { border-color: var(--red); background: #fff3ee; }
.stop-card i,
.guard-card i {
  position: absolute;
  z-index: 5;
  top: -.55cqw;
  left: 50%;
  transform: translateX(-50%);
  padding: .15cqw .45cqw;
  border-radius: 999px;
  color: #fff;
  font-size: clamp(7px, .47cqw, 8px);
  font-style: normal;
  font-weight: 1000;
}

.stop-card i { background: var(--red); }
.guard-card { border-color: var(--teal); box-shadow: inset 0 0 0 2px rgba(11,137,118,.12); }
.guard-card i { background: var(--teal); }
.approval-chat-v2 { gap: .18cqw; }
.approval-chat-v2 .chat { padding: .33cqw .48cqw; font-size: clamp(9px, .7cqw, 12px); }
.approval-team { opacity: .9; }
.approval-map-v2 .problem-punch { bottom: -2cqw; }

.guardrail-summary {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .65cqw;
  padding: .45cqw .7cqw;
  border-left: .35cqw solid var(--teal);
  background: #e9f6f2;
  color: var(--teal-dark);
}

.guardrail-summary strong { font-size: clamp(11px, .82cqw, 13px); }
.guardrail-summary span { color: var(--muted); font-size: clamp(9px, .66cqw, 11px); font-weight: 850; }

.single-task-machine {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.2cqw;
  min-height: 20cqw;
  padding: 1cqw;
  border-color: var(--teal);
}

.team-main-wide.compact { grid-template-columns: 4.4cqw 1fr; }
.task-sequence { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: .55cqw; }
.task-sequence > span { color: var(--red-dark); font-size: clamp(8px, .58cqw, 10px); line-height: 1.2; font-weight: 950; text-align: center; }
.task-block { display: grid; place-items: center; min-height: 6cqw; padding: .6cqw; border: 2px solid #a6cec5; border-radius: .6cqw; background: var(--teal-soft); color: var(--teal-dark); font-size: clamp(13px, 1cqw, 16px); font-weight: 950; }
.task-block b { margin-top: .25cqw; color: var(--teal); }
.task-block.pending { border-color: #c9cbc7; background: #eee; color: #7b8481; }

.slide-final .responsibility-rail { border-color: rgba(255,255,255,.28); background: rgba(11,39,33,.9); }
.slide-final .responsibility-meta { border-right-color: rgba(255,255,255,.18); background: rgba(255,255,255,.09); }
.slide-final .responsibility-meta b { color: #fff; }
.slide-final .responsibility-meta small { color: #cfe4df; }
.slide-final .responsibility-step.ai { background: #1f8e7e; color: #fff; }
.slide-final .credit { right: 1cqw; bottom: 5.1cqw; }

.final-map-v2 { min-height: 29.5cqw !important; }
.final-system-v2 { border-color: #ffd889; background: rgba(255,255,255,.09); }
.final-system-v2 .team-main-wide { border-color: #ffd889; background: rgba(255,255,255,.96); }
.qrun-outer { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: .45cqw; }
.qrun-outer > i { color: #ffd889; font-size: 1.5cqw; font-style: normal; font-weight: 1000; }
.qrun-task { display: grid; place-items: center; min-height: 8.5cqw; padding: .55cqw; border: 2px solid rgba(103,210,188,.65); border-radius: .6cqw; background: rgba(255,255,255,.1); text-align: center; }
.qrun-task b { color: #fff; font-size: clamp(12px, .9cqw, 15px); }
.qrun-task span { margin-top: .35cqw; color: #cfe4df; font-size: clamp(8px, .56cqw, 10px); line-height: 1.25; font-weight: 800; }
.qrun-task strong { margin-top: .45cqw; color: #67d2bc; font-size: clamp(10px, .72cqw, 12px); }
.qrun-note { margin: 0; padding: .45cqw .65cqw; border-left: .3cqw solid #ffd889; background: rgba(255,216,137,.1); color: #dbece8; font-size: clamp(8px, .62cqw, 10px); font-weight: 800; }
.qrun-note b { color: #ffd889; }
.final-chat-stack { gap: .42cqw; }
.final-chat-stack .chat { font-size: clamp(10px, .8cqw, 13px); }

@media (max-width: 920px) {
  .responsibility-step .step-owner { display: none; }
  .responsibility-meta { padding-inline: .4cqw; }
  .role-card em { display: none; }
}

/* v1.6 — one message per slide, larger deltas, stronger ownership transfer */
.slide-context { padding-inline: 8.2cqw; }
.context-layout { max-width: 83cqw; }
.context-layout h2 { font-size: clamp(46px, 4.8cqw, 78px); line-height: 1.1; }
.context-body { max-width: 78cqw; margin-top: 1.45cqw; font-size: clamp(18px, 1.52cqw, 25px); line-height: 1.55; }
.context-thesis {
  width: fit-content;
  margin: 1.45cqw 0 0;
  padding: .75cqw 1cqw;
  border-radius: .55cqw;
  background: linear-gradient(90deg, var(--amber-soft), rgba(255,255,255,.78));
  color: var(--ink);
  font-size: clamp(21px, 1.85cqw, 30px);
  line-height: 1.35;
  font-weight: 900;
}
.context-thesis strong { color: var(--teal); }

.story-slide { padding-bottom: 10.6cqw; }
.story-slide .system-map { min-height: 29.3cqw; margin-top: .2cqw; }
.story-slide .takeaway {
  bottom: 6.55cqw;
  min-height: 3.2cqw;
  padding: .58cqw .9cqw;
  font-size: clamp(16px, 1.25cqw, 21px);
}

/* Problems use one red statement instead of repeated explosion art. */
.problem-punch img,
.chaos-work > img,
.manual-uat-bomb img { display: none; }
.problem-punch {
  width: 32cqw;
  min-height: 4.8cqw;
  border-width: 2px;
  background: rgba(255,250,247,.97);
}
.problem-punch.wide { width: 36cqw; }
.problem-punch strong { font-size: clamp(17px, 1.38cqw, 23px); }
.manual-uat-bomb {
  left: 9.5cqw;
  bottom: .4cqw;
  min-height: 5.2cqw;
  padding: .55cqw;
  border: 2px solid var(--red);
  border-radius: .7cqw;
  background: rgba(255,250,247,.97);
}

/* Slide 4: old conditions visibly fade behind the current turn. */
.forget-map {
  width: 66cqw;
  margin-right: auto;
  margin-left: auto;
  grid-template-columns: 9cqw 16cqw minmax(0, 1fr);
  gap: 1.2cqw;
}
.forget-map .rally-chat .chat { max-width: 15.3cqw; font-size: clamp(13px, 1cqw, 17px); }
.forget-map .rally-chat .danger { transform: scale(1.08); transform-origin: left center; }
.forget-system {
  grid-template-columns: 11cqw minmax(0, 1fr);
  min-height: 23.5cqw;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.context-drift {
  position: relative;
  display: grid;
  align-content: center;
  min-height: 19cqw;
  padding: 1.4cqw 1.2cqw 1.1cqw 4cqw;
}
.drift-message {
  position: relative;
  display: grid;
  width: 23cqw;
  padding: .65cqw .85cqw;
  border: 2px solid rgba(205,88,68,.6);
  border-radius: .8cqw;
  background: #fffdf8;
  color: var(--red-dark);
  box-shadow: 0 .45rem 1.2rem rgba(135,51,38,.1);
}
.drift-message b { font-size: clamp(14px, 1.05cqw, 17px); }
.drift-message span { margin-top: .15cqw; font-size: clamp(10px, .74cqw, 12px); font-weight: 800; }
.drift-message.first { transform: translate(-3cqw, .9cqw) scale(.84); opacity: .2; }
.drift-message.second { transform: translate(-1.4cqw, .35cqw) scale(.92); opacity: .46; }
.drift-message.current { z-index: 2; opacity: 1; }
.drift-arrow {
  position: absolute;
  right: 1.1cqw;
  bottom: 1.5cqw;
  display: flex;
  align-items: center;
  gap: .35cqw;
  color: var(--red-dark);
  font-size: clamp(10px, .75cqw, 12px);
  font-weight: 900;
}
.drift-arrow b { font-size: 1.4cqw; }

/* Slide 9: the browser, personas and result are the visual story. */
.uat-hero-map { grid-template-columns: 8.3cqw 13.4cqw minmax(0, 1fr); gap: .9cqw; }
.uat-hero-system {
  grid-template-columns: 7.2cqw 15.5cqw minmax(0, 1fr) 8.2cqw;
  grid-template-rows: 1fr 2.3cqw;
  align-items: center;
  gap: .65cqw;
  min-height: 24.8cqw;
  padding: .8cqw;
  border-color: var(--teal);
  background: rgba(255,255,255,.78);
}
.uat-actor { display: grid; place-items: center; text-align: center; }
.uat-actor img { width: 6.3cqw; height: 6.3cqw; object-fit: contain; }
.uat-actor p { display: grid; margin: -.2cqw 0 0; }
.uat-actor strong { font-size: clamp(15px, 1.18cqw, 19px); }
.uat-actor span { color: var(--muted); font-size: clamp(8px, .58cqw, 10px); font-weight: 850; }
.uat-browser {
  overflow: hidden;
  border: 3px solid #5e716d;
  border-radius: .75cqw;
  background: #fff;
  box-shadow: 0 .7rem 1.6rem rgba(24,53,47,.14);
}
.browser-bar { display: flex; align-items: center; gap: .25cqw; height: 2cqw; padding: 0 .55cqw; background: #e7ebe9; }
.browser-bar i { width: .48cqw; height: .48cqw; border-radius: 50%; background: #93a19e; }
.browser-bar i:first-child { background: #d96350; }
.browser-bar span { margin-left: .35cqw; color: var(--muted); font-size: clamp(8px, .56cqw, 10px); font-weight: 850; }
.browser-page { position: relative; display: grid; align-content: center; gap: .8cqw; min-height: 10.2cqw; padding: 1.1cqw; background: #fffdf8; }
.browser-heading { width: 72%; height: 1.1cqw; border-radius: 999px; background: #9fcfc3; }
.browser-copy { width: 88%; height: .65cqw; border-radius: 999px; background: #d8dedb; box-shadow: 0 1.05cqw 0 #d8dedb; }
.browser-page button { justify-self: end; margin-top: .6cqw; padding: .38cqw 1cqw; border: 0; border-radius: .38cqw; background: var(--teal); color: #fff; font-weight: 900; }
.browser-cursor { position: absolute; right: 1.25cqw; bottom: 1.25cqw; color: var(--red); font-size: 1.7cqw; transform: rotate(-15deg); }
.uat-browser > strong { display: block; padding: .35cqw; background: var(--teal-soft); color: var(--teal-dark); font-size: clamp(10px, .75cqw, 12px); text-align: center; }
.persona-hero { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45cqw; align-self: stretch; padding: .45cqw; }
.persona-hero > p { grid-column: 1 / -1; display: flex; align-items: baseline; gap: .45cqw; margin: 0; color: var(--teal-dark); }
.persona-hero > p strong { font-size: clamp(13px, 1cqw, 16px); }
.persona-hero > p span { color: var(--muted); font-size: clamp(8px, .56cqw, 10px); font-weight: 850; }
.persona-hero .persona-card { grid-template-columns: 1fr; place-items: center; align-content: center; min-height: 11.5cqw; padding: .35cqw; text-align: center; }
.persona-hero .persona-card img { grid-row: auto; width: 5.8cqw; height: 6.4cqw; }
.persona-hero .persona-card b { font-size: clamp(11px, .84cqw, 14px); }
.persona-hero .persona-card span { font-size: clamp(8px, .56cqw, 10px); }
.finding-hero { display: grid; place-items: center; align-content: center; min-height: 11.8cqw; padding: .55cqw; border: 3px solid var(--amber); border-radius: .8cqw; background: #fff7df; color: var(--amber-dark); text-align: center; }
.finding-hero strong { font-size: clamp(38px, 3.3cqw, 54px); line-height: .95; }
.finding-hero span { margin-top: .45cqw; font-size: clamp(9px, .66cqw, 11px); line-height: 1.3; font-weight: 900; }
.workflow-ghost { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; gap: .35cqw; color: #79908a; }
.workflow-ghost span,
.workflow-ghost b { padding: .25cqw; border-radius: .35cqw; background: #edf0ee; font-size: clamp(8px, .58cqw, 10px); text-align: center; }
.workflow-ghost b { background: var(--teal); color: #fff; }

/* Slide 10: two roles, one inherited point of view. */
.same-context-hero-map { grid-template-columns: 8.3cqw 14cqw minmax(0,1fr); gap: .9cqw; }
.same-context-hero {
  grid-template-columns: 1fr 7.5cqw 1fr;
  grid-template-rows: auto 1fr auto;
  gap: .8cqw;
  min-height: 23.5cqw;
  padding: 1cqw 1.2cqw;
  border: 3px solid rgba(205,88,68,.55);
  background: rgba(255,253,248,.78);
}
.same-context-title { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: center; gap: .8cqw; padding: .5cqw; border-radius: .55cqw; background: var(--red-soft); color: var(--red-dark); }
.same-context-title span { font-size: clamp(11px, .82cqw, 14px); font-weight: 900; }
.same-context-title strong { font-size: clamp(15px, 1.15cqw, 19px); }
.same-role { display: grid; grid-template-columns: 7.3cqw 1fr; align-items: center; gap: .65cqw; min-height: 12.5cqw; padding: .75cqw; border: 2px solid #d9a196; border-radius: .8cqw; background: #fff7f3; }
.same-role img { width: 7cqw; height: 7cqw; object-fit: contain; }
.same-role p { display: grid; margin: 0; }
.same-role small { color: var(--muted); font-size: clamp(8px, .56cqw, 10px); font-weight: 900; }
.same-role strong { color: var(--red-dark); font-size: clamp(24px, 2cqw, 32px); }
.same-role span { color: var(--muted); font-size: clamp(10px, .72cqw, 12px); font-weight: 850; }
.context-transfer { display: grid; place-items: center; align-content: center; color: var(--red-dark); text-align: center; }
.context-transfer b { padding: .35cqw .55cqw; border-radius: 999px; background: var(--red); color: #fff; font-size: clamp(10px, .76cqw, 13px); }
.context-transfer span { font-size: 2.2cqw; font-weight: 1000; }
.same-context-caption { display: none; }
.same-context-caption strong { color: var(--red-dark); }

/* Slides 11–13: one fixed team skeleton; only STOP/CHECK changes. */
.team-map-v3 { grid-template-columns: 8.2cqw 13.2cqw minmax(0, 1fr); gap: .8cqw; }
.team-system-v3 {
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  align-items: stretch;
  gap: .75cqw;
  min-height: 24.2cqw;
  padding: .75cqw;
  border-color: var(--teal);
  background: rgba(255,255,255,.8);
}
.orchestrator-main {
  position: relative;
  display: grid;
  grid-template-columns: 5.1cqw 1fr;
  align-items: center;
  gap: .8cqw;
  width: 100%;
  min-height: 5.8cqw;
  padding: .45cqw 1cqw;
  border: 3px solid var(--amber);
  border-radius: .75cqw;
  background: #fff9e9;
  box-shadow: 0 .35rem 1rem rgba(134,87,13,.12);
}
.orchestrator-main::after { content: "↓ 仕事を渡す"; position: absolute; left: 50%; bottom: -.85cqw; transform: translateX(-50%); color: var(--teal-dark); font-size: clamp(8px, .58cqw, 10px); font-weight: 950; white-space: nowrap; }
.orchestrator-main img { width: 5cqw; height: 5cqw; object-fit: contain; }
.orchestrator-main p { display: grid; margin: 0; }
.orchestrator-main small { color: var(--amber-dark); font-size: clamp(9px, .65cqw, 11px); font-weight: 950; }
.orchestrator-main strong { font-size: clamp(22px, 1.8cqw, 29px); line-height: 1.05; }
.orchestrator-main span { margin-top: .18cqw; color: var(--muted); font-size: clamp(10px, .74cqw, 12px); font-weight: 850; }
.team-roles-v3 { display: grid; grid-template-columns: .9fr 2.15fr .9fr; gap: .65cqw; align-items: stretch; padding-top: .45cqw; }
.team-role { position: relative; display: grid; grid-template-columns: 4.6cqw 1fr; align-items: center; gap: .42cqw; min-width: 0; min-height: 11.6cqw; padding: .65cqw; border: 2px solid #84bfb2; border-radius: .7cqw; background: var(--teal-soft); color: var(--teal-dark); }
.team-role img { width: 4.5cqw; height: 4.5cqw; object-fit: contain; }
.team-role p { display: grid; margin: 0; }
.team-role strong { font-size: clamp(13px, 1cqw, 16px); line-height: 1.15; }
.team-role span { margin-top: .25cqw; font-size: clamp(9px, .66cqw, 11px); line-height: 1.2; font-weight: 900; }
.team-role small { margin-top: .25cqw; color: var(--muted); font-size: clamp(8px, .55cqw, 9px); line-height: 1.2; font-weight: 850; }
.review-loop-v3 { display: grid; grid-template-columns: 1fr 4.8cqw 1fr; align-items: stretch; gap: .45cqw; padding: .45cqw; border: 3px solid #8c68a0; border-radius: .85cqw; background: #f6edf9; }
.review-loop-v3 .team-role { min-height: 10.2cqw; }
.review-loop-v3 .maker { border-color: #6ba9bd; background: var(--blue-soft); color: #245b73; }
.review-loop-v3 .reviewer { border-color: #9b74b1; background: #eee2f4; color: #663d78; }
.loop-arrows { display: grid; place-items: center; align-content: center; color: #663d78; }
.loop-arrows b { font-size: 1.9cqw; line-height: .8; }
.loop-arrows strong { font-size: clamp(9px, .68cqw, 11px); line-height: 1.1; text-align: center; }
.uat-agent { border-color: var(--amber); background: var(--amber-soft); color: var(--amber-dark); }
.gate-role { border-color: var(--red); background: #fff4ef; box-shadow: 0 0 0 3px rgba(205,88,68,.12); }
.gate-role i,
.check-role i { position: absolute; z-index: 4; left: 50%; top: -.72cqw; transform: translateX(-50%); padding: .2cqw .6cqw; border-radius: 999px; color: #fff; font-size: clamp(9px, .65cqw, 11px); font-style: normal; font-weight: 1000; letter-spacing: .04em; }
.gate-role i { background: var(--red); }
.check-role { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,137,118,.12); }
.check-role i { background: var(--teal); }
.approval-team-v3 { opacity: .94; }
.approval-map-v3 .problem-punch { bottom: -.65cqw; }
.guardrail-team-v3 { grid-template-rows: auto 1fr auto; }
.guardrail-summary-v3 { display: flex; align-items: baseline; justify-content: center; gap: .65cqw; padding: .45cqw .7cqw; border-left: .4cqw solid var(--teal); background: #e5f4ef; color: var(--teal-dark); text-align: center; }
.guardrail-summary-v3 strong { font-size: clamp(15px, 1.14cqw, 19px); }
.guardrail-summary-v3 span { color: var(--muted); font-size: clamp(11px, .82cqw, 14px); font-weight: 900; }

/* The responsibility rail is part of the story, not footer chrome. */
.responsibility-rail {
  display: block;
  min-height: 5.15cqw;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.responsibility-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: center;
  gap: 1.05cqw;
  height: 100%;
}
.responsibility-track::before,
.responsibility-track::after { content: none; }
.responsibility-step {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto;
  place-items: center;
  align-content: center;
  min-height: 4.65cqw;
  padding: .52cqw .18cqw .42cqw;
  overflow: visible;
  border: 2px solid;
  border-radius: .72cqw;
  background: #fff;
  box-shadow: 0 .3rem .8rem rgba(24,53,47,.12);
  color: var(--ink);
  text-align: center;
}
.responsibility-step:last-child {
  border-right-width: 2px;
  border-right-style: solid;
}
.responsibility-step:not(:last-child)::before {
  content: "→";
  position: absolute;
  z-index: 3;
  top: 50%;
  right: -.92cqw;
  transform: translate(10%, -53%);
  color: var(--ink);
  font-size: clamp(12px, 1.05cqw, 18px);
  font-weight: 1000;
  line-height: 1;
}
.responsibility-step .step-name {
  font-size: clamp(10px, .76cqw, 13px);
  font-weight: 950;
  line-height: 1.08;
}
.responsibility-step .step-owner {
  display: block;
  margin-top: .32cqw;
  font-size: clamp(8px, .6cqw, 10px);
  font-weight: 900;
  line-height: 1;
}
.responsibility-step.human { border-color: #d5a142; background: #f8e4b7; color: #664005; }
.responsibility-step.ai { border-color: #67ae9f; background: #cfe9e2; color: #075c50; }
.responsibility-step.none { border-color: #bdc5c2; background: #edf0ee; color: #697672; }
.responsibility-step.gated {
  border-color: #d2a244;
  background: linear-gradient(90deg, #cfe9e2 0 74%, #f8e4b7 74%);
  color: #075c50;
}
.responsibility-step.human .step-owner { color: var(--amber-dark); }
.responsibility-step.ai .step-owner { color: var(--teal-dark); }
.responsibility-step.none .step-owner { color: #697672; }
.responsibility-step.gated .step-owner { color: #6b520f; }
.responsibility-step.focus {
  border-color: var(--red);
  box-shadow: inset 0 0 0 1px var(--red), 0 .3rem .8rem rgba(157,53,44,.16);
}
.responsibility-step.focus::after {
  content: "!";
  position: absolute;
  top: -.42cqw;
  right: -.2cqw;
  display: grid;
  place-items: center;
  width: 1.25cqw;
  height: 1.25cqw;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  font-size: clamp(8px, .62cqw, 10px);
  font-weight: 1000;
  line-height: 1;
}
.responsibility-step.improved {
  border-color: #238a5a;
  box-shadow: inset 0 0 0 1px #238a5a, 0 .3rem .8rem rgba(35,138,90,.18);
}
.responsibility-step .step-improvement {
  position: absolute;
  z-index: 4;
  top: -.63cqw;
  left: 50%;
  transform: translateX(-50%);
  min-width: 3cqw;
  padding: .19cqw .5cqw .17cqw;
  border-radius: .34cqw .34cqw .12cqw .12cqw;
  background: #238a5a;
  box-shadow: 0 .16rem .34rem rgba(35,138,90,.2);
  color: #fff;
  font-size: clamp(9px, .66cqw, 11px);
  font-weight: 1000;
  letter-spacing: .04em;
  line-height: 1;
  white-space: nowrap;
}
.slide-final .responsibility-rail { border: 0; background: transparent; box-shadow: none; }
.slide-final .responsibility-step,
.slide-final .responsibility-step.ai {
  border-color: #68d0bc;
  background: #1f8e7e;
  color: #fff;
}
.slide-final .responsibility-step.improved {
  border-color: #b9f4c8;
  box-shadow: inset 0 0 0 1px #b9f4c8, 0 .3rem .9rem rgba(185,244,200,.22);
}
.slide-final .responsibility-step .step-improvement {
  background: #b9f4c8;
  color: #174f3a;
}
.slide-final .responsibility-step:not(:last-child)::before { color: #fff; }
.slide-final .responsibility-step .step-owner { color: #d9f1ec; }
.slide-final .credit { bottom: 5.95cqw; }

/* Keep controls away from the ownership story. */
.deck-controls { left: auto; right: .55rem; bottom: auto; top: .55rem; transform: none; }

/* Final slide returns to the cover promise. */
.slide-final .team-header h2 { font-size: clamp(34px, 3.55cqw, 58px); }
.slide-final .final-takeaway { min-height: 4.25cqw; line-height: 1.22; }
.slide-final .qrun-note,
.slide-final .team-main-wide > b { display: none; }

@media (max-width: 920px) {
  .story-slide { padding-bottom: 10.9cqw; }
  .story-header > p,
  .main-foundation,
  .session-note,
  .team-role small,
  .team-role span,
  .orchestrator-main span,
  .same-role span,
  .persona-card span,
  .workflow-ghost span,
  .qrun-note,
  .credit { display: none; }
  .story-slide .takeaway { bottom: 6.75cqw; min-height: 3.15cqw; font-size: clamp(11px, 1.42cqw, 15px); }
  .responsibility-rail { min-height: 5.55cqw; bottom: .45cqw; }
  .responsibility-track { gap: .72cqw; }
  .responsibility-step { min-height: 5.05cqw; padding: .45cqw .08cqw .38cqw; border-width: 1px; border-radius: .75cqw; }
  .responsibility-step:last-child { border-right-width: 1px; }
  .responsibility-step:not(:last-child)::before { right: -.61cqw; transform: translate(0, -53%); font-size: clamp(8px, 1.2cqw, 12px); }
  .responsibility-step .step-name { font-size: clamp(7px, .9cqw, 10px); }
  .responsibility-step .step-owner { display: block; margin-top: .3cqw; font-size: clamp(6px, .73cqw, 8px); }
  .responsibility-step .step-improvement { top: -.78cqw; min-width: 3.6cqw; padding: .2cqw .46cqw .18cqw; font-size: clamp(7px, .82cqw, 9px); }
  .deck-controls { display: none; }
  .team-role { grid-template-columns: 1fr; place-items: center; text-align: center; }
  .team-role img { width: 4.8cqw; height: 4.8cqw; }
  .orchestrator-main { grid-template-columns: 5.2cqw 1fr; }
  .same-role { grid-template-columns: 6.6cqw 1fr; }
  .persona-hero .persona-card { min-height: 10.5cqw; }
  .finding-hero span { display: none; }
  .workflow-ghost b { grid-column: 5; }
}
