
/* Presentation 0.1a — respect the HTML hidden state even when a component
   has an explicit display:grid/flex rule later in this stylesheet. */
.presentation-page [hidden] {
  display: none !important;
}

/* Presentation 0.1b — explicit loaded/empty state.  The inline fallback in
   presentation.js mirrors these rules so the state remains correct even when
   older component CSS is present in a user's TMM folder. */
.presentation-page.presentation-has-data .presentation-empty-state { display: none !important; }
.presentation-page.presentation-has-data .presentation-workspace { display: grid !important; }
.presentation-page.presentation-has-data .presentation-transport { display: grid !important; }
.presentation-page.presentation-no-data .presentation-empty-state { display: grid !important; }
.presentation-page.presentation-no-data .presentation-workspace,
.presentation-page.presentation-no-data .presentation-transport { display: none !important; }

:root {
  --pres-bg: #f3f6fa;
  --pres-panel: rgba(255,255,255,.94);
  --pres-border: #dfe6ef;
  --pres-text: #152033;
  --pres-muted: #6c788a;
  --pres-soft: #f7f9fc;
  --pres-accent: #2f6f9f;
  --pres-accent-soft: #edf5fb;
  --pres-ink: #20364d;
  --pres-shadow: 0 18px 50px rgba(31, 50, 74, .08);
}

html, body.presentation-page { min-height: 100%; background: var(--pres-bg); }
body.presentation-page { overflow: hidden; color: var(--pres-text); }

.presentation-global-toolbar .presentation-nav-right { min-width: 0; }
.presentation-source-file {
  display: inline-flex; max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: #64748b; font-size: .78rem; border: 1px solid #e2e8f0; background: #f8fafc; border-radius: 999px; padding: 5px 9px;
}

.presentation-app {
  height: calc(100vh - var(--toolbar-h) - 74px);
  margin-top: var(--toolbar-h);
  padding: 18px 22px 14px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
}

.presentation-hero-bar {
  position: relative;
  display: grid;
  grid-template-columns: minmax(230px, .8fr) auto minmax(230px, .8fr);
  align-items: center;
  gap: 18px;
  min-height: 62px;
  background: var(--pres-panel);
  border: 1px solid var(--pres-border);
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(31,50,74,.055);
  padding: 10px 14px 10px 18px;
}
.presentation-heading-group h1 { margin: 1px 0 0; font-size: 1.04rem; letter-spacing: -.015em; font-weight: 700; }
.presentation-eyebrow { font-size: .66rem; letter-spacing: .13em; color: #8490a1; font-weight: 700; }
.presentation-mode-switch {
  justify-self: center; display: inline-flex; padding: 4px; border-radius: 13px; background: #edf2f7; border: 1px solid #e0e7ef;
}
.presentation-mode-btn {
  border: 0; background: transparent; color: #66758a; padding: 9px 16px; border-radius: 10px; font: inherit; font-size: .84rem; font-weight: 650; cursor: pointer;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}
.presentation-mode-btn:hover { color: #2d435a; }
.presentation-mode-btn.is-active { background: white; color: #213a53; box-shadow: 0 3px 10px rgba(38,56,79,.10); }
.presentation-hero-actions { justify-self: end; display: flex; gap: 8px; }
.presentation-control-btn {
  height: 38px; padding: 0 12px; display: inline-flex; align-items: center; gap: 7px; border-radius: 11px; border: 1px solid #d9e2ec;
  background: white; color: #41546a; font: inherit; font-size: .8rem; font-weight: 650; cursor: pointer;
}
.presentation-control-btn:hover { background: #f5f8fb; border-color: #c9d6e4; }

.presentation-layers-popover {
  position: absolute; z-index: 40; top: calc(100% + 8px); right: 12px; width: 280px; padding: 14px;
  background: white; border: 1px solid #dce5ef; border-radius: 15px; box-shadow: 0 18px 44px rgba(28,45,67,.16);
}
.presentation-layers-popover label { display: flex; align-items: center; gap: 9px; padding: 7px 4px; font-size: .83rem; color: #405268; cursor: pointer; }
.presentation-layers-popover input { accent-color: var(--pres-accent); }
.presentation-popover-title { font-size: .83rem; font-weight: 700; margin-bottom: 5px; }
.presentation-popover-note { margin-top: 8px; border-top: 1px solid #edf0f4; padding-top: 9px; color: #8490a0; font-size: .72rem; line-height: 1.4; }

.presentation-workspace {
  min-height: 0; flex: 1; display: grid; grid-template-columns: minmax(270px, 30fr) minmax(360px, 40fr) minmax(285px, 30fr); gap: 14px;
}
.presentation-column {
  min-width: 0; min-height: 0; background: var(--pres-panel); border: 1px solid var(--pres-border); border-radius: 20px; box-shadow: var(--pres-shadow);
  padding: 15px; overflow: hidden;
}
.presentation-source-column, .presentation-transcript-column, .presentation-analysis-column { display: flex; flex-direction: column; }
.presentation-column-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 25px; margin-bottom: 11px; }
.presentation-column-kicker { color: #8a96a5; font-size: .67rem; font-weight: 750; letter-spacing: .12em; }
.presentation-status-pill, .presentation-time-badge {
  display: inline-flex; align-items: center; border: 1px solid #e0e7ef; border-radius: 999px; padding: 4px 8px; background: #f8fafc; color: #69798c; font-size: .68rem; font-weight: 650;
}
.presentation-status-pill--accent { background: #f0f7fb; border-color: #d8e9f4; color: #467598; }

.presentation-video-shell {
  position: relative; width: 100%; aspect-ratio: 16 / 9; background: #111923; border-radius: 15px; overflow: hidden; box-shadow: 0 7px 22px rgba(18,27,39,.16);
}
.presentation-video-poster, .presentation-youtube-player, .presentation-youtube-player iframe { width: 100%; height: 100%; }
.presentation-video-poster { position: relative; background: linear-gradient(135deg, #172433, #273a50); background-size: cover; background-position: center; }
.presentation-video-poster-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,14,24,.04), rgba(6,14,24,.46)); }
.presentation-big-play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 58px; height: 58px; border-radius: 50%; border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.94); color: #17324a; box-shadow: 0 10px 28px rgba(0,0,0,.25); cursor: pointer; font-size: 1.2rem; padding-left: 5px;
}
.presentation-big-play:hover { transform: translate(-50%,-50%) scale(1.04); }
.presentation-video-message { position: absolute; left: 14px; right: 14px; bottom: 13px; background: rgba(13,24,37,.86); color: white; border-radius: 10px; padding: 9px 11px; font-size: .72rem; line-height: 1.45; }

.presentation-source-context { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 2px 11px; border-bottom: 1px solid #edf0f4; }
.presentation-source-speaker { font-size: .95rem; font-weight: 750; color: #24394e; }
.presentation-source-role { color: #7d8998; font-size: .72rem; margin-top: 2px; }
.presentation-source-position { text-align: right; display: flex; flex-direction: column; gap: 2px; color: #788697; font-size: .7rem; }
.presentation-source-position strong { color: #3d5369; font-size: .82rem; }

.presentation-local-timeline-card { min-height: 0; margin-top: 11px; padding-top: 1px; display: flex; flex-direction: column; }
.presentation-section-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.presentation-section-title { font-size: .8rem; font-weight: 720; color: #334a61; }
.presentation-section-subtitle { font-size: .66rem; color: #909baa; margin-top: 2px; }
.presentation-local-timeline { position: relative; min-height: 84px; margin-top: 9px; padding: 6px 0; overflow: hidden; }
.presentation-timeline-playhead { position: absolute; top: 0; bottom: 0; width: 1px; background: #2f6f9f; z-index: 5; box-shadow: 0 0 0 2px rgba(47,111,159,.06); pointer-events: none; }
.presentation-timeline-row { position: relative; height: 22px; display: grid; grid-template-columns: 72px minmax(0,1fr); align-items: center; gap: 7px; }
.presentation-timeline-speaker { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .62rem; color: #6d7a8b; text-align: right; }
.presentation-timeline-track { position: relative; height: 10px; border-radius: 5px; background: #f1f4f8; overflow: hidden; }
.presentation-timeline-block { position: absolute; top: 1px; bottom: 1px; min-width: 3px; border: 0; border-radius: 4px; cursor: pointer; opacity: .55; transition: opacity .15s ease, transform .15s ease; }
.presentation-timeline-block:hover { opacity: .9; transform: scaleY(1.35); }
.presentation-timeline-block.is-current { opacity: 1; box-shadow: 0 0 0 2px rgba(47,111,159,.18); }
.presentation-timeline-empty { display: grid; place-items: center; min-height: 70px; color: #9ba5b2; font-size: .7rem; text-align: center; }
.presentation-macro-placeholder { margin-top: auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; color: #a2abb7; font-size: .62rem; }
.presentation-macro-track { height: 7px; border: 1px dashed #dce2e9; border-radius: 999px; overflow: hidden; }
.presentation-macro-track i { display: block; width: 34%; height: 100%; margin-left: 27%; background: #eff2f5; }
.presentation-future-badge { white-space: nowrap; font-size: .57rem; text-transform: uppercase; letter-spacing: .08em; }

.presentation-transcript-column { padding-left: 20px; padding-right: 20px; }
.presentation-context-segment { flex: 0 0 auto; padding: 9px 8px; color: #9ba4af; font-size: .72rem; line-height: 1.45; opacity: .68; overflow: hidden; }
.presentation-context-segment--previous { border-bottom: 1px solid #f0f2f5; }
.presentation-context-segment--next { border-top: 1px solid #f0f2f5; }
.presentation-context-speaker { display: block; font-size: .61rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 3px; }
.presentation-current-segment-card {
  flex: 1; min-height: 0; display: flex; flex-direction: column; justify-content: center; margin: 6px 0; padding: 18px 18px 19px;
  background: linear-gradient(180deg, #fff, #fbfcfe); border: 1px solid #e3e9f0; border-radius: 18px; box-shadow: 0 10px 32px rgba(40,58,79,.055); overflow: auto;
}
.presentation-current-segment-card::before { content: ""; display: block; width: 38px; height: 3px; background: #7ea5c2; border-radius: 999px; margin-bottom: 17px; }
.presentation-current-speaker { display: flex; align-items: center; gap: 8px; color: #39536b; font-size: .76rem; font-weight: 750; margin-bottom: 10px; }
.presentation-speaker-dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; }
.presentation-current-text { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.2rem, 1.55vw, 1.7rem); line-height: 1.48; letter-spacing: -.01em; color: #1f2c3a; }
.presentation-current-translation { margin-top: 13px; padding-top: 11px; border-top: 1px solid #edf0f4; color: #728095; font-size: .82rem; line-height: 1.5; }
.presentation-current-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; }
.presentation-tag-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: #edf4f8; border: 1px solid #d7e6ef; color: #315675; font-size: .72rem; font-weight: 670; }
.presentation-tag-chip--general { background: #f5f2ea; border-color: #e7dfcd; color: #6d6047; }
.presentation-tag-chip small { color: #8694a4; font-weight: 550; }
.presentation-no-annotations { margin-top: 15px; color: #a0a9b5; font-size: .75rem; }

.presentation-analysis-panel { min-height: 0; flex: 1; overflow: auto; }
.presentation-analysis-empty { height: 100%; display: grid; place-items: center; color: #929dac; text-align: center; padding: 20px; }
.presentation-analysis-empty strong { display: block; color: #586a7e; margin-bottom: 5px; }
.presentation-analysis-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-bottom: 11px; }
.presentation-analysis-kpi { border: 1px solid #e5eaf0; border-radius: 12px; padding: 9px 8px; background: #fbfcfd; }
.presentation-analysis-kpi strong { display: block; color: #334b62; font-size: .95rem; }
.presentation-analysis-kpi span { display: block; margin-top: 2px; color: #909baa; font-size: .58rem; text-transform: uppercase; letter-spacing: .06em; }
.presentation-analysis-list { display: flex; flex-direction: column; gap: 8px; }
.presentation-analysis-ann { position: relative; border: 1px solid #e1e7ee; background: #fff; border-radius: 13px; padding: 10px 11px 10px 13px; }
.presentation-analysis-ann[data-depth="1"] { margin-left: 14px; }
.presentation-analysis-ann[data-depth="2"] { margin-left: 28px; }
.presentation-analysis-ann[data-depth="3"] { margin-left: 42px; }
.presentation-analysis-ann[data-depth]:not([data-depth="0"])::before { content: "↳"; position: absolute; left: -13px; top: 10px; color: #a4afbb; font-size: .68rem; }
.presentation-analysis-ann-head { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
.presentation-analysis-ann-id { color: #91a0af; font-size: .58rem; font-weight: 700; }
.presentation-analysis-ann-tag { color: #314b64; font-size: .74rem; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.presentation-analysis-ann-en { color: #8a96a4; font-size: .62rem; margin-top: 3px; }
.presentation-analysis-ann-text { color: #68778a; font-size: .66rem; line-height: 1.35; margin-top: 5px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.presentation-relation-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.presentation-relation-chip { padding: 4px 7px; border-radius: 999px; background: #f4f6f9; border: 1px solid #e1e6ec; color: #647388; font-size: .58rem; font-weight: 650; }

.presentation-growth-scene { height: 100%; min-height: 0; display: flex; flex-direction: column; }
.presentation-growth-intro { color: #778597; font-size: .7rem; line-height: 1.45; margin-bottom: 10px; }
.presentation-growth-canvas { position: relative; flex: 1; min-height: 250px; border: 1px solid #e4e9ef; border-radius: 16px; background: radial-gradient(circle at 50% 35%, #fbfdff 0, #f5f8fb 76%); overflow: hidden; }
.presentation-growth-canvas::before { content: ""; position: absolute; inset: 0; opacity: .35; background-image: radial-gradient(#ccd7e2 .65px, transparent .65px); background-size: 18px 18px; }
.presentation-growth-node { position: absolute; z-index: 3; width: min(180px, 48%); padding: 9px 10px; border-radius: 12px; background: rgba(255,255,255,.96); border: 1px solid #dfe6ed; box-shadow: 0 6px 18px rgba(38,58,80,.08); }
.presentation-growth-node.is-current { border-color: #9fc2d9; box-shadow: 0 0 0 3px rgba(92,145,180,.09), 0 8px 22px rgba(38,58,80,.10); }
.presentation-growth-node-tag { font-size: .66rem; color: #36526c; font-weight: 700; }
.presentation-growth-node-meta { margin-top: 3px; color: #8995a3; font-size: .56rem; }
.presentation-growth-edge-layer { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
.presentation-growth-edge { fill: none; stroke: #9eb0bf; stroke-width: 1.1; opacity: .75; marker-end: url(#presentationArrow); }
.presentation-growth-summary { display: flex; gap: 7px; margin-top: 9px; }
.presentation-growth-summary span { flex: 1; padding: 7px 8px; background: #f8fafc; border: 1px solid #e6ebf0; border-radius: 10px; color: #748295; font-size: .6rem; }
.presentation-growth-summary strong { color: #40566c; font-size: .78rem; margin-right: 3px; }

.presentation-empty-state { flex: 1; display: grid; place-items: center; align-content: center; text-align: center; background: white; border: 1px solid var(--pres-border); border-radius: 20px; box-shadow: var(--pres-shadow); padding: 30px; }
.presentation-empty-icon { font-size: 2rem; }
.presentation-empty-state h2 { margin: 10px 0 5px; font-size: 1.15rem; }
.presentation-empty-state p { max-width: 560px; margin: 0 auto 14px; color: #7b8796; line-height: 1.55; font-size: .83rem; }
.presentation-primary-link { display: inline-flex; padding: 9px 14px; background: #2f6f9f; color: white; border-radius: 10px; text-decoration: none; font-weight: 700; font-size: .8rem; }

.presentation-transport {
  position: fixed; z-index: 1500; left: 0; right: 0; bottom: 0; height: 74px; box-sizing: border-box; display: grid; grid-template-columns: minmax(170px,1fr) minmax(420px,2.2fr) minmax(170px,1fr); align-items: center; gap: 16px;
  padding: 9px 22px; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-top: 1px solid #dfe6ed; box-shadow: 0 -8px 24px rgba(28,45,64,.05);
}
.presentation-transport-btn, .presentation-mini-btn, .presentation-play-btn { border: 1px solid #dce4ec; background: white; color: #42576c; font: inherit; cursor: pointer; }
.presentation-transport-btn { justify-self: start; height: 36px; border-radius: 11px; padding: 0 12px; font-size: .72rem; font-weight: 650; }
.presentation-transport-btn:last-child { justify-self: end; }
.presentation-transport-btn:hover, .presentation-mini-btn:hover { background: #f6f9fb; }
.presentation-transport-btn:disabled, .presentation-mini-btn:disabled, .presentation-play-btn:disabled { opacity: .38; cursor: default; }
.presentation-transport-center { display: grid; grid-template-columns: auto auto auto minmax(190px,1fr); align-items: center; gap: 8px; }
.presentation-mini-btn { height: 31px; min-width: 46px; border-radius: 9px; font-size: .65rem; }
.presentation-play-btn { width: 42px; height: 42px; border-radius: 50%; background: #2f6f9f; border-color: #2f6f9f; color: white; font-size: 1rem; padding-left: 5px; }
.presentation-progress-wrap { min-width: 0; }
#presentationProgress { width: 100%; accent-color: #2f6f9f; }
.presentation-progress-meta { display: flex; justify-content: space-between; margin-top: -1px; color: #8793a2; font-size: .58rem; }

body.presentation-fullscreen #toolbar { display: none; }
body.presentation-fullscreen .presentation-app { margin-top: 0; height: calc(100vh - 74px); padding-top: 14px; }
body.presentation-fullscreen .presentation-hero-bar { grid-template-columns: minmax(200px,.75fr) auto minmax(200px,.75fr); }
body.presentation-fullscreen .presentation-heading-group h1 { font-size: 1.12rem; }

@media (max-width: 1180px) {
  .presentation-workspace { grid-template-columns: 29fr 42fr 29fr; gap: 10px; }
  .presentation-column { padding: 12px; }
  .presentation-app { padding-left: 12px; padding-right: 12px; }
  .presentation-source-file { display: none; }
  .presentation-current-text { font-size: 1.18rem; }
}
@media (max-width: 900px) {
  body.presentation-page { overflow: auto; }
  .presentation-app { height: auto; min-height: calc(100vh - var(--toolbar-h)); overflow: visible; padding-bottom: 90px; }
  .presentation-workspace { grid-template-columns: 1fr; }
  .presentation-column { min-height: 420px; }
  .presentation-hero-bar { grid-template-columns: 1fr; justify-items: stretch; }
  .presentation-mode-switch { justify-self: stretch; }
  .presentation-mode-btn { flex: 1; }
  .presentation-hero-actions { justify-self: stretch; }
  .presentation-transport { grid-template-columns: auto 1fr auto; padding: 8px 10px; }
  .presentation-transport-btn span { display: none; }
  .presentation-transport-center { grid-template-columns: auto auto auto 1fr; }
}

/* ===== Presentation 0.2 — Debate reading / staged reveal ===== */
.presentation-layers-popover { width: 320px; }
.presentation-reveal-setting {
  margin-top: 9px;
  padding-top: 11px;
  border-top: 1px solid #edf0f4;
}
.presentation-reveal-setting-title {
  color: #405268;
  font-size: .76rem;
  font-weight: 720;
  margin-bottom: 7px;
}
.presentation-reveal-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 3px;
  border: 1px solid #dfe6ee;
  border-radius: 11px;
  background: #f1f5f8;
}
.presentation-reveal-btn {
  appearance: none;
  border: 0;
  border-radius: 8px;
  padding: 7px 9px;
  background: transparent;
  color: #728095;
  font: inherit;
  font-size: .72rem;
  font-weight: 680;
  cursor: pointer;
}
.presentation-reveal-btn:hover { color: #334e68; }
.presentation-reveal-btn.is-active {
  background: #fff;
  color: #274c6a;
  box-shadow: 0 2px 8px rgba(37,55,77,.09);
}
.presentation-reveal-setting-note {
  margin-top: 7px;
  color: #929cab;
  font-size: .65rem;
  line-height: 1.38;
}

.presentation-context-segment {
  cursor: pointer;
  border-radius: 11px;
  transition: opacity .15s ease, background .15s ease, color .15s ease;
}
.presentation-context-segment:hover {
  opacity: .92;
  color: #697789;
  background: #f8fafc;
}
.presentation-context-segment:empty { cursor: default; }
.presentation-context-text { display: block; }
.presentation-context-reveal {
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px solid #e7edf3;
  color: #70849a;
  animation: presentationRevealIn .28s ease both;
}
.presentation-context-reveal > span {
  display: block;
  margin-bottom: 5px;
  color: #90a0b1;
  font-size: .56rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.presentation-current-segment-card.is-entering {
  animation: presentationSegmentIn .24s ease both;
}
.presentation-current-analysis-reveal {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #e7edf2;
  animation: presentationRevealIn .34s ease both;
}
.presentation-analysis-pending {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  margin-top: 17px;
  padding: 7px 10px;
  border: 1px solid #e4e9ee;
  border-radius: 999px;
  background: #fafbfd;
  color: #8995a4;
  font-size: .68rem;
}
.presentation-analysis-pending > span {
  color: #6d91ad;
  font-size: .88rem;
}

.presentation-inline-tree {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.presentation-inline-ann {
  --pres-depth: 0;
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 27px;
  margin-left: calc(var(--pres-depth) * 20px);
}
.presentation-inline-tree-guide {
  width: 12px;
  color: #9eabb8;
  font-size: .68rem;
  flex: 0 0 12px;
}
.presentation-inline-ann:not(.is-child) .presentation-inline-tree-guide { visibility: hidden; }
.presentation-inline-ann-id {
  color: #90a0af;
  font-size: .58rem;
  font-weight: 720;
}
.presentation-inline-ann-tag {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid #d4e3ec;
  background: #edf4f8;
  color: #315675;
  font-size: .69rem;
  font-weight: 700;
}
.presentation-inline-ann-general {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid #e6decb;
  background: #f6f2e9;
  color: #75664a;
  font-size: .62rem;
  font-weight: 670;
}
.presentation-inline-ann-en {
  color: #8895a4;
  font-size: .61rem;
  font-style: italic;
}
.presentation-inline-tree--compact { gap: 3px; }
.presentation-inline-tree--compact .presentation-inline-ann { min-height: 21px; gap: 4px; margin-left: calc(var(--pres-depth) * 13px); }
.presentation-inline-tree--compact .presentation-inline-tree-guide { width: 9px; flex-basis: 9px; font-size: .56rem; }
.presentation-inline-tree--compact .presentation-inline-ann-tag { min-height: 20px; padding: 2px 7px; font-size: .58rem; }
.presentation-inline-tree--compact .presentation-inline-ann-general { min-height: 19px; padding: 2px 6px; font-size: .55rem; }
.presentation-inline-tree--compact .presentation-inline-ann-en,
.presentation-inline-tree--compact .presentation-inline-ann-id { font-size: .53rem; }

.presentation-analysis-panel.is-revealing { animation: presentationRevealIn .28s ease both; }
.presentation-analysis-waiting {
  height: 100%;
  min-height: 220px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  padding: 24px;
  color: #8794a4;
}
.presentation-analysis-waiting-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  border-radius: 50%;
  border: 1px solid #dbe5ec;
  background: #f6fafc;
  color: #5d86a3;
  font-size: 1.25rem;
}
.presentation-analysis-waiting strong {
  color: #40566b;
  font-size: .83rem;
  margin-bottom: 6px;
}
.presentation-analysis-waiting span {
  max-width: 290px;
  font-size: .69rem;
  line-height: 1.5;
}
.presentation-analysis-target {
  margin-bottom: 11px;
  padding: 10px 11px;
  border: 1px solid #dde7ef;
  border-radius: 13px;
  background: linear-gradient(135deg,#f8fbfd,#fff);
}
.presentation-analysis-target > div {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 5px;
}
.presentation-analysis-target strong { color: #3b536a; font-size: .68rem; }
.presentation-analysis-target > span:last-child {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #7c8998;
  font-size: .63rem;
  line-height: 1.4;
}
.presentation-analysis-target-label {
  display: inline-flex;
  align-items: center;
  padding: 3px 6px;
  border-radius: 999px;
  background: #eaf4f9;
  color: #4c7a98;
  font-size: .54rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.presentation-analysis-ann[data-depth="4"] { margin-left: 56px; }
.presentation-analysis-ann-general {
  display: inline-flex;
  padding: 2px 6px;
  border-radius: 999px;
  background: #f4f0e7;
  color: #75664a;
  font-size: .54rem;
  font-weight: 690;
}
.presentation-analysis-section-label {
  margin-top: 12px;
  color: #8a96a5;
  font-size: .57rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.presentation-relation-chip {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  line-height: 1.2;
}
.presentation-relation-chip small { color: #9aa5b2; font-size: .52rem; }
.presentation-relation-chip strong { color: #546a7e; font-weight: 720; }
.presentation-relation-chip b { color: #5c86a1; }

@keyframes presentationSegmentIn {
  from { opacity: .72; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes presentationRevealIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== Presentation 0.2a — Visual pass: elegant reading / semantic analysis ===== */

/* Hero: quieter, product-like title hierarchy */
.presentation-eyebrow {
  color: #91a0af;
  font-size: .58rem;
  font-weight: 760;
  letter-spacing: .15em;
}
.presentation-heading-group h1 {
  color: #24384b;
  font-size: 1rem;
  font-weight: 720;
  letter-spacing: -.015em;
}

/* The three-column composition stays intact; individual panels become calmer. */
.presentation-column {
  border-color: #e2e8ee;
  box-shadow: 0 8px 24px rgba(34, 53, 72, .045);
}
.presentation-column-kicker {
  color: #8d9aa8;
  font-size: .62rem;
  letter-spacing: .135em;
}

/* ===== Left: source + temporal orientation ===== */
.presentation-video-shell {
  border-radius: 17px;
  box-shadow: 0 9px 26px rgba(18,27,39,.14);
}
.presentation-source-context {
  padding: 14px 2px 12px;
  border-bottom-color: #eef2f5;
}
.presentation-source-speaker {
  color: #253d53;
  font-size: .98rem;
  letter-spacing: -.01em;
}
.presentation-source-role,
.presentation-source-position { color: #8491a0; }
.presentation-section-title { color: #3b5065; }
.presentation-section-subtitle { color: #98a3af; }
.presentation-local-timeline { min-height: 88px; }
.presentation-timeline-track {
  height: 8px;
  background: #f1f4f7;
}
.presentation-timeline-block {
  top: 1px;
  bottom: 1px;
  opacity: .34;
}
.presentation-timeline-block:hover { opacity: .76; }
.presentation-timeline-block.is-current {
  opacity: 1;
  transform: scaleY(1.32);
  box-shadow: 0 0 0 2px rgba(47,111,159,.13);
}
.presentation-timeline-speaker { color: #778493; }
.presentation-timeline-playhead {
  width: 2px;
  background: #397eac;
  box-shadow: none;
}
.presentation-timeline-playhead::before {
  content: "";
  position: absolute;
  left: 50%; top: -4px;
  width: 8px; height: 8px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #397eac;
  box-shadow: 0 0 0 3px rgba(57,126,172,.10);
}

/* ===== Middle: current utterance is the stage, not another dashboard card ===== */
.presentation-transcript-column {
  padding-left: 24px;
  padding-right: 24px;
}
.presentation-context-segment {
  padding: 8px 6px 10px;
  color: #9da8b4;
  opacity: .60;
  font-size: .71rem;
  line-height: 1.42;
  background: transparent;
}
.presentation-context-segment:hover {
  opacity: .82;
  background: transparent;
}
.presentation-context-segment--previous { border-bottom-color: #f0f3f6; }
.presentation-context-segment--next { border-top-color: #f0f3f6; }
.presentation-context-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  color: #9aa7b4;
  font-size: .57rem;
  font-weight: 700;
  letter-spacing: .035em;
}
.presentation-context-direction { color: #7895ac; font-size: .7rem; }
.presentation-context-speaker {
  display: inline;
  margin: 0;
  color: #8997a5;
  font-size: inherit;
  text-transform: none;
  letter-spacing: 0;
}
.presentation-context-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.presentation-context-reveal {
  margin-top: 7px;
  padding-top: 7px;
  border-top-color: #edf1f4;
}
.presentation-context-reveal > span { color: #9aa7b4; }

.presentation-current-segment-card {
  position: relative;
  flex: 1;
  min-height: 0;
  justify-content: center;
  margin: 4px 0;
  padding: 24px 22px 25px 26px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: auto;
}
.presentation-current-segment-card::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 25px;
  bottom: 25px;
  width: 3px;
  height: auto;
  margin: 0;
  border-radius: 999px;
  background: var(--pres-speaker-accent, #7ea5c2);
  opacity: .72;
}
.presentation-current-speaker {
  margin-bottom: 12px;
  color: #476078;
  font-size: .74rem;
  font-weight: 720;
  letter-spacing: .005em;
}
.presentation-speaker-dot { width: 7px; height: 7px; }
.presentation-current-text {
  max-width: 96%;
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  color: #1f2e3c;
  font-weight: 450;
  line-height: 1.42;
  letter-spacing: -.018em;
  text-wrap: pretty;
}
.presentation-current-text.is-short { font-size: clamp(1.72rem, 2.05vw, 2.2rem); line-height: 1.35; }
.presentation-current-text.is-medium { font-size: clamp(1.48rem, 1.72vw, 1.88rem); }
.presentation-current-text.is-long { font-size: clamp(1.22rem, 1.42vw, 1.54rem); line-height: 1.48; }
.presentation-current-text.is-xlong { font-size: clamp(1.06rem, 1.18vw, 1.28rem); line-height: 1.51; }
.presentation-current-translation {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid #eef2f5;
  color: #748394;
  font-size: .78rem;
  line-height: 1.48;
}
.presentation-current-translation strong {
  display: inline-flex;
  align-items: center;
  align-self: start;
  height: 20px;
  padding: 0 6px;
  border: 1px solid #dfe6ec;
  border-radius: 999px;
  background: #fbfcfd;
  color: #66798b;
  font-size: .56rem;
}
.presentation-current-analysis-reveal {
  margin-top: 20px;
  padding-top: 15px;
  border-top-color: #eaf0f4;
}
.presentation-current-analysis-label {
  margin-bottom: 8px;
  color: #99a6b3;
  font-size: .56rem;
  font-weight: 760;
  letter-spacing: .105em;
  text-transform: uppercase;
}
.presentation-analysis-pending {
  margin-top: 18px;
  background: transparent;
  border-color: #e5eaee;
  color: #8e9aa7;
}

/* Inline tags: more presentation-oriented and coloured by the project tag palette. */
.presentation-inline-tree { gap: 7px; }
.presentation-inline-ann {
  align-items: baseline;
  gap: 7px;
  min-height: 30px;
}
.presentation-inline-tree-guide { color: #aab4be; }
.presentation-inline-ann-tag {
  min-height: 29px;
  padding: 5px 11px;
  border: 1px solid color-mix(in srgb, var(--pres-tag-accent, #6b8fa9) 38%, #dce5eb);
  background: color-mix(in srgb, var(--pres-tag-accent, #6b8fa9) 14%, white);
  color: #344f66;
  font-size: .75rem;
  font-weight: 720;
}
.presentation-inline-ann-general {
  order: -1;
  border: 0;
  background: transparent;
  color: #8a7560;
  padding: 0;
  min-height: auto;
  font-size: .58rem;
  font-weight: 760;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.presentation-inline-ann-en { color: #8996a4; font-size: .63rem; }
.presentation-inline-tree--compact .presentation-inline-ann-tag {
  border-color: color-mix(in srgb, var(--pres-tag-accent, #6b8fa9) 32%, #dfe5eb);
  background: color-mix(in srgb, var(--pres-tag-accent, #6b8fa9) 11%, white);
}

/* ===== Right: semantic interpretation instead of KPI dashboard ===== */
.presentation-analysis-column { padding-left: 18px; padding-right: 18px; }
.presentation-analysis-panel {
  overflow: auto;
  padding: 1px 2px 6px;
}
.presentation-analysis-speakerline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 1px 0 13px;
  color: #65778a;
  font-size: .68rem;
  font-weight: 700;
}
.presentation-analysis-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.presentation-analysis-ann {
  --pres-depth-indent: 25px;
  position: relative;
  padding: 13px 12px 13px 15px;
  border: 0;
  border-left: 3px solid color-mix(in srgb, var(--pres-tag-accent, #6b8fa9) 58%, #637587);
  border-radius: 0 12px 12px 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--pres-tag-accent, #6b8fa9) 8%, white), rgba(255,255,255,.56) 72%);
}
/* Explicit depth fallbacks: supported everywhere, unlike attr() arithmetic. */
.presentation-analysis-ann[data-depth="0"] { margin-left: 0; }
.presentation-analysis-ann[data-depth="1"] { margin-left: 24px; }
.presentation-analysis-ann[data-depth="2"] { margin-left: 48px; }
.presentation-analysis-ann[data-depth="3"] { margin-left: 72px; }
.presentation-analysis-ann[data-depth="4"] { margin-left: 96px; }
.presentation-analysis-ann.is-child::before {
  content: "";
  position: absolute;
  left: -17px;
  top: -13px;
  width: 15px;
  height: 30px;
  border-left: 1px solid #cbd5dd;
  border-bottom: 1px solid #cbd5dd;
  border-bottom-left-radius: 8px;
}
.presentation-analysis-ann-head {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.presentation-analysis-ann-labels {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: 3px;
}
.presentation-analysis-ann-id {
  margin-top: 3px;
  color: #9aa6b2;
  font-size: .56rem;
}
.presentation-analysis-ann-tag {
  overflow: visible;
  white-space: normal;
  color: #2f485e;
  font-size: .84rem;
  font-weight: 760;
  line-height: 1.25;
}
.presentation-analysis-ann-general {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #8d7760;
  font-size: .56rem;
  font-weight: 760;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.presentation-analysis-ann-en {
  margin-top: 0;
  color: #8a97a5;
  font-size: .61rem;
  font-style: italic;
  line-height: 1.3;
}
.presentation-analysis-ann-text {
  margin: 9px 0 0;
  padding: 0;
  border: 0;
  color: #526779;
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: .82rem;
  font-style: normal;
  font-weight: 450;
  line-height: 1.45;
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.presentation-analysis-ann-text::before { content: "“"; color: #9aa9b6; }
.presentation-analysis-ann-text::after { content: "”"; color: #9aa9b6; }

.presentation-analysis-section-label {
  margin: 19px 0 8px;
  color: #909eab;
  font-size: .57rem;
  font-weight: 760;
  letter-spacing: .105em;
  text-transform: uppercase;
}
.presentation-relation-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.presentation-relation-card {
  position: relative;
  padding: 9px 10px 9px 13px;
  border: 1px solid #e6ebef;
  border-radius: 11px;
  background: rgba(250,252,253,.82);
  overflow: hidden;
}
.presentation-relation-card::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: var(--pres-rel-accent, #7f9aae);
  opacity: .68;
}
.presentation-relation-card-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px;
  color: #617487;
  font-size: .63rem;
}
.presentation-relation-card-head small { color: #9ca7b2; font-size: .52rem; }
.presentation-relation-card-head strong { color: #415b70; font-size: .67rem; }
.presentation-relation-card-head b { color: #6d8ea6; }
.presentation-relation-card-head span { color: #536c80; font-weight: 700; }
.presentation-relation-card-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 5px;
  color: #84909d;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: .64rem;
  line-height: 1.35;
}

/* Old dashboard-only pieces are intentionally suppressed in Reading mode. */
.presentation-analysis-overview,
.presentation-analysis-target,
.presentation-relation-chips,
.presentation-macro-placeholder { display: none !important; }

/* Keep whitespace: a short analysis should not be stretched to look busy. */
.presentation-analysis-empty { min-height: 180px; height: auto; }

@media (max-width: 1180px) {
  .presentation-current-text.is-short { font-size: 1.62rem; }
  .presentation-current-text.is-medium { font-size: 1.38rem; }
  .presentation-current-text.is-long { font-size: 1.17rem; }
  .presentation-current-text.is-xlong { font-size: 1.02rem; }
  .presentation-analysis-ann[data-depth="4"] { margin-left: 72px; }
}

/* ===== Presentation 0.2b — Themes + bilingual polish ===== */
.presentation-inline-switch {
  display: inline-flex;
  align-items: center;
  padding: 3px;
  border-radius: 12px;
  background: #eef2f6;
  border: 1px solid #dbe3ec;
}
.presentation-inline-switch-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: #6a788c;
  font: inherit;
  font-size: .76rem;
  font-weight: 680;
  padding: 8px 12px;
  border-radius: 9px;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.presentation-inline-switch-btn.is-active {
  background: #fff;
  color: #1f3f5e;
  box-shadow: 0 2px 8px rgba(37,55,77,.09);
}
.presentation-theme-popover {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  right: 128px;
  width: 240px;
  padding: 14px;
  background: white;
  border: 1px solid #dce5ef;
  border-radius: 15px;
  box-shadow: 0 18px 44px rgba(28,45,67,.16);
}
.presentation-theme-options {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}
.presentation-theme-option {
  appearance: none;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 1px solid #dbe3ec;
  border-radius: 12px;
  background: #fff;
  color: #405268;
  padding: 9px 10px;
  font: inherit;
  font-size: .79rem;
  font-weight: 650;
  cursor: pointer;
}
.presentation-theme-option.is-active {
  border-color: #bdd1e2;
  background: #f6fafc;
  color: #234561;
  box-shadow: inset 0 0 0 1px rgba(47,111,159,.08);
}
.presentation-theme-swatch {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.08);
  flex: 0 0 auto;
}
.presentation-theme-swatch--light { background: linear-gradient(135deg, #ffffff, #eef3f8); }
.presentation-theme-swatch--paper { background: linear-gradient(135deg, #F4E9D8, #EFE2CC 65%, #D98C5F 180%); }
.presentation-theme-swatch--board { background: linear-gradient(135deg, #2F5D62, #284F53 70%, #D98C5F 150%); }
.presentation-theme-swatch--blueprint { background: linear-gradient(135deg, #014a6c 0 68%, #e7a217 68% 82%, #c8c1b6 82%); }

.presentation-en-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: #edf4fb;
  border: 1px solid #d3e3f2;
  color: #376387;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.presentation-current-translation,
.presentation-analysis-ann-translation,
.presentation-analysis-segment-translation {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 10px;
  color: #5a6e84;
  font-size: .78rem;
  line-height: 1.45;
}
.presentation-current-translation {
  border-top: 1px solid #e8edf3;
  padding-top: 10px;
}
.presentation-analysis-segment-card {
  margin-bottom: 14px;
  padding: 12px 13px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,252,.98));
  border: 1px solid #e2e9f0;
}
.presentation-analysis-segment-kicker {
  color: #8190a1;
  font-size: .60rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.presentation-analysis-segment-text {
  color: #334a61;
  font-size: .84rem;
  line-height: 1.55;
}
.presentation-analysis-ann-labels {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.presentation-analysis-ann-en,
.presentation-inline-ann-en {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #5e748b;
  font-size: .68rem;
  font-weight: 650;
}
.presentation-inline-ann-en { margin-left: 2px; }
.presentation-analysis-ann-text {
  color: #51667c;
  font-size: .74rem;
  line-height: 1.48;
  margin-top: 7px;
}
.presentation-analysis-ann-translation {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #e3e8ee;
}
.presentation-inline-ann-tag,
.presentation-analysis-ann-tag {
  color: #274158;
  font-weight: 760;
}
.presentation-inline-ann-general,
.presentation-analysis-ann-general {
  color: #8a7c60;
  font-size: .62rem;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.presentation-analysis-speakerline {
  margin-bottom: 10px;
}
.presentation-current-analysis-reveal {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #e8edf3;
}
.presentation-current-analysis-label {
  margin-bottom: 8px;
  color: #7f90a2;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.presentation-page[data-presentation-theme="paper"] {
  --pres-bg: #F4E9D8;
  --pres-panel: rgba(250,244,234,.95);
  --pres-border: rgba(30,47,47,.14);
  --pres-text: #1E2F2F;
  --pres-muted: #4A6A6A;
  --pres-soft: #F8EFE2;
  --pres-accent: #2F5D62;
  --pres-accent-soft: #EDE3D4;
  --pres-ink: #1E2F2F;
  --pres-shadow: 0 16px 44px rgba(30,47,47,.08);
  background-image:
    radial-gradient(1000px 600px at 68% 10%, rgba(217,140,95,.10), transparent 62%),
    radial-gradient(760px 460px at 18% 0%, rgba(47,93,98,.10), transparent 60%),
    repeating-linear-gradient(0deg, transparent 0 10px, rgba(0,0,0,.012) 10px 11px),
    repeating-linear-gradient(90deg, transparent 0 12px, rgba(0,0,0,.010) 12px 13px);
}
body.presentation-page[data-presentation-theme="paper"] .presentation-hero-bar,
body.presentation-page[data-presentation-theme="paper"] .presentation-column,
body.presentation-page[data-presentation-theme="paper"] .presentation-empty-state,
body.presentation-page[data-presentation-theme="paper"] .presentation-transport,
body.presentation-page[data-presentation-theme="paper"] .presentation-theme-popover,
body.presentation-page[data-presentation-theme="paper"] .presentation-layers-popover {
  background: rgba(250,244,234,.96);
  border-color: rgba(30,47,47,.15);
}
body.presentation-page[data-presentation-theme="paper"] .presentation-mode-switch,
body.presentation-page[data-presentation-theme="paper"] .presentation-inline-switch {
  background: #eee2cf;
  border-color: rgba(30,47,47,.12);
}
body.presentation-page[data-presentation-theme="paper"] .presentation-mode-btn.is-active,
body.presentation-page[data-presentation-theme="paper"] .presentation-inline-switch-btn.is-active,
body.presentation-page[data-presentation-theme="paper"] .presentation-control-btn,
body.presentation-page[data-presentation-theme="paper"] .presentation-theme-option,
body.presentation-page[data-presentation-theme="paper"] .presentation-transport-btn,
body.presentation-page[data-presentation-theme="paper"] .presentation-mini-btn {
  background: #fffaf2;
  border-color: rgba(30,47,47,.14);
  color: #29494d;
}
body.presentation-page[data-presentation-theme="paper"] .presentation-play-btn,
body.presentation-page[data-presentation-theme="paper"] .presentation-primary-link {
  background: #2F5D62;
  border-color: #2F5D62;
}
body.presentation-page[data-presentation-theme="paper"] .presentation-analysis-segment-card,
body.presentation-page[data-presentation-theme="paper"] .presentation-analysis-ann,
body.presentation-page[data-presentation-theme="paper"] .presentation-relation-card,
body.presentation-page[data-presentation-theme="paper"] .presentation-growth-node {
  background: rgba(255,250,242,.98);
  border-color: rgba(30,47,47,.14);
}
body.presentation-page[data-presentation-theme="paper"] .presentation-en-badge {
  background: #f2e9da;
  border-color: rgba(47,93,98,.15);
  color: #2F5D62;
}

body.presentation-page[data-presentation-theme="board"] {
  --pres-bg: #25484c;
  --pres-panel: rgba(47,93,98,.88);
  --pres-border: rgba(255,255,255,.16);
  --pres-text: rgba(255,255,255,.92);
  --pres-muted: rgba(255,255,255,.72);
  --pres-soft: rgba(255,255,255,.06);
  --pres-accent: #D98C5F;
  --pres-accent-soft: rgba(217,140,95,.16);
  --pres-ink: #ffffff;
  --pres-shadow: 0 18px 50px rgba(0,0,0,.18);
  background-image:
    radial-gradient(900px 540px at 10% 0%, rgba(255,255,255,.04), transparent 62%),
    radial-gradient(960px 580px at 92% 10%, rgba(217,140,95,.10), transparent 60%),
    repeating-linear-gradient(0deg, transparent 0 26px, rgba(255,255,255,.018) 26px 27px);
}
body.presentation-page[data-presentation-theme="board"] .presentation-source-file,
body.presentation-page[data-presentation-theme="board"] .presentation-status-pill,
body.presentation-page[data-presentation-theme="board"] .presentation-time-badge,
body.presentation-page[data-presentation-theme="board"] .presentation-control-btn,
body.presentation-page[data-presentation-theme="board"] .presentation-theme-popover,
body.presentation-page[data-presentation-theme="board"] .presentation-layers-popover,
body.presentation-page[data-presentation-theme="board"] .presentation-theme-option,
body.presentation-page[data-presentation-theme="board"] .presentation-transport-btn,
body.presentation-page[data-presentation-theme="board"] .presentation-mini-btn,
body.presentation-page[data-presentation-theme="board"] .presentation-inline-switch-btn.is-active,
body.presentation-page[data-presentation-theme="board"] .presentation-mode-btn.is-active {
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.16);
}
body.presentation-page[data-presentation-theme="board"] .presentation-hero-bar,
body.presentation-page[data-presentation-theme="board"] .presentation-column,
body.presentation-page[data-presentation-theme="board"] .presentation-empty-state,
body.presentation-page[data-presentation-theme="board"] .presentation-transport {
  background: rgba(47,93,98,.86);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 18px 44px rgba(0,0,0,.16);
}
body.presentation-page[data-presentation-theme="board"] .presentation-mode-switch,
body.presentation-page[data-presentation-theme="board"] .presentation-inline-switch,
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-switch,
body.presentation-page[data-presentation-theme="board"] .presentation-timeline-track,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-canvas,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-segment-card,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann,
body.presentation-page[data-presentation-theme="board"] .presentation-relation-card,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-node {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.13);
}
body.presentation-page[data-presentation-theme="board"] .presentation-current-text,
body.presentation-page[data-presentation-theme="board"] .presentation-source-speaker,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-tag,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-segment-text,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-node-tag,
body.presentation-page[data-presentation-theme="board"] .presentation-heading-group h1,
body.presentation-page[data-presentation-theme="board"] .presentation-theme-option.is-active,
body.presentation-page[data-presentation-theme="board"] .presentation-column-kicker,
body.presentation-page[data-presentation-theme="board"] .presentation-section-title,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-section-label,
body.presentation-page[data-presentation-theme="board"] .presentation-current-speaker,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-speakerline,
body.presentation-page[data-presentation-theme="board"] .presentation-popover-title,
body.presentation-page[data-presentation-theme="board"] .presentation-layers-popover label,
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-setting-title {
  color: rgba(255,255,255,.92);
}
body.presentation-page[data-presentation-theme="board"] .presentation-eyebrow,
body.presentation-page[data-presentation-theme="board"] .presentation-source-role,
body.presentation-page[data-presentation-theme="board"] .presentation-section-subtitle,
body.presentation-page[data-presentation-theme="board"] .presentation-context-segment,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-text,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-en,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-translation,
body.presentation-page[data-presentation-theme="board"] .presentation-current-translation,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-segment-translation,
body.presentation-page[data-presentation-theme="board"] .presentation-timeline-speaker,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-node-meta,
body.presentation-page[data-presentation-theme="board"] .presentation-progress-meta,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-segment-kicker,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-general,
body.presentation-page[data-presentation-theme="board"] .presentation-inline-ann-general,
body.presentation-page[data-presentation-theme="board"] .presentation-inline-ann-en,
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-setting-note,
body.presentation-page[data-presentation-theme="board"] .presentation-video-message {
  color: rgba(255,255,255,.72);
}
body.presentation-page[data-presentation-theme="board"] .presentation-current-analysis-reveal,
body.presentation-page[data-presentation-theme="board"] .presentation-source-context,
body.presentation-page[data-presentation-theme="board"] .presentation-context-segment--previous,
body.presentation-page[data-presentation-theme="board"] .presentation-context-segment--next,
body.presentation-page[data-presentation-theme="board"] .presentation-current-translation,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-translation,
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-setting {
  border-color: rgba(255,255,255,.10);
}
body.presentation-page[data-presentation-theme="board"] .presentation-play-btn,
body.presentation-page[data-presentation-theme="board"] .presentation-primary-link {
  background: #D98C5F;
  border-color: #D98C5F;
  color: #173437;
}
body.presentation-page[data-presentation-theme="board"] .presentation-en-badge {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  color: rgba(255,255,255,.92);
}
body.presentation-page[data-presentation-theme="board"] #presentationProgress {
  accent-color: #D98C5F;
}

@media (max-width: 1180px) {
  .presentation-hero-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}
@media (max-width: 900px) {
  .presentation-theme-popover,
  .presentation-layers-popover {
    right: 0;
    width: min(320px, calc(100vw - 24px));
  }
  .presentation-inline-switch {
    width: 100%;
  }
  .presentation-inline-switch-btn {
    flex: 1;
  }
}

/* ===== Presentation 0.2c — annotation fidelity + focus interactions ===== */

/* Header simplification */
.presentation-heading-group {
  display: flex;
  align-items: center;
}
.presentation-heading-group h1 {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 760;
  letter-spacing: -.018em;
}

/* Previous / next are explicitly labelled as context, not mistaken for the active turn. */
.presentation-context-label {
  margin-bottom: 5px;
  color: #91a0af;
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.presentation-context-segment--next .presentation-context-label { text-align: left; }
.presentation-context-meta { margin-bottom: 3px; }

/* Presentation tags now reproduce the Annotation visual language:
   project colour, rectangular 4px shape, no synthetic colour mixing. */
.presentation-inline-ann {
  align-items: center;
  gap: 8px;
}
.presentation-inline-ann-tag,
.presentation-analysis-ann-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 0;
  padding: .48em .62em;
  border: 0;
  border-radius: 4px;
  background: var(--pres-tag-color, #eeeeee);
  color: #20364d;
  line-height: 1.18;
  box-shadow: none;
}
.presentation-inline-ann-tag {
  font-size: .80rem;
  font-weight: 720;
}
.presentation-analysis-ann-tag {
  font-size: .98rem;
  font-weight: 760;
  white-space: normal;
  overflow: visible;
}
.presentation-inline-tree--compact .presentation-inline-ann-tag {
  min-height: 0;
  padding: .42em .56em;
  border: 0;
  border-radius: 4px;
  background: var(--pres-tag-color, #eeeeee);
  font-size: .70rem;
}
.presentation-tag-level-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-right: 5px;
  padding: 0 5px;
  border-radius: 999px;
  border: 1px solid currentColor;
  font-size: .54rem;
  font-weight: 800;
  line-height: 1;
  opacity: .72;
}
.presentation-inline-ann-general,
.presentation-analysis-ann-general {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: #74624a;
  font-size: .64rem;
  font-weight: 740;
  letter-spacing: .02em;
  text-transform: none;
}

/* English tag labels must read as real information, not faint metadata. */
.presentation-inline-ann-en {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #526b82;
  font-size: .74rem;
  font-weight: 650;
  font-style: normal;
  line-height: 1.25;
}
.presentation-analysis-ann-en {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #526b82;
  font-size: .80rem;
  font-weight: 650;
  font-style: normal;
  line-height: 1.28;
}
.presentation-en-badge {
  flex: 0 0 auto;
}

/* Right column: the annotation itself is primary. No repeated segment card / KPI layer. */
.presentation-analysis-panel {
  padding-top: 3px;
}
.presentation-analysis-list {
  gap: 14px;
}
.presentation-analysis-ann {
  --pres-depth-indent: 25px;
  position: relative;
  padding: 10px 10px 12px 13px;
  border: 0;
  border-left: 2px solid color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 55%, #8b98a6);
  border-radius: 0 10px 10px 0;
  background: transparent;
  cursor: pointer;
  transition: background .12s ease, box-shadow .12s ease, transform .10s ease;
}
.presentation-analysis-ann:hover,
.presentation-analysis-ann.is-ann-hovered {
  background: rgba(244, 248, 251, .82);
}
.presentation-analysis-ann.is-ann-focused {
  background: rgba(235, 244, 252, .90);
  box-shadow: inset 0 -2px 0 rgba(47,111,159,.34);
}
.presentation-analysis-ann:focus-visible {
  outline: 2px solid rgba(47,111,159,.34);
  outline-offset: 2px;
}
.presentation-analysis-ann-head {
  align-items: flex-start;
}
.presentation-analysis-ann-labels {
  gap: 7px;
}
.presentation-analysis-ann-text {
  margin: 10px 0 0;
  color: #40576d;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: .91rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.52;
  display: block;
  overflow: visible;
}
.presentation-analysis-ann-text::before,
.presentation-analysis-ann-text::after {
  content: none !important;
}
.presentation-analysis-ann-translation {
  margin-top: 9px;
  padding-top: 8px;
  color: #5d7185;
  font-size: .78rem;
  line-height: 1.47;
}
.presentation-analysis-segment-card,
.presentation-analysis-speakerline {
  display: none !important;
}
.presentation-analysis-section-label {
  margin-top: 22px;
}
.presentation-relation-card-text {
  font-size: .70rem;
  line-height: 1.42;
}

/* Annotation span highlighting in the central utterance. Hover mirrors Annotation UX 1;
   click persists a quieter focus underline until toggled or Escape is pressed. */
.presentation-annotation-span {
  border-radius: 3px;
  transition: background-color .10s ease, box-shadow .10s ease;
}
.presentation-annotation-span.is-ann-hovered {
  background: rgba(250, 204, 21, .30);
  box-shadow: 0 0 0 2px rgba(245, 158, 11, .08);
}
.presentation-annotation-span.is-ann-focused {
  background: rgba(96, 165, 250, .18);
  box-shadow: inset 0 -2px 0 rgba(37, 99, 235, .42);
}
.presentation-annotation-span.is-ann-hovered.is-ann-focused {
  background: rgba(250, 204, 21, .25);
  box-shadow: inset 0 -2px 0 rgba(37, 99, 235, .46);
}

/* Current bilingual segment is intentionally more legible. */
.presentation-current-translation {
  color: #536d83;
  font-size: .88rem;
  line-height: 1.52;
}

/* Board theme: opaque popovers and high-contrast controls. */
body.presentation-page[data-presentation-theme="board"] .presentation-layers-popover,
body.presentation-page[data-presentation-theme="board"] .presentation-theme-popover {
  background: #356467 !important;
  color: #fff;
  border-color: rgba(255,255,255,.25);
  box-shadow: 0 20px 50px rgba(10,28,30,.38);
  backdrop-filter: none;
}
body.presentation-page[data-presentation-theme="board"] .presentation-layers-popover label,
body.presentation-page[data-presentation-theme="board"] .presentation-popover-title,
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-setting-title {
  color: rgba(255,255,255,.96) !important;
}
body.presentation-page[data-presentation-theme="board"] .presentation-layers-popover label {
  padding: 8px 4px;
}
body.presentation-page[data-presentation-theme="board"] .presentation-layers-popover input {
  accent-color: #D98C5F;
}
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-setting {
  border-top-color: rgba(255,255,255,.18);
}
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-switch {
  background: #294f52;
  border-color: rgba(255,255,255,.18);
}
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-btn {
  color: rgba(255,255,255,.76);
}
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-btn.is-active {
  background: #fff8ef;
  color: #254b4f;
  box-shadow: 0 3px 10px rgba(0,0,0,.20);
}
body.presentation-page[data-presentation-theme="board"] .presentation-reveal-setting-note {
  color: rgba(255,255,255,.76) !important;
}
body.presentation-page[data-presentation-theme="board"] .presentation-theme-option {
  background: #2c5659 !important;
  color: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.18) !important;
}
body.presentation-page[data-presentation-theme="board"] .presentation-theme-option.is-active {
  background: #47787b !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann:hover,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann.is-ann-hovered {
  background: rgba(255,255,255,.055);
}
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann.is-ann-focused {
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 -2px 0 rgba(224,185,115,.70);
}
body.presentation-page[data-presentation-theme="board"] .presentation-inline-ann-tag,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-tag {
  color: #1d3436;
}
body.presentation-page[data-presentation-theme="board"] .presentation-inline-ann-en,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-en,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-translation,
body.presentation-page[data-presentation-theme="board"] .presentation-current-translation,
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann-text {
  color: rgba(255,255,255,.88) !important;
}
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-section-label,
body.presentation-page[data-presentation-theme="board"] .presentation-relation-card-head,
body.presentation-page[data-presentation-theme="board"] .presentation-relation-card-head strong,
body.presentation-page[data-presentation-theme="board"] .presentation-relation-card-head span,
body.presentation-page[data-presentation-theme="board"] .presentation-relation-card-text {
  color: rgba(255,255,255,.84) !important;
}
body.presentation-page[data-presentation-theme="board"] .presentation-relation-card {
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.15);
}
body.presentation-page[data-presentation-theme="board"] .presentation-context-label {
  color: rgba(255,255,255,.52);
}
body.presentation-page[data-presentation-theme="board"] .presentation-annotation-span.is-ann-hovered {
  background: rgba(224,185,115,.28);
}
body.presentation-page[data-presentation-theme="board"] .presentation-annotation-span.is-ann-focused {
  background: rgba(217,140,95,.15);
  box-shadow: inset 0 -2px 0 rgba(224,185,115,.80);
}

@media (max-width: 1250px) {
  .presentation-analysis-ann-tag { font-size: .90rem; }
  .presentation-analysis-ann-text { font-size: .84rem; }
  .presentation-inline-ann-tag { font-size: .74rem; }
  .presentation-inline-ann-en { font-size: .69rem; }
}

/* ===== Presentation 0.2d — bilingual transcript + cross-column focus ===== */

/* Center column now has one job: source wording in PL + EN. Analysis lives on the right. */
.presentation-current-segment-card {
  justify-content: center;
}
.presentation-current-translation {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 10px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e3e9ef;
  color: #435f78;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1.03rem;
  line-height: 1.58;
  font-weight: 500;
}
.presentation-current-translation-text { min-width: 0; }

.presentation-context-translation {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 7px;
  margin-top: 5px;
  color: #8493a2;
  font-size: .66rem;
  line-height: 1.42;
}
.presentation-context-translation .presentation-en-badge {
  transform: scale(.88);
  transform-origin: left top;
}

/* There are intentionally no tag chips below the active transcript in reading mode. */
.presentation-current-analysis-reveal,
.presentation-analysis-pending,
.presentation-no-annotations {
  display: none !important;
}

/* Both Polish and English text spans participate in the same annotation focus. */
.presentation-annotation-span {
  cursor: pointer;
}
.presentation-annotation-span:hover:not(.is-ann-hovered):not(.is-ann-focused) {
  box-shadow: inset 0 -1px 0 rgba(91,117,140,.38);
}
.presentation-annotation-span--en.is-ann-hovered {
  background: rgba(250, 204, 21, .24);
}
.presentation-annotation-span--en.is-ann-focused {
  background: rgba(96, 165, 250, .14);
  box-shadow: inset 0 -2px 0 rgba(37, 99, 235, .36);
}

/* A hovered span in the transcript also makes its analysis card readable as the target. */
.presentation-analysis-ann.is-ann-hovered {
  transform: translateX(2px);
}
.presentation-analysis-ann.is-ann-focused {
  transform: translateX(2px);
}

body.presentation-page[data-presentation-theme="paper"] .presentation-current-translation {
  border-top-color: rgba(30,47,47,.13);
  color: #3f5e5e;
}
body.presentation-page[data-presentation-theme="paper"] .presentation-context-translation {
  color: #6b7f7d;
}
body.presentation-page[data-presentation-theme="paper"] .presentation-annotation-span:hover:not(.is-ann-hovered):not(.is-ann-focused) {
  box-shadow: inset 0 -1px 0 rgba(47,93,98,.42);
}

body.presentation-page[data-presentation-theme="board"] .presentation-current-translation {
  border-top-color: rgba(255,255,255,.13);
  color: rgba(255,255,255,.88) !important;
}
body.presentation-page[data-presentation-theme="board"] .presentation-context-translation {
  color: rgba(255,255,255,.56);
}
body.presentation-page[data-presentation-theme="board"] .presentation-annotation-span:hover:not(.is-ann-hovered):not(.is-ann-focused) {
  box-shadow: inset 0 -1px 0 rgba(224,185,115,.50);
}
body.presentation-page[data-presentation-theme="board"] .presentation-annotation-span--en.is-ann-hovered {
  background: rgba(224,185,115,.24);
}
body.presentation-page[data-presentation-theme="board"] .presentation-annotation-span--en.is-ann-focused {
  background: rgba(217,140,95,.13);
  box-shadow: inset 0 -2px 0 rgba(224,185,115,.72);
}

@media (max-width: 1250px) {
  .presentation-current-translation { font-size: .94rem; }
  .presentation-context-translation { font-size: .62rem; }
}

/* ===== Presentation 0.2e — English segment lookup + stronger cross-column focus ===== */
/* Hover/focus should read as a semantic selection, not as a moving card. */
.presentation-analysis-ann.is-ann-hovered,
.presentation-analysis-ann.is-ann-focused {
  transform: none !important;
}
.presentation-analysis-ann.is-ann-hovered {
  background: color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 10%, transparent) !important;
  box-shadow:
    inset 4px 0 0 color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 72%, transparent),
    0 0 0 1px color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 28%, transparent),
    0 8px 18px rgba(31,50,74,.07);
}
.presentation-analysis-ann.is-ann-focused {
  background: color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 14%, transparent) !important;
  box-shadow:
    inset 4px 0 0 var(--pres-tag-color, #8fa1b3),
    0 0 0 2px color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 32%, transparent),
    0 10px 22px rgba(31,50,74,.09);
}
.presentation-analysis-ann.is-ann-hovered .presentation-analysis-ann-tag,
.presentation-analysis-ann.is-ann-focused .presentation-analysis-ann-tag {
  filter: saturate(1.05) brightness(.98);
}

body.presentation-page[data-presentation-theme="paper"] .presentation-analysis-ann.is-ann-hovered {
  background: color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 10%, #fffaf2) !important;
}
body.presentation-page[data-presentation-theme="paper"] .presentation-analysis-ann.is-ann-focused {
  background: color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 15%, #fffaf2) !important;
}
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann.is-ann-hovered {
  background: color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 17%, rgba(255,255,255,.04)) !important;
  box-shadow:
    inset 4px 0 0 color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 80%, white 8%),
    0 0 0 1px color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 42%, transparent),
    0 10px 24px rgba(0,0,0,.14);
}
body.presentation-page[data-presentation-theme="board"] .presentation-analysis-ann.is-ann-focused {
  background: color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 22%, rgba(255,255,255,.05)) !important;
  box-shadow:
    inset 4px 0 0 color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 88%, white 10%),
    0 0 0 2px color-mix(in srgb, var(--pres-tag-color, #8fa1b3) 50%, transparent),
    0 12px 28px rgba(0,0,0,.18);
}

/* Make the English segment a genuine second text layer once available. */
.presentation-current-translation {
  margin-top: 20px;
  padding-top: 17px;
}
.presentation-current-translation-text {
  font-size: 1.06rem;
  line-height: 1.62;
}
body.presentation-page[data-presentation-theme="board"] .presentation-current-translation-text {
  color: rgba(255,255,255,.91);
}

/* ===== Presentation 0.3 — Structure Lens ===== */
.presentation-growth-shell {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.presentation-growth-tabs {
  position: sticky;
  top: 0;
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--pres-border);
  border-radius: 13px;
  background: color-mix(in srgb, var(--pres-panel) 94%, transparent);
  backdrop-filter: blur(12px);
}
.presentation-growth-tab {
  appearance: none;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--pres-muted);
  padding: 8px 7px;
  font: inherit;
  font-size: .7rem;
  font-weight: 720;
  cursor: pointer;
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.presentation-growth-tab:hover { color: var(--pres-ink); }
.presentation-growth-tab.is-active {
  background: rgba(255,255,255,.9);
  color: var(--pres-ink);
  box-shadow: 0 2px 8px rgba(26,43,61,.08);
}
.presentation-growth-lens-body { min-height: 0; }

.presentation-structure-filterbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}
.presentation-structure-active-relations {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}
.presentation-structure-active-relation {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px 4px 15px;
  border: 1px solid var(--pres-border);
  border-radius: 999px;
  background: rgba(255,255,255,.7);
  color: var(--pres-ink);
  font-size: .61rem;
  font-weight: 720;
}
.presentation-structure-active-relation::before {
  content: "";
  position: absolute;
  left: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--pres-relation-color, #7c8da0);
}
.presentation-structure-active-relation.is-empty { padding-left: 8px; color: var(--pres-muted); font-weight: 620; }
.presentation-structure-active-relation.is-empty::before { display: none; }
.presentation-structure-relations-btn {
  flex: 0 0 auto;
  border: 1px solid var(--pres-border);
  border-radius: 9px;
  background: rgba(255,255,255,.74);
  color: var(--pres-ink);
  padding: 6px 8px;
  font: inherit;
  font-size: .63rem;
  font-weight: 720;
  cursor: pointer;
}
.presentation-structure-relations-btn.is-active { box-shadow: inset 0 0 0 1px var(--pres-accent); }
.presentation-structure-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 10px;
}
.presentation-structure-preset {
  appearance: none;
  border: 1px solid var(--pres-border);
  border-radius: 999px;
  background: transparent;
  color: var(--pres-muted);
  padding: 4px 8px;
  font: inherit;
  font-size: .58rem;
  font-weight: 690;
  cursor: pointer;
}
.presentation-structure-preset:hover:not(:disabled) { color: var(--pres-ink); border-color: color-mix(in srgb, var(--pres-accent) 40%, var(--pres-border)); }
.presentation-structure-preset.is-active { background: var(--pres-accent-soft); color: var(--pres-ink); border-color: color-mix(in srgb, var(--pres-accent) 42%, var(--pres-border)); }
.presentation-structure-preset:disabled { opacity: .35; cursor: default; }
.presentation-structure-relation-panel {
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid var(--pres-border);
  border-radius: 12px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 8px 24px rgba(24,43,62,.08);
}
.presentation-structure-relation-panel-title {
  margin-bottom: 7px;
  color: var(--pres-ink);
  font-size: .67rem;
  font-weight: 760;
}
.presentation-structure-relation-options { display: grid; gap: 3px; }
.presentation-structure-relation-option {
  display: grid;
  grid-template-columns: auto auto minmax(0,1fr) auto;
  align-items: center;
  gap: 7px;
  min-height: 29px;
  padding: 4px 5px;
  border-radius: 7px;
  color: var(--pres-ink);
  font-size: .65rem;
  cursor: pointer;
}
.presentation-structure-relation-option:hover { background: var(--pres-soft); }
.presentation-structure-relation-option input { accent-color: var(--pres-accent); }
.presentation-structure-relation-option small { color: var(--pres-muted); font-size: .56rem; }
.presentation-structure-relation-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--pres-relation-color, #7c8da0); }

.presentation-structure-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin: 5px 1px 9px;
}
.presentation-structure-heading strong { display: block; color: var(--pres-ink); font-size: .75rem; }
.presentation-structure-heading span:not(.presentation-structure-current-segment) { display: block; margin-top: 2px; color: var(--pres-muted); font-size: .61rem; line-height: 1.4; }
.presentation-structure-current-segment {
  display: inline-flex;
  border: 1px solid var(--pres-border);
  border-radius: 999px;
  padding: 4px 7px;
  color: var(--pres-muted);
  font-size: .58rem;
  font-weight: 730;
}
.presentation-structure-components { display: grid; gap: 14px; }
.presentation-structure-component-title {
  margin: 0 0 6px 63px;
  color: var(--pres-muted);
  font-size: .58rem;
  font-weight: 760;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.presentation-structure-map {
  position: relative;
  min-height: 80px;
  padding: 2px 0 2px 64px;
}
.presentation-structure-edge-svg,
.presentation-structure-edge-label-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: visible;
  pointer-events: none;
}
.presentation-structure-edge-label-layer { z-index: 3; }
.presentation-structure-edge-path {
  stroke-width: 1.5;
  opacity: .78;
  vector-effect: non-scaling-stroke;
}
.presentation-structure-edge-label {
  position: absolute;
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 2px 5px;
  border: 1px solid color-mix(in srgb, var(--pres-relation-color) 28%, var(--pres-border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--pres-panel) 90%, transparent);
  color: var(--pres-relation-color);
  font-size: .51rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 2px 7px rgba(25,41,58,.06);
}
.presentation-structure-node-list {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 9px;
}
.presentation-structure-node {
  appearance: none;
  width: 100%;
  border: 1px solid var(--pres-border);
  border-left: 3px solid color-mix(in srgb, var(--pres-node-tag-color) 82%, transparent);
  border-radius: 12px;
  background: rgba(255,255,255,.78);
  color: var(--pres-ink);
  padding: 9px 10px;
  text-align: left;
  font: inherit;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(27,45,63,.045);
  transition: border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
.presentation-structure-node:hover {
  border-color: color-mix(in srgb, var(--pres-node-tag-color) 45%, var(--pres-border));
  box-shadow: 0 7px 18px rgba(24,44,64,.09);
}
.presentation-structure-node.is-current {
  background: color-mix(in srgb, var(--pres-node-tag-color) 9%, rgba(255,255,255,.92));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--pres-node-tag-color) 18%, transparent), 0 7px 19px rgba(24,44,64,.08);
}
.presentation-structure-node-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin-bottom: 6px;
  color: var(--pres-muted);
  font-size: .54rem;
  font-weight: 680;
}
.presentation-structure-node-tagrow { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.presentation-structure-node-tag {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 7px;
  border-radius: 4px;
  background: var(--pres-node-tag-color, #dfe7ef);
  color: #17313c;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.12;
}
.presentation-structure-node-tag-en { display: inline-flex; align-items: center; gap: 5px; color: var(--pres-muted); font-size: .59rem; font-weight: 670; }
.presentation-structure-node-text { margin-top: 7px; color: var(--pres-ink); font-size: .67rem; line-height: 1.45; }
.presentation-structure-node-text-en { display: flex; align-items: flex-start; gap: 6px; margin-top: 7px; padding-top: 6px; border-top: 1px dashed var(--pres-border); color: var(--pres-muted); font-size: .6rem; line-height: 1.42; }
.presentation-structure-node-jump {
  display: block;
  margin-top: 7px;
  color: var(--pres-accent);
  font-size: .53rem;
  font-weight: 720;
  opacity: .72;
}
.presentation-structure-node:hover .presentation-structure-node-jump { opacity: 1; }

.presentation-structure-empty,
.presentation-growth-info-empty {
  display: grid;
  justify-items: center;
  align-content: center;
  min-height: 260px;
  padding: 26px 18px;
  border: 1px dashed var(--pres-border);
  border-radius: 14px;
  color: var(--pres-muted);
  text-align: center;
}
.presentation-structure-empty-icon,
.presentation-growth-info-icon { margin-bottom: 9px; color: var(--pres-accent); font-size: 1.35rem; }
.presentation-structure-empty strong,
.presentation-growth-info-empty strong { color: var(--pres-ink); font-size: .76rem; }
.presentation-structure-empty span,
.presentation-growth-info-empty span { max-width: 340px; margin-top: 5px; font-size: .64rem; line-height: 1.5; }
.presentation-structure-empty-note { color: var(--pres-muted); font-size: .62rem; }

.presentation-growth-info-list { display: grid; gap: 9px; }
.presentation-growth-info-card,
.presentation-growth-comment-card {
  position: relative;
  padding: 11px 12px;
  border: 1px solid var(--pres-border);
  border-radius: 12px;
  background: rgba(255,255,255,.76);
}
.presentation-growth-info-label { color: var(--pres-muted); font-size: .57rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.presentation-growth-info-value { margin-top: 5px; color: var(--pres-ink); font-size: .78rem; font-weight: 720; line-height: 1.45; }
.presentation-growth-comment-text { margin-top: 6px; color: var(--pres-ink); font-size: .7rem; line-height: 1.55; white-space: pre-wrap; }
.presentation-growth-info-source { margin-top: 7px; color: var(--pres-muted); font-size: .54rem; font-weight: 680; }

body.presentation-page[data-presentation-theme="paper"] .presentation-growth-tab.is-active,
body.presentation-page[data-presentation-theme="paper"] .presentation-structure-active-relation,
body.presentation-page[data-presentation-theme="paper"] .presentation-structure-relations-btn,
body.presentation-page[data-presentation-theme="paper"] .presentation-structure-relation-panel,
body.presentation-page[data-presentation-theme="paper"] .presentation-structure-node,
body.presentation-page[data-presentation-theme="paper"] .presentation-growth-info-card,
body.presentation-page[data-presentation-theme="paper"] .presentation-growth-comment-card {
  background: rgba(255,250,242,.94);
}
body.presentation-page[data-presentation-theme="board"] .presentation-growth-tabs {
  background: #285155;
  border-color: rgba(255,255,255,.14);
}
body.presentation-page[data-presentation-theme="board"] .presentation-growth-tab { color: rgba(255,255,255,.62); }
body.presentation-page[data-presentation-theme="board"] .presentation-growth-tab.is-active {
  background: rgba(255,255,255,.11);
  color: #fff;
}
body.presentation-page[data-presentation-theme="board"] .presentation-structure-active-relation,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-relations-btn,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-relation-panel,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-node,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-info-card,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-comment-card {
  background: #315f63;
  border-color: rgba(255,255,255,.13);
  color: rgba(255,255,255,.92);
}
body.presentation-page[data-presentation-theme="board"] .presentation-structure-node.is-current {
  background: color-mix(in srgb, var(--pres-node-tag-color) 12%, #315f63);
}
body.presentation-page[data-presentation-theme="board"] .presentation-structure-node-text,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-info-value,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-comment-text,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-heading strong,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-empty strong,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-info-empty strong,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-relation-panel-title,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-relation-option {
  color: rgba(255,255,255,.93);
}
body.presentation-page[data-presentation-theme="board"] .presentation-structure-node-meta,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-node-tag-en,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-node-text-en,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-info-label,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-info-source,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-heading span:not(.presentation-structure-current-segment),
body.presentation-page[data-presentation-theme="board"] .presentation-structure-empty,
body.presentation-page[data-presentation-theme="board"] .presentation-growth-info-empty,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-preset,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-current-segment {
  color: rgba(255,255,255,.62);
}
body.presentation-page[data-presentation-theme="board"] .presentation-structure-relation-option:hover { background: rgba(255,255,255,.06); }
body.presentation-page[data-presentation-theme="board"] .presentation-structure-edge-label {
  background: #285155;
  box-shadow: 0 2px 7px rgba(0,0,0,.14);
}
body.presentation-page[data-presentation-theme="board"] .presentation-structure-node-jump { color: #e5a274; }
body.presentation-page[data-presentation-theme="board"] .presentation-structure-active-relation.is-empty { color: rgba(255,255,255,.62); }

@media (max-width: 1180px) {
  .presentation-structure-map { padding-left: 52px; }
  .presentation-structure-component-title { margin-left: 52px; }
}

/* ===== Presentation 0.3a — naming + relation filter clarity ===== */
.presentation-structure-filterbar {
  align-items: flex-end;
  margin-bottom: 10px;
}
.presentation-structure-filter-state {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.presentation-structure-filter-label {
  color: var(--pres-muted);
  font-size: .60rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.presentation-structure-relations-btn {
  min-height: 31px;
  padding: 7px 10px;
  white-space: nowrap;
}
.presentation-structure-relation-panel {
  display: grid;
  gap: 11px;
}
.presentation-structure-relation-panel-section + .presentation-structure-relation-panel-section {
  padding-top: 10px;
  border-top: 1px solid var(--pres-border);
}
.presentation-structure-relation-panel .presentation-structure-presets {
  margin: 0;
}
.presentation-structure-relation-panel-title {
  margin-bottom: 7px;
  font-size: .64rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.presentation-page[data-presentation-theme="board"] .presentation-structure-filter-label,
body.presentation-page[data-presentation-theme="board"] .presentation-structure-relation-panel-title {
  color: rgba(255,255,255,.72);
}
body.presentation-page[data-presentation-theme="board"] .presentation-structure-relation-panel-section + .presentation-structure-relation-panel-section {
  border-color: rgba(255,255,255,.11);
}

/* ===== Presentation 0.4 — Dynamic local structure ===== */
.presentation-structure-components.is-switching-component {
  animation: presentationStructureComponentSwap .28s ease both;
}
.presentation-structure-component.is-component-transition,
.presentation-structure-component.is-first-scene {
  animation: presentationStructureComponentIn .3s ease both;
}
.presentation-structure-node {
  position: relative;
}
.presentation-structure-node.is-new {
  animation: presentationStructureNodeIn .34s cubic-bezier(.2,.72,.24,1) both;
  animation-delay: var(--pres-node-enter-delay, 0ms);
  will-change: opacity;
}
.presentation-structure-node.is-persisted {
  opacity: 1;
  transform: none;
}
.presentation-structure-node.is-step-current::after {
  content: "";
  position: absolute;
  inset: -3px;
  border: 1px solid color-mix(in srgb, var(--pres-node-tag-color) 58%, transparent);
  border-radius: 14px;
  pointer-events: none;
  animation: presentationStructureCurrentPulse .62s ease-out both;
}
.presentation-structure-edge-path.is-new {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: presentationStructureEdgeDraw .48s cubic-bezier(.22,.7,.28,1) forwards;
  animation-delay: var(--pres-edge-enter-delay, 0ms);
}
.presentation-structure-edge-path.is-persisted {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
}
.presentation-structure-edge-label.is-new {
  opacity: 0;
  transform: translateY(3px);
  animation: presentationStructureLabelIn .24s ease forwards;
  animation-delay: var(--pres-edge-enter-delay, 100ms);
}

@keyframes presentationStructureNodeIn {
  0% { opacity: 0; }
  42% { opacity: .72; }
  100% { opacity: 1; }
}
@keyframes presentationStructureEdgeDraw {
  from { stroke-dashoffset: 1; opacity: .22; }
  to { stroke-dashoffset: 0; opacity: .78; }
}
@keyframes presentationStructureLabelIn {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes presentationStructureCurrentPulse {
  0% { opacity: 0; transform: scale(.992); }
  36% { opacity: .95; }
  100% { opacity: 0; transform: scale(1.018); }
}
@keyframes presentationStructureComponentIn {
  from { opacity: .35; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes presentationStructureComponentSwap {
  from { opacity: .45; }
  to { opacity: 1; }
}

body.presentation-page[data-presentation-theme="board"] .presentation-structure-node.is-step-current::after {
  border-color: color-mix(in srgb, var(--pres-node-tag-color) 70%, rgba(255,255,255,.38));
}

@media (prefers-reduced-motion: reduce) {
  .presentation-structure-components.is-switching-component,
  .presentation-structure-component.is-component-transition,
  .presentation-structure-component.is-first-scene,
  .presentation-structure-node.is-new,
  .presentation-structure-node.is-step-current::after,
  .presentation-structure-edge-path.is-new,
  .presentation-structure-edge-label.is-new {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    stroke-dashoffset: 0 !important;
  }
}

/* ===== Presentation 0.5a — Expert commentary editorial view ===== */
.presentation-editorial-comment-list {
  display: grid;
  gap: 12px;
  padding-bottom: 8px;
}
.presentation-editorial-comment {
  position: relative;
  overflow: hidden;
  padding: 14px 15px 15px;
  border: 1px solid var(--pres-border);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
}
.presentation-editorial-comment.is-primary {
  border-left: 3px solid var(--pres-accent);
  background: linear-gradient(135deg, color-mix(in srgb, var(--pres-accent) 5%, rgba(255,255,255,.88)), rgba(255,255,255,.78));
}
.presentation-editorial-comment-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.presentation-comment-context {
  display: inline-flex;
  align-items: center;
  max-width: 58%;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid var(--pres-border);
  border-radius: 999px;
  color: var(--pres-muted);
  font-size: .58rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.presentation-editorial-comment-body {
  max-width: 62ch;
}
.presentation-comment-paragraph {
  margin: 0 0 10px;
  color: var(--pres-ink);
  font-size: .76rem;
  line-height: 1.68;
}
.presentation-comment-paragraph:last-child { margin-bottom: 0; }
.presentation-comment-paragraph.is-lead {
  font-size: .84rem;
  line-height: 1.62;
  font-weight: 650;
}
.presentation-comment-more {
  margin-top: 3px;
}
.presentation-comment-more summary {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--pres-border);
  border-radius: 9px;
  color: var(--pres-accent);
  background: var(--pres-soft);
  font-size: .62rem;
  font-weight: 760;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.presentation-comment-more summary::-webkit-details-marker { display: none; }
.presentation-comment-more summary:hover { filter: brightness(.98); }
.presentation-comment-more-open { display: none; }
.presentation-comment-more[open] .presentation-comment-more-closed { display: none; }
.presentation-comment-more[open] .presentation-comment-more-open { display: inline; }
.presentation-comment-more-body {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--pres-border);
}
.presentation-comment-categories {
  margin-top: 13px;
  padding-top: 11px;
  border-top: 1px solid var(--pres-border);
}
.presentation-comment-categories-title {
  margin-bottom: 7px;
  color: var(--pres-muted);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.presentation-comment-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.presentation-comment-category {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 9px;
  border: 1px solid color-mix(in srgb, var(--pres-accent) 28%, var(--pres-border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--pres-accent) 7%, var(--pres-soft));
  color: var(--pres-ink);
  font-size: .61rem;
  font-weight: 700;
  line-height: 1.2;
}
body.presentation-page[data-presentation-theme="paper"] .presentation-editorial-comment {
  background: rgba(255,250,242,.94);
  border-color: rgba(30,47,47,.14);
}
body.presentation-page[data-presentation-theme="paper"] .presentation-editorial-comment.is-primary {
  background: linear-gradient(135deg, rgba(217,140,95,.07), rgba(255,250,242,.96) 42%);
}
body.presentation-page[data-presentation-theme="board"] .presentation-editorial-comment {
  background: #315f63;
  border-color: rgba(255,255,255,.13);
}
body.presentation-page[data-presentation-theme="board"] .presentation-editorial-comment.is-primary {
  background: linear-gradient(135deg, rgba(217,140,95,.10), #315f63 42%);
}
body.presentation-page[data-presentation-theme="board"] .presentation-comment-paragraph,
body.presentation-page[data-presentation-theme="board"] .presentation-comment-category {
  color: rgba(255,255,255,.93);
}
body.presentation-page[data-presentation-theme="board"] .presentation-comment-context,
body.presentation-page[data-presentation-theme="board"] .presentation-comment-categories-title {
  color: rgba(255,255,255,.64);
}
body.presentation-page[data-presentation-theme="board"] .presentation-comment-more summary {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
  color: #e7aa7f;
}
body.presentation-page[data-presentation-theme="board"] .presentation-comment-category {
  background: rgba(217,140,95,.09);
  border-color: rgba(217,140,95,.34);
}
body.presentation-page[data-presentation-theme="board"] .presentation-comment-more-body,
body.presentation-page[data-presentation-theme="board"] .presentation-comment-categories {
  border-color: rgba(255,255,255,.11);
}

/* ===== Presentation 0.5b — three additional presentation themes =====
   Paper Grid: visual continuity with Annotation's graph-paper workspace.
   Studio: neutral, airy, product-like light presentation surface.
   Slate: graphite showcase theme, deliberately distinct from green Board.
   Tag colours and relation colours remain data-driven and unchanged. */

/* Theme chooser: six choices read better as a compact 2-column palette. */
.presentation-theme-popover { width: 292px; }
.presentation-theme-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.presentation-theme-option { min-width: 0; }
.presentation-theme-option span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.presentation-theme-swatch--paper-grid {
  background-color: #efe6d6;
  background-image:
    repeating-linear-gradient(0deg, rgba(120,102,78,.14) 0, rgba(120,102,78,.14) 1px, transparent 1px, transparent 7px),
    repeating-linear-gradient(90deg, rgba(120,102,78,.14) 0, rgba(120,102,78,.14) 1px, transparent 1px, transparent 7px);
}
.presentation-theme-swatch--studio {
  background: linear-gradient(135deg, #ffffff 0 48%, #edf4f8 48% 76%, #5e8295 76% 100%);
}
.presentation-theme-swatch--slate {
  background: linear-gradient(135deg, #20262d 0 58%, #303a44 58% 78%, #9eb7c4 78% 100%);
}

/* ---------- Paper Grid ---------- */
body.presentation-page[data-presentation-theme="paper-grid"] {
  --pres-bg: #efe6d6;
  --pres-panel: rgba(251,245,234,.955);
  --pres-border: #dccfb8;
  --pres-text: #2e2a24;
  --pres-muted: #6f6557;
  --pres-soft: #f7efdf;
  --pres-accent: #6b4e17;
  --pres-accent-soft: #eee2cc;
  --pres-ink: #2e2a24;
  --pres-shadow: 0 13px 34px rgba(82,65,44,.075);
  background-color: #efe6d6;
  background-image:
    repeating-linear-gradient(0deg, rgba(120,102,78,.045) 0, rgba(120,102,78,.045) 1px, transparent 1px, transparent 16px),
    repeating-linear-gradient(90deg, rgba(120,102,78,.045) 0, rgba(120,102,78,.045) 1px, transparent 1px, transparent 16px);
  background-attachment: fixed;
}
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-hero-bar,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-column,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-empty-state,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-transport,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-theme-popover,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-layers-popover,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-structure-relation-panel {
  background: rgba(251,245,234,.965);
  border-color: #dccfb8;
}
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-column {
  box-shadow: 0 11px 30px rgba(82,65,44,.065);
}
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-mode-switch,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-inline-switch,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-reveal-switch,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-growth-tabs {
  background: #f3eadb;
  border-color: #dccfb8;
}
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-mode-btn.is-active,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-inline-switch-btn.is-active,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-reveal-btn.is-active,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-growth-tab.is-active,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-control-btn,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-theme-option,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-transport-btn,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-mini-btn,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-structure-relations-btn,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-structure-preset {
  background: #fbf5ea;
  border-color: #dccfb8;
  color: #5d5143;
}
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-analysis-ann,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-relation-card,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-structure-node,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-growth-info-card,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-growth-comment-card,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-editorial-comment {
  background: rgba(255,250,240,.94);
  border-color: #e0d1b7;
}
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-current-segment-card,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-analysis-panel {
  background-image:
    repeating-linear-gradient(0deg, transparent 0 15px, rgba(120,102,78,.022) 15px 16px),
    repeating-linear-gradient(90deg, transparent 0 15px, rgba(120,102,78,.022) 15px 16px);
}
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-en-badge {
  background: #f3eadb;
  border-color: #d8c9ae;
  color: #6d5a3d;
}
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-play-btn,
body.presentation-page[data-presentation-theme="paper-grid"] .presentation-primary-link {
  background: #6f6557;
  border-color: #6f6557;
}
body.presentation-page[data-presentation-theme="paper-grid"] #presentationProgress { accent-color: #806b4d; }

/* ---------- Studio Light ---------- */
body.presentation-page[data-presentation-theme="studio"] {
  --pres-bg: #eef3f6;
  --pres-panel: rgba(255,255,255,.975);
  --pres-border: #dce5ea;
  --pres-text: #1c2932;
  --pres-muted: #60727e;
  --pres-soft: #f5f8fa;
  --pres-accent: #426f82;
  --pres-accent-soft: #e8f1f4;
  --pres-ink: #213946;
  --pres-shadow: 0 14px 38px rgba(35,58,69,.065);
  background:
    radial-gradient(850px 520px at 8% -4%, rgba(112,154,171,.12), transparent 62%),
    radial-gradient(780px 480px at 94% 4%, rgba(181,202,210,.13), transparent 60%),
    #eef3f6;
}
body.presentation-page[data-presentation-theme="studio"] .presentation-hero-bar,
body.presentation-page[data-presentation-theme="studio"] .presentation-column,
body.presentation-page[data-presentation-theme="studio"] .presentation-empty-state,
body.presentation-page[data-presentation-theme="studio"] .presentation-transport,
body.presentation-page[data-presentation-theme="studio"] .presentation-theme-popover,
body.presentation-page[data-presentation-theme="studio"] .presentation-layers-popover,
body.presentation-page[data-presentation-theme="studio"] .presentation-structure-relation-panel {
  background: rgba(255,255,255,.975);
  border-color: #dce5ea;
}
body.presentation-page[data-presentation-theme="studio"] .presentation-column {
  box-shadow: 0 12px 36px rgba(35,58,69,.06);
}
body.presentation-page[data-presentation-theme="studio"] .presentation-mode-switch,
body.presentation-page[data-presentation-theme="studio"] .presentation-inline-switch,
body.presentation-page[data-presentation-theme="studio"] .presentation-reveal-switch,
body.presentation-page[data-presentation-theme="studio"] .presentation-growth-tabs {
  background: #eef4f6;
  border-color: #dae4e9;
}
body.presentation-page[data-presentation-theme="studio"] .presentation-mode-btn.is-active,
body.presentation-page[data-presentation-theme="studio"] .presentation-inline-switch-btn.is-active,
body.presentation-page[data-presentation-theme="studio"] .presentation-reveal-btn.is-active,
body.presentation-page[data-presentation-theme="studio"] .presentation-growth-tab.is-active {
  background: #fff;
  color: #264d5e;
  box-shadow: 0 3px 10px rgba(36,71,88,.075);
}
body.presentation-page[data-presentation-theme="studio"] .presentation-control-btn,
body.presentation-page[data-presentation-theme="studio"] .presentation-theme-option,
body.presentation-page[data-presentation-theme="studio"] .presentation-transport-btn,
body.presentation-page[data-presentation-theme="studio"] .presentation-mini-btn,
body.presentation-page[data-presentation-theme="studio"] .presentation-structure-relations-btn,
body.presentation-page[data-presentation-theme="studio"] .presentation-structure-preset {
  background: #fff;
  border-color: #d8e3e8;
  color: #3f5d6b;
}
body.presentation-page[data-presentation-theme="studio"] .presentation-analysis-ann,
body.presentation-page[data-presentation-theme="studio"] .presentation-relation-card,
body.presentation-page[data-presentation-theme="studio"] .presentation-structure-node,
body.presentation-page[data-presentation-theme="studio"] .presentation-growth-info-card,
body.presentation-page[data-presentation-theme="studio"] .presentation-growth-comment-card,
body.presentation-page[data-presentation-theme="studio"] .presentation-editorial-comment {
  background: #fbfdfe;
  border-color: #dfe8ec;
}
body.presentation-page[data-presentation-theme="studio"] .presentation-en-badge {
  background: #eaf3f6;
  border-color: #d2e3e9;
  color: #3d6d80;
}
body.presentation-page[data-presentation-theme="studio"] .presentation-play-btn,
body.presentation-page[data-presentation-theme="studio"] .presentation-primary-link {
  background: #426f82;
  border-color: #426f82;
}
body.presentation-page[data-presentation-theme="studio"] #presentationProgress { accent-color: #426f82; }

/* ---------- Slate ---------- */
body.presentation-page[data-presentation-theme="slate"] {
  --pres-bg: #1f252b;
  --pres-panel: rgba(43,51,59,.94);
  --pres-border: rgba(207,220,228,.13);
  --pres-text: #edf2f5;
  --pres-muted: #aebbc4;
  --pres-soft: rgba(255,255,255,.055);
  --pres-accent: #95b6c4;
  --pres-accent-soft: rgba(149,182,196,.13);
  --pres-ink: #f2f6f7;
  --pres-shadow: 0 17px 46px rgba(0,0,0,.19);
  background:
    radial-gradient(900px 540px at 8% 0%, rgba(126,158,173,.10), transparent 62%),
    radial-gradient(900px 560px at 98% 4%, rgba(180,142,103,.07), transparent 62%),
    #1f252b;
}
body.presentation-page[data-presentation-theme="slate"] .presentation-hero-bar,
body.presentation-page[data-presentation-theme="slate"] .presentation-column,
body.presentation-page[data-presentation-theme="slate"] .presentation-empty-state,
body.presentation-page[data-presentation-theme="slate"] .presentation-transport {
  background: rgba(43,51,59,.94);
  border-color: rgba(207,220,228,.12);
  box-shadow: 0 17px 44px rgba(0,0,0,.16);
}
body.presentation-page[data-presentation-theme="slate"] .presentation-theme-popover,
body.presentation-page[data-presentation-theme="slate"] .presentation-layers-popover,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-relation-panel {
  background: #303941;
  border-color: rgba(207,220,228,.14);
  color: #edf2f5;
}
body.presentation-page[data-presentation-theme="slate"] .presentation-mode-switch,
body.presentation-page[data-presentation-theme="slate"] .presentation-inline-switch,
body.presentation-page[data-presentation-theme="slate"] .presentation-reveal-switch,
body.presentation-page[data-presentation-theme="slate"] .presentation-growth-tabs,
body.presentation-page[data-presentation-theme="slate"] .presentation-timeline-track {
  background: #242c33;
  border-color: rgba(207,220,228,.11);
}
body.presentation-page[data-presentation-theme="slate"] .presentation-control-btn,
body.presentation-page[data-presentation-theme="slate"] .presentation-theme-option,
body.presentation-page[data-presentation-theme="slate"] .presentation-transport-btn,
body.presentation-page[data-presentation-theme="slate"] .presentation-mini-btn,
body.presentation-page[data-presentation-theme="slate"] .presentation-mode-btn.is-active,
body.presentation-page[data-presentation-theme="slate"] .presentation-inline-switch-btn.is-active,
body.presentation-page[data-presentation-theme="slate"] .presentation-reveal-btn.is-active,
body.presentation-page[data-presentation-theme="slate"] .presentation-growth-tab.is-active,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-relations-btn,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-preset {
  background: #36414a;
  color: #ecf2f5;
  border-color: rgba(207,220,228,.14);
}
body.presentation-page[data-presentation-theme="slate"] .presentation-analysis-ann,
body.presentation-page[data-presentation-theme="slate"] .presentation-relation-card,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-node,
body.presentation-page[data-presentation-theme="slate"] .presentation-growth-info-card,
body.presentation-page[data-presentation-theme="slate"] .presentation-growth-comment-card,
body.presentation-page[data-presentation-theme="slate"] .presentation-editorial-comment,
body.presentation-page[data-presentation-theme="slate"] .presentation-growth-canvas {
  background: #303941;
  border-color: rgba(207,220,228,.13);
}
body.presentation-page[data-presentation-theme="slate"] .presentation-current-text,
body.presentation-page[data-presentation-theme="slate"] .presentation-source-speaker,
body.presentation-page[data-presentation-theme="slate"] .presentation-current-speaker,
body.presentation-page[data-presentation-theme="slate"] .presentation-analysis-speakerline,
body.presentation-page[data-presentation-theme="slate"] .presentation-analysis-ann-tag,
body.presentation-page[data-presentation-theme="slate"] .presentation-inline-ann-tag,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-node-tag,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-node-text,
body.presentation-page[data-presentation-theme="slate"] .presentation-comment-paragraph,
body.presentation-page[data-presentation-theme="slate"] .presentation-growth-info-value,
body.presentation-page[data-presentation-theme="slate"] .presentation-heading-group h1,
body.presentation-page[data-presentation-theme="slate"] .presentation-popover-title,
body.presentation-page[data-presentation-theme="slate"] .presentation-layers-popover label,
body.presentation-page[data-presentation-theme="slate"] .presentation-reveal-setting-title,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-heading strong,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-relation-panel-title,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-relation-option {
  color: #edf2f5;
}
body.presentation-page[data-presentation-theme="slate"] .presentation-eyebrow,
body.presentation-page[data-presentation-theme="slate"] .presentation-column-kicker,
body.presentation-page[data-presentation-theme="slate"] .presentation-source-role,
body.presentation-page[data-presentation-theme="slate"] .presentation-section-subtitle,
body.presentation-page[data-presentation-theme="slate"] .presentation-context-segment,
body.presentation-page[data-presentation-theme="slate"] .presentation-analysis-ann-text,
body.presentation-page[data-presentation-theme="slate"] .presentation-analysis-ann-en,
body.presentation-page[data-presentation-theme="slate"] .presentation-analysis-ann-translation,
body.presentation-page[data-presentation-theme="slate"] .presentation-current-translation,
body.presentation-page[data-presentation-theme="slate"] .presentation-context-translation,
body.presentation-page[data-presentation-theme="slate"] .presentation-timeline-speaker,
body.presentation-page[data-presentation-theme="slate"] .presentation-progress-meta,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-node-meta,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-node-tag-en,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-node-text-en,
body.presentation-page[data-presentation-theme="slate"] .presentation-growth-info-label,
body.presentation-page[data-presentation-theme="slate"] .presentation-growth-info-source,
body.presentation-page[data-presentation-theme="slate"] .presentation-comment-context,
body.presentation-page[data-presentation-theme="slate"] .presentation-comment-categories-title,
body.presentation-page[data-presentation-theme="slate"] .presentation-reveal-setting-note,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-filter-label {
  color: #aebbc4;
}
body.presentation-page[data-presentation-theme="slate"] .presentation-current-translation,
body.presentation-page[data-presentation-theme="slate"] .presentation-context-translation,
body.presentation-page[data-presentation-theme="slate"] .presentation-analysis-ann-translation,
body.presentation-page[data-presentation-theme="slate"] .presentation-source-context,
body.presentation-page[data-presentation-theme="slate"] .presentation-context-segment--previous,
body.presentation-page[data-presentation-theme="slate"] .presentation-context-segment--next,
body.presentation-page[data-presentation-theme="slate"] .presentation-reveal-setting,
body.presentation-page[data-presentation-theme="slate"] .presentation-comment-more-body,
body.presentation-page[data-presentation-theme="slate"] .presentation-comment-categories {
  border-color: rgba(207,220,228,.10);
}
body.presentation-page[data-presentation-theme="slate"] .presentation-en-badge,
body.presentation-page[data-presentation-theme="slate"] .presentation-comment-category,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-active-relation {
  background: rgba(149,182,196,.10);
  border-color: rgba(149,182,196,.18);
  color: #cfe0e7;
}
body.presentation-page[data-presentation-theme="slate"] .presentation-play-btn,
body.presentation-page[data-presentation-theme="slate"] .presentation-primary-link {
  background: #8daebe;
  border-color: #8daebe;
  color: #172229;
}
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-node.is-current,
body.presentation-page[data-presentation-theme="slate"] .presentation-structure-node.is-step-current {
  background: #36434c;
  border-color: rgba(158,194,210,.38);
}
body.presentation-page[data-presentation-theme="slate"] .presentation-annotation-span.is-ann-hovered,
body.presentation-page[data-presentation-theme="slate"] .presentation-annotation-span--en.is-ann-hovered {
  background: rgba(149,182,196,.18);
}
body.presentation-page[data-presentation-theme="slate"] .presentation-annotation-span.is-ann-focused,
body.presentation-page[data-presentation-theme="slate"] .presentation-annotation-span--en.is-ann-focused {
  background: rgba(149,182,196,.22);
  box-shadow: inset 0 -2px 0 rgba(184,211,222,.62);
}
body.presentation-page[data-presentation-theme="slate"] #presentationProgress { accent-color: #9ebac7; }

@media (max-width: 900px) {
  .presentation-theme-options { grid-template-columns: 1fr; }
}

/* ---------- Blueprint ----------
   Technical / educational presentation theme inspired by blueprint-like
   science communication graphics. The motion language is original and uses
   restrained line-reveal + cursor cues rather than character scrambling. */
body.presentation-page[data-presentation-theme="blueprint"] {
  --pres-bg: #014a6c;
  --pres-panel: rgba(4, 78, 111, .94);
  --pres-border: rgba(255,255,255,.18);
  --pres-text: #ffffff;
  --pres-muted: #c8c1b6;
  --pres-soft: rgba(255,255,255,.055);
  --pres-accent: #e7a217;
  --pres-accent-soft: rgba(231,162,23,.14);
  --pres-ink: #ffffff;
  --pres-shadow: 0 18px 52px rgba(0,31,50,.20);
  background:
    radial-gradient(circle at 8% 9%, rgba(231,162,23,.95) 0 2px, transparent 2.7px),
    radial-gradient(circle at 91% 13%, rgba(255,255,255,.48) 0 1px, transparent 1.8px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    #014a6c;
  background-size: auto, auto, 40px 40px, 40px 40px, auto;
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-hero-bar,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-column,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-empty-state,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-transport {
  background: rgba(4,78,111,.94);
  border-color: rgba(255,255,255,.17);
  box-shadow: 0 18px 48px rgba(0,31,50,.16);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-hero-bar,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-column {
  position: relative;
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-hero-bar::before,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-column::before {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: .48;
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-hero-bar::before {
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 1px;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.60) 0 12px, transparent 12px 20px);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-column::before {
  width: 38px;
  height: 16px;
  top: 14px;
  right: 15px;
  background:
    radial-gradient(circle, rgba(255,255,255,.60) 0 1.2px, transparent 1.6px) 0 50% / 9px 9px repeat-x;
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-theme-popover,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-layers-popover,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-relation-panel {
  background: #075477;
  border-color: rgba(255,255,255,.20);
  color: #fff;
  box-shadow: 0 20px 54px rgba(0,31,50,.25);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-mode-switch,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-inline-switch,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-reveal-switch,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-growth-tabs,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-timeline-track {
  background: rgba(0,49,87,.52);
  border-color: rgba(255,255,255,.16);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-control-btn,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-theme-option,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-transport-btn,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-mini-btn,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-mode-btn.is-active,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-inline-switch-btn.is-active,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-reveal-btn.is-active,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-growth-tab.is-active,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-relations-btn,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-preset {
  background: rgba(255,255,255,.075);
  color: #fff;
  border-color: rgba(255,255,255,.20);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-mode-btn.is-active,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-inline-switch-btn.is-active,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-reveal-btn.is-active,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-growth-tab.is-active,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-relations-btn.is-active,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-preset.is-active {
  border-color: rgba(231,162,23,.55);
  box-shadow: inset 0 -2px 0 rgba(231,162,23,.82);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-analysis-ann,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-relation-card,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-node,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-growth-info-card,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-growth-comment-card,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-editorial-comment,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-growth-canvas {
  background: rgba(0,59,96,.42);
  border-color: rgba(255,255,255,.16);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-current-text,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-source-speaker,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-current-speaker,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-analysis-speakerline,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-analysis-ann-tag,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-inline-ann-tag,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-node-tag,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-node-text,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-comment-paragraph,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-growth-info-value,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-heading-group h1,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-popover-title,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-layers-popover label,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-reveal-setting-title,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-heading strong,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-relation-panel-title,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-relation-option {
  color: #fff;
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-eyebrow,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-column-kicker,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-source-role,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-section-subtitle,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-context-segment,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-analysis-ann-text,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-analysis-ann-en,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-analysis-ann-translation,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-current-translation,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-context-translation,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-timeline-speaker,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-progress-meta,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-node-meta,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-node-tag-en,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-node-text-en,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-growth-info-label,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-growth-info-source,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-comment-context,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-comment-categories-title,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-reveal-setting-note,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-filter-label {
  color: #c8c1b6;
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-current-translation,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-context-translation,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-analysis-ann-translation,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-source-context,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-context-segment--previous,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-context-segment--next,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-reveal-setting,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-comment-more-body,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-comment-categories {
  border-color: rgba(255,255,255,.12);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-en-badge,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-comment-category,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-active-relation {
  background: rgba(255,255,255,.075);
  border-color: rgba(255,255,255,.17);
  color: #fff;
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-play-btn,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-primary-link {
  background: #e7a217;
  border-color: #e7a217;
  color: #003157;
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-play-btn:hover,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-primary-link:hover {
  filter: brightness(1.045);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-node.is-current,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-node.is-step-current {
  background: rgba(231,162,23,.095);
  border-color: rgba(231,162,23,.44);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-node.is-step-current::after {
  border-color: rgba(231,162,23,.76);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-annotation-span.is-ann-hovered,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-annotation-span--en.is-ann-hovered {
  background: rgba(231,162,23,.14);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-annotation-span.is-ann-focused,
body.presentation-page[data-presentation-theme="blueprint"] .presentation-annotation-span--en.is-ann-focused {
  background: rgba(231,162,23,.18);
  box-shadow: inset 0 -2px 0 rgba(231,162,23,.86);
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-structure-edge-label {
  background: #075477;
  color: #fff;
  border-color: color-mix(in srgb, var(--pres-relation-color) 45%, rgba(255,255,255,.20));
}
body.presentation-page[data-presentation-theme="blueprint"] .presentation-comment-more summary {
  background: rgba(255,255,255,.07);
  color: #e7a217;
  border-color: rgba(255,255,255,.18);
}
body.presentation-page[data-presentation-theme="blueprint"] #presentationProgress {
  accent-color: #e7a217;
}


/* =========================================================
   PRESENTATION — Annotation-grid fidelity
   Presentation deliberately keeps ALL of its dedicated themes:
   Light, Paper, Board, Paper Grid, Studio, Slate and Blueprint.
   Only their page-level grid geometry is normalized to the original
   Annotation Paper grid (1px / 16px / .04).
   ========================================================= */
body.presentation-page[data-presentation-theme="light"] { --pres-grid-line: rgba(61, 82, 112, .04); }
body.presentation-page[data-presentation-theme="paper"] { --pres-grid-line: rgba(120, 102, 78, .04); }
body.presentation-page[data-presentation-theme="board"] { --pres-grid-line: rgba(255, 255, 255, .04); }
body.presentation-page[data-presentation-theme="paper-grid"] { --pres-grid-line: rgba(120, 102, 78, .04); }
body.presentation-page[data-presentation-theme="studio"] { --pres-grid-line: rgba(66, 111, 130, .04); }
body.presentation-page[data-presentation-theme="slate"] { --pres-grid-line: rgba(207, 220, 228, .04); }
body.presentation-page[data-presentation-theme="blueprint"] { --pres-grid-line: rgba(255, 255, 255, .04); }

body.presentation-page[data-presentation-theme] {
  background-color: var(--pres-bg) !important;
  background-image:
    repeating-linear-gradient(
      0deg,
      var(--pres-grid-line) 0,
      var(--pres-grid-line) 1px,
      transparent 1px,
      transparent 16px
    ),
    repeating-linear-gradient(
      90deg,
      var(--pres-grid-line) 0,
      var(--pres-grid-line) 1px,
      transparent 1px,
      transparent 16px
    ) !important;
  background-size: auto !important;
  background-position: 0 0 !important;
  background-attachment: fixed !important;
}


/* ===== Presentation 1.0B — adaptive alignment for long current segments =====
   Keep ordinary passages centred. If the current passage is taller than its
   scroll viewport, align it from the top so its beginning is never clipped. */
.presentation-current-segment-card.is-measuring-overflow,
.presentation-current-segment-card.is-overflowing {
  justify-content: flex-start;
}


/* =========================================================
   Presentation 1.0D — theme-aware global header
   The shared TMM toolbar follows the active Presentation palette.
   The existing in-module "Motyw" control remains the single theme
   selector; there is no duplicate theme control in the global header.
   ========================================================= */
body.presentation-page {
  --pres-header-bg: var(--pres-bg);
  --pres-header-border: var(--pres-border);
  --pres-header-text: var(--pres-text);
  --pres-header-muted: var(--pres-muted);
  --pres-header-control-bg: color-mix(in srgb, var(--pres-panel) 92%, transparent);
  --pres-header-control-hover: color-mix(in srgb, var(--pres-panel) 82%, var(--pres-accent-soft) 18%);
  --pres-header-accent-contrast: #fff;
}

body.presentation-page[data-presentation-theme="board"] { --pres-header-accent-contrast: #173437; }
body.presentation-page[data-presentation-theme="slate"] { --pres-header-accent-contrast: #172229; }
body.presentation-page[data-presentation-theme="blueprint"] { --pres-header-accent-contrast: #173247; }

body.presentation-page #toolbar.presentation-global-toolbar {
  background: var(--pres-header-bg) !important;
  border-bottom-color: var(--pres-header-border) !important;
  color: var(--pres-header-text);
  box-shadow: 0 4px 14px rgba(15,23,42,.08);
  transition: background-color .22s ease, border-color .22s ease, color .22s ease;
}

body.presentation-page #toolbar.presentation-global-toolbar .tab-bar .tab-button,
body.presentation-page #toolbar.presentation-global-toolbar .tab-bar .tab-button.active,
body.presentation-page #toolbar.presentation-global-toolbar .tab-bar .tab-button[aria-current="page"] {
  box-sizing: border-box;
  min-height: 38px;
  padding: 0 13px;
  gap: 7px;
  border-radius: 13px;
  background: var(--pres-header-control-bg) !important;
  border-color: var(--pres-header-border) !important;
  color: var(--pres-header-text) !important;
  box-shadow: 0 2px 8px rgba(15,23,42,.06);
}

body.presentation-page #toolbar.presentation-global-toolbar .tab-bar .tab-button:hover {
  background: var(--pres-header-control-hover) !important;
  border-color: color-mix(in srgb, var(--pres-header-border) 76%, var(--pres-accent) 24%) !important;
}

body.presentation-page #toolbar.presentation-global-toolbar .presentation-source-file {
  background: var(--pres-header-control-bg);
  border-color: var(--pres-header-border);
  color: var(--pres-header-muted);
}

body.presentation-page #toolbar.presentation-global-toolbar .lang-btn {
  background: var(--pres-header-control-bg);
  border-color: var(--pres-header-border);
  color: var(--pres-header-text);
  box-shadow: none;
}

body.presentation-page #toolbar.presentation-global-toolbar .lang-btn:hover {
  background: var(--pres-header-control-hover);
  border-color: color-mix(in srgb, var(--pres-header-border) 74%, var(--pres-accent) 26%);
}

body.presentation-page #toolbar.presentation-global-toolbar .lang-btn.active,
body.presentation-page #toolbar.presentation-global-toolbar .lang-btn[aria-pressed="true"] {
  background: var(--pres-accent) !important;
  border-color: var(--pres-accent) !important;
  color: var(--pres-header-accent-contrast) !important;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--pres-accent) 25%, transparent);
}

/* The existing logo is designed for a light surface. On the three dark
   presentation themes a restrained light halo keeps the wordmark readable
   without bringing back a full-width light toolbar. */
body.presentation-page[data-presentation-theme="board"] #toolbar .logo,
body.presentation-page[data-presentation-theme="slate"] #toolbar .logo,
body.presentation-page[data-presentation-theme="blueprint"] #toolbar .logo {
  filter: drop-shadow(0 0 1px rgba(255,255,255,.96)) drop-shadow(0 0 5px rgba(255,255,255,.48));
}
