:root {
  --presentation-cover: #0a0f1d;
  --presentation-cover-text: #ffffff;
  --presentation-cover-muted: #cbd5e1;
  --presentation-canvas: #f8fafc;
  --presentation-surface: #ffffff;
  --presentation-ink: #0f172a;
  --presentation-muted: #475569;
  --presentation-accent: #2563eb;
  --presentation-accent-text: #ffffff;
  --presentation-line: #cbd5e1;
  --presentation-heading: "Playfair Display", Georgia, serif;
  --presentation-body: "Plus Jakarta Sans", Arial, sans-serif;
}

.theme-picker {
  border-block: 1px solid #dbe2ea;
  margin-block: 0 2.5rem;
  padding-block: 1.75rem 2rem;
}

.theme-picker__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.theme-picker__heading h3 {
  color: #0f172a;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 800;
  line-height: 1.2;
}

.theme-picker__heading p {
  color: #475569;
  font-size: 0.875rem;
  line-height: 1.55;
  margin-top: 0.35rem;
  max-width: 44rem;
}

.theme-picker__plan {
  align-items: center;
  background: #eff6ff;
  border: 1px solid #93c5fd;
  color: #1e3a8a;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.75rem;
  font-weight: 800;
  min-height: 2.75rem;
  padding: 0.65rem 0.9rem;
}

.theme-picker__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.theme-card {
  background: #ffffff;
  border: 2px solid #dbe2ea;
  color: #0f172a;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  min-height: 16rem;
  padding: 0;
  position: relative;
  text-align: left;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  width: 100%;
}

.theme-card:hover {
  border-color: #64748b;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1);
  transform: translateY(-2px);
}

.theme-card:focus-visible,
.theme-upgrade-dialog a:focus-visible,
.theme-upgrade-dialog button:focus-visible {
  outline: 3px solid #f59e0b;
  outline-offset: 3px;
}

.theme-card[aria-pressed="true"] {
  border-color: #1d4ed8;
  box-shadow: 0 0 0 3px #bfdbfe;
}

.theme-card__preview {
  background: var(--theme-cover);
  color: var(--theme-preview-text);
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: 0.35fr 1fr;
  min-height: 8.5rem;
  overflow: hidden;
  padding: 1rem;
  position: relative;
}

.theme-card__preview::before {
  background: var(--theme-accent);
  content: "";
  inset: 0 auto 0 0;
  position: absolute;
  width: 0.35rem;
}

.theme-card__index {
  align-self: start;
  color: var(--theme-accent);
  font-family: var(--theme-heading);
  font-size: 1.4rem;
  font-weight: 800;
}

.theme-card__sample {
  align-self: center;
  border-left: 1px solid var(--theme-line);
  padding-left: 0.85rem;
}

.theme-card__sample strong {
  display: block;
  font-family: var(--theme-heading);
  font-size: 1.15rem;
  line-height: 1.15;
}

.theme-card__sample span {
  color: var(--theme-preview-muted);
  display: block;
  font-family: var(--theme-body);
  font-size: 0.68rem;
  margin-top: 0.55rem;
}

.theme-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 1rem;
}

.theme-card__title-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.theme-card__title {
  font-size: 0.95rem;
  font-weight: 800;
}

.theme-card__badge {
  border: 1px solid #cbd5e1;
  color: #334155;
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 0.35rem 0.45rem;
  text-transform: uppercase;
}

.theme-card__badge--pro {
  background: #172554;
  border-color: #172554;
  color: #ffffff;
}

.theme-card__description {
  color: #475569;
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 0.55rem;
}

.theme-card__status {
  color: #1e3a8a;
  font-size: 0.72rem;
  font-weight: 800;
  margin-top: auto;
  padding-top: 0.85rem;
}

.theme-card[data-locked="true"] .theme-card__preview {
  filter: saturate(0.7);
}

.theme-card[data-locked="true"] .theme-card__status {
  color: #7c2d12;
}

.theme-picker__announcement {
  color: #334155;
  font-size: 0.8rem;
  margin-top: 0.9rem;
  min-height: 1.25rem;
}

.design-controls {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 1rem;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
  margin: -1rem 0 2.5rem;
  overflow: hidden;
  padding: 1.5rem;
  position: relative;
}

.design-controls::before {
  background: #1d4ed8;
  content: "";
  height: 0.25rem;
  inset: 0 0 auto;
  position: absolute;
}

.design-controls[data-locked="true"] {
  background: #f8fafc;
}

.design-controls__header {
  align-items: start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}

.design-controls__header h3 {
  color: #0f172a;
  font-size: 1.15rem;
  font-weight: 900;
}

.design-controls__header p {
  color: #475569;
  font-size: .8rem;
  line-height: 1.55;
  margin-top: .3rem;
  max-width: 46rem;
}

.design-controls__badge {
  background: #172554;
  border: 1px solid #172554;
  border-radius: .4rem;
  color: #ffffff;
  flex: 0 0 auto;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  padding: .45rem .7rem;
}

.design-controls__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.design-control-group {
  background: #f8fafc;
  border: 1px solid #dbe4ef;
  border-radius: .75rem;
  display: grid;
  gap: .9rem;
  min-width: 0;
  padding: 1rem;
}

.design-control-group__heading {
  border-bottom: 1px solid #dbe4ef;
  display: grid;
  gap: .15rem;
  padding-bottom: .7rem;
}

.design-control-group__heading strong {
  color: #0f172a;
  font-size: .86rem;
  font-weight: 900;
}

.design-control-group__heading span,
.design-control-group__note {
  color: #64748b;
  font-size: .72rem;
  line-height: 1.45;
}

.design-control-group__note {
  margin: 0;
}

.design-control label,
.slide-design-control label {
  color: #334155;
  display: block;
  font-size: .72rem;
  font-weight: 800;
  margin-bottom: .4rem;
}

.design-control select,
.slide-design-control select {
  background: #ffffff;
  border: 1px solid #64748b;
  border-radius: .55rem;
  color: #0f172a;
  min-height: 44px;
  padding: .6rem .75rem;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
  width: 100%;
}

.design-control select:hover:not(:disabled),
.slide-design-control select:hover:not(:disabled) {
  border-color: #1d4ed8;
}

.design-control select:focus-visible,
.slide-design-control select:focus-visible {
  border-color: #1d4ed8;
  box-shadow: 0 0 0 4px rgba(29, 78, 216, .16);
  outline: 2px solid #1d4ed8;
  outline-offset: 2px;
}

.design-control select:disabled,
.slide-design-control select:disabled {
  background: #e2e8f0;
  color: #64748b;
  cursor: not-allowed;
}

.design-controls__notice {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: .55rem;
  color: #1e3a8a;
  font-size: .76rem;
  line-height: 1.5;
  margin-top: 1rem;
  padding: .7rem .8rem;
}

.slide-design-controls {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: .7rem;
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1rem;
  padding: .8rem;
}

.theme-upgrade-dialog {
  background: #ffffff;
  border: 1px solid #94a3b8;
  color: #0f172a;
  margin: auto;
  max-width: 30rem;
  padding: 0;
  width: calc(100% - 2rem);
}

.theme-upgrade-dialog::backdrop {
  background: rgba(2, 6, 23, 0.72);
}

.theme-upgrade-dialog__body {
  padding: 1.75rem;
}

.theme-upgrade-dialog__eyebrow {
  color: #1d4ed8;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.theme-upgrade-dialog h2 {
  font-size: 1.65rem;
  font-weight: 900;
  line-height: 1.2;
  margin-top: 0.5rem;
}

.theme-upgrade-dialog p {
  color: #475569;
  line-height: 1.65;
  margin-top: 0.75rem;
}

.theme-upgrade-dialog__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.theme-upgrade-dialog__actions a,
.theme-upgrade-dialog__actions button {
  align-items: center;
  border: 1px solid #1d4ed8;
  display: inline-flex;
  font-size: 0.85rem;
  font-weight: 800;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
}

.theme-upgrade-dialog__actions a {
  background: #1d4ed8;
  color: #ffffff;
}

.theme-upgrade-dialog__actions button {
  background: #ffffff;
  color: #1e3a8a;
}

[data-presentation-theme] {
  --theme-radius: 0.75rem;
}

[data-presentation-background="paper"] #captureArea,
.public-presentation[data-presentation-background="paper"] {
  background: var(--presentation-surface) !important;
}

[data-presentation-background="soft"] #captureArea,
.public-presentation[data-presentation-background="soft"] {
  background: var(--presentation-canvas) !important;
}

[data-presentation-background="contrast"] #captureArea,
.public-presentation[data-presentation-background="contrast"] {
  background: var(--presentation-cover) !important;
}

[data-presentation-background="contrast"] #presHeader,
[data-presentation-background="contrast"] #presFooter,
[data-presentation-background="contrast"] #layoutAgenda > div:first-child,
[data-presentation-background="contrast"] #layoutContent > div:first-child,
[data-presentation-background="contrast"] #layoutMOM > div:first-child {
  background: var(--presentation-cover) !important;
  border-color: var(--presentation-line) !important;
  color: var(--presentation-cover-text) !important;
}

[data-presentation-background="contrast"] #presHeaderTitle,
[data-presentation-background="contrast"] #presSlideTitle,
[data-presentation-background="contrast"] #layoutAgenda h1,
[data-presentation-background="contrast"] #layoutAgenda p,
[data-presentation-background="contrast"] #layoutMOM h1,
[data-presentation-background="contrast"] #layoutMOM p,
[data-presentation-background="contrast"] #presFooter {
  color: var(--presentation-cover-text) !important;
}

[data-presentation-background="blocks"] #captureArea,
.public-presentation[data-presentation-background="blocks"] {
  background: linear-gradient(90deg, var(--presentation-canvas) 0 72%, var(--presentation-accent) 72% 100%) !important;
}

.public-presentation[data-presentation-background="blocks"] > main > header,
.public-presentation[data-presentation-background="blocks"] > main > footer {
  background: var(--presentation-surface) !important;
}

[data-presentation-cover-position="left"] #layoutCover > div:last-child {
  align-items: flex-start !important;
}

[data-presentation-cover-position="left"] #presCoverTitle,
[data-presentation-cover-position="left"] #presCoverMeta {
  justify-content: flex-start !important;
  text-align: left !important;
}

[data-presentation-cover-position="right"] #layoutCover > div:last-child {
  align-items: flex-end !important;
}

[data-presentation-cover-position="right"] #presCoverTitle,
[data-presentation-cover-position="right"] #presCoverMeta {
  justify-content: flex-end !important;
  text-align: right !important;
}

.public-presentation[data-presentation-cover-position="left"] .public-slide--cover {
  align-items: flex-start !important;
  text-align: left !important;
}

.public-presentation[data-presentation-cover-position="right"] .public-slide--cover {
  align-items: flex-end !important;
  text-align: right !important;
}

.public-presentation[data-presentation-cover-position="right"] .public-slide--cover .public-slide__rule {
  margin-left: auto;
}

[data-slide-position="center"] #presSlideTitle,
[data-slide-position="center"] #presSlideBullets { text-align: center; }
[data-slide-position="center"] #presSlideTitle + div { margin-inline: auto; }
[data-slide-position="right"] #presSlideTitle,
[data-slide-position="right"] #presSlideBullets { text-align: right; }
[data-slide-position="right"] #presSlideTitle + div { margin-left: auto; }

.public-presentation[data-slide-position="center"] .public-slide--content { text-align: center; }
.public-presentation[data-slide-position="center"] .public-slide--content .public-slide__rule { margin-inline: auto; }
.public-presentation[data-slide-position="right"] .public-slide--content { text-align: right; }
.public-presentation[data-slide-position="right"] .public-slide--content .public-slide__rule { margin-left: auto; }
.public-presentation[data-slide-position="right"] .public-slide__point { border-left: 0; border-right: 4px solid var(--presentation-accent); padding-left: 0; padding-right: 1rem; }

[data-presentation-transition="fade"] .anim-slide-up,
[data-presentation-transition="fade"] .anim-slide-left,
[data-presentation-transition="fade"] .anim-zoom-in,
[data-presentation-transition="fade"] .anim-fade-in {
  animation-name: fadeIn !important;
  transform: none !important;
}

[data-presentation-transition="slide-up"] .anim-slide-up,
[data-presentation-transition="slide-up"] .anim-slide-left,
[data-presentation-transition="slide-up"] .anim-zoom-in,
[data-presentation-transition="slide-up"] .anim-fade-in {
  animation-name: slideUp !important;
}

[data-presentation-transition="slide-left"] .anim-slide-up,
[data-presentation-transition="slide-left"] .anim-slide-left,
[data-presentation-transition="slide-left"] .anim-zoom-in,
[data-presentation-transition="slide-left"] .anim-fade-in {
  animation-name: slideLeft !important;
}

[data-presentation-transition="zoom"] .anim-slide-up,
[data-presentation-transition="zoom"] .anim-slide-left,
[data-presentation-transition="zoom"] .anim-zoom-in,
[data-presentation-transition="zoom"] .anim-fade-in {
  animation-name: zoomIn !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #captureArea,
.public-presentation[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) {
  background: var(--presentation-canvas) !important;
  color: var(--presentation-ink) !important;
  font-family: var(--presentation-body) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presHeader,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presFooter,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutAgenda > div:first-child,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutContent > div:first-child,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutMOM > div:first-child {
  background: var(--presentation-canvas) !important;
  border-color: var(--presentation-line) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutCover,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutThankYou,
.public-presentation[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) .public-slide--cover,
.public-presentation[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) .public-slide--closing {
  background: var(--presentation-cover) !important;
  color: var(--presentation-cover-text) !important;
  font-family: var(--presentation-body) !important;
}

.public-presentation .public-slide--cover,
.public-presentation .public-slide--closing {
  background: var(--presentation-cover) !important;
  color: var(--presentation-cover-text) !important;
  font-family: var(--presentation-body) !important;
}

.public-presentation[data-presentation-theme="corporate-blue"] .public-slide--cover,
.public-presentation[data-presentation-theme="corporate-blue"] .public-slide--closing {
  background: linear-gradient(135deg, #0a0f1d 0%, #172554 55%, #0f766e 100%) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutCover .orb-1,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutCover .orb-2,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutThankYou .orb-1,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutThankYou .orb-2 {
  display: none;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presCoverTitle,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presSlideTitle,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutAgenda h1,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutMOM h1,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutThankYou h1,
.public-presentation .public-slide h1,
.public-presentation .public-slide h2 {
  color: var(--presentation-ink) !important;
  font-family: var(--presentation-heading) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutCover #presCoverTitle,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutThankYou h1,
.public-presentation .public-slide--cover h1,
.public-presentation .public-slide--closing h2 {
  color: var(--presentation-cover-text) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presCoverMeta,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presCoverMeta span,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutThankYou p {
  color: var(--presentation-cover-muted) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presCoverMeta > div {
  background: var(--presentation-accent) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presSlideTitle,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutAgenda h1,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #layoutMOM h1 {
  border-color: var(--presentation-accent) !important;
  color: var(--presentation-ink) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presSlideTitle + div {
  background: var(--presentation-accent) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presSlideBullets > li,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #momContentList > div,
.public-presentation .public-slide--content,
.public-presentation .public-slide--agenda {
  background: var(--presentation-surface) !important;
  border-color: var(--presentation-line) !important;
  border-radius: var(--theme-radius) !important;
  color: var(--presentation-ink) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presSlideBullets > li span:first-child,
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #momContentList h3 {
  color: var(--presentation-ink) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presSlideBullets > li span:not(:first-child),
[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #momContentList p {
  color: var(--presentation-muted) !important;
}

[data-presentation-theme]:not([data-presentation-theme="corporate-blue"]) #presSlideBullets > li > div:first-child {
  background: var(--presentation-accent) !important;
}

[data-presentation-layout="editorial"] { --theme-radius: 0; }
[data-presentation-layout="editorial"] #presCoverTitle,
[data-presentation-layout="editorial"] .public-slide--cover h1 { text-align: left !important; }
[data-presentation-layout="structured"] { --theme-radius: 0.35rem; }
[data-presentation-layout="ledger"] #presSlideBullets > li { border-left: 4px solid var(--presentation-accent) !important; }
[data-presentation-layout="studio"] { --theme-radius: 1.5rem; }
[data-presentation-layout="minimal"] { --theme-radius: 0; }
[data-presentation-layout="minimal"] #presSlideBullets > li { box-shadow: none !important; }
[data-presentation-layout="keynote"] #presSlideTitle,
[data-presentation-layout="keynote"] .public-slide h2 { text-transform: uppercase; }
[data-presentation-layout="luxury"] #presHeaderTitle,
[data-presentation-layout="luxury"] #presFooter,
[data-presentation-layout="luxury"] #layoutAgenda p,
[data-presentation-layout="luxury"] #layoutContent p { color: var(--presentation-muted) !important; }
[data-presentation-layout="offset"] #presSlideTitle,
[data-presentation-layout="offset"] .public-slide h2 { transform: translateX(1.25rem); }

.public-presentation {
  background: var(--presentation-canvas);
  color: var(--presentation-ink);
  font-family: var(--presentation-body);
}

.public-stage { min-height: 0; overflow: hidden; }
.public-slide {
  height: min(68vh, 48rem);
  min-height: min(68vh, 48rem);
  overflow: auto;
}

.public-slide__brand {
  color: var(--presentation-muted);
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin-top: 1.25rem;
  position: static;
  text-transform: uppercase;
}

.public-slide--agenda { padding-bottom: clamp(2rem, 4vw, 3.5rem) !important; }

.presentation-slide-brand {
  bottom: 1.5rem;
  color: var(--presentation-cover-muted);
  font-size: 0.68rem;
  font-weight: 800;
  left: 2rem;
  letter-spacing: 0.14em;
  position: absolute;
  text-transform: uppercase;
  z-index: 20;
}

.public-presentation[data-presentation-plan="free"] .public-slide__brand,
[data-presentation-plan="free"] #presentationFooterBrand,
[data-presentation-plan="free"] .presentation-slide-brand {
  border: 1px solid var(--presentation-line);
  border-radius: 999px;
  padding: 0.35rem 0.65rem;
}

.public-presentation[data-presentation-plan="pro"] .public-slide__brand,
[data-presentation-plan="pro"] #presentationFooterBrand,
[data-presentation-plan="pro"] .presentation-slide-brand {
  letter-spacing: 0.08em;
  text-transform: none;
}

.public-slide__eyebrow {
  color: var(--presentation-accent);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.public-slide__rule {
  background: var(--presentation-accent);
  height: 0.25rem;
  margin-block: 1.25rem;
  width: 5rem;
}

.public-slide__point {
  border-left: 4px solid var(--presentation-accent);
  padding-left: 1rem;
}

.public-slide__point p {
  color: var(--presentation-muted);
}

/* The canvas stays flush with the window. Content padding must never pull the scrollbars inward. */
#captureArea {
  --presenter-edge: clamp(1.25rem, 4vw, 4.5rem);
  margin-inline: 0 !important;
  max-width: none !important;
  padding-inline: 0 !important;
  width: 100% !important;
}
#presHeader,
#presFooter { margin-inline: var(--presenter-edge); }
#presContentArea { min-height: 0; width: 100%; }
.presentation-slide-viewport {
  box-sizing: border-box;
  height: 100%;
  margin: 0;
  max-width: none;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 var(--presenter-edge) clamp(1.25rem, 3vh, 2.5rem);
  scrollbar-gutter: auto;
  width: 100%;
}
.presentation-slide-viewport:not(.hidden) { display: flex; }
.presentation-canvas-root[data-visual-mode="table"] #layoutContent { overflow-x: hidden; }

/* Tables are compact in-slide; detail is available through the explicit enlarge control. */
.presentation-canvas-root .presentation-slide-viewport .presentation-table-wrap { overflow: auto; }
.presentation-canvas-root .presentation-slide-viewport .presentation-table { min-width: max(100%, 38rem); }

/* Shared motion keeps presenter preview and public share rendering in lockstep. */
.anim-slide-up { animation: slideUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; opacity: 0; transform: translateY(40px); }
.anim-slide-left { animation: slideLeft 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; opacity: 0; transform: translateX(-40px); }
.anim-zoom-in { animation: zoomIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; opacity: 0; transform: scale(0.92); }
.anim-fade-in { animation: fadeIn 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; opacity: 0; }
.anim-line-grow { animation: lineGrow 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; opacity: 0; width: 0; }
@keyframes slideUp { to { opacity: 1; transform: translateY(0); } }
@keyframes slideLeft { to { opacity: 1; transform: translateX(0); } }
@keyframes zoomIn { to { opacity: 1; transform: scale(1); } }
@keyframes fadeIn { to { opacity: 1; } }
@keyframes lineGrow { to { opacity: 1; width: 100%; } }

.bg-gradient-alive {
  animation: gradientFlow 10s ease-in-out infinite;
  background: linear-gradient(-45deg, #0a0f1d, #1e1b4b, #0f766e, #0f172a);
  background-size: 400% 400%;
}

/* The cover is the single entry action: its motion confirms that a click opens the agenda. */
.presentation-cover--interactive { cursor: pointer; }
.presentation-cover__content {
  animation: coverStageIn 760ms cubic-bezier(0.16, 1, 0.3, 1) both;
  transition: filter 440ms ease, transform 440ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.presentation-cover--interactive #presCoverLogo,
.presentation-cover--interactive #presCoverTitle,
.presentation-cover--interactive #presCoverMeta,
.presentation-cover--interactive .anim-line-grow {
  transition: filter 420ms ease, letter-spacing 420ms cubic-bezier(0.16, 1, 0.3, 1), opacity 420ms ease;
}
.presentation-cover--interactive:hover .presentation-cover__content { filter: brightness(1.06); transform: translateY(-0.7rem) scale(1.012); }
.presentation-cover--interactive:hover #presCoverLogo { filter: drop-shadow(0 1.15rem 1.5rem rgb(0 0 0 / 0.42)); }
.presentation-cover--interactive:hover #presCoverTitle { letter-spacing: 0.026em; }
.presentation-cover--interactive:hover #presCoverMeta { filter: brightness(1.18); }
.presentation-cover--interactive:hover .anim-line-grow { filter: brightness(1.35); opacity: 0.94; }
.presentation-cover--interactive:active .presentation-cover__content { transform: translateY(-0.2rem) scale(0.992); }
@keyframes coverStageIn {
  from { clip-path: inset(0 0 100% 0); opacity: 0; }
  to { clip-path: inset(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .presentation-cover__content,
  .presentation-cover--interactive #presCoverLogo,
  .presentation-cover--interactive #presCoverTitle,
  .presentation-cover--interactive #presCoverMeta,
  .presentation-cover--interactive .anim-line-grow { animation: none; transition: none; }
  .presentation-cover--interactive:hover .presentation-cover__content,
  .presentation-cover--interactive:active .presentation-cover__content { filter: none; transform: none; }
  .presentation-cover--interactive:hover #presCoverLogo,
  .presentation-cover--interactive:hover #presCoverTitle,
  .presentation-cover--interactive:hover #presCoverMeta,
  .presentation-cover--interactive:hover .anim-line-grow { filter: none; letter-spacing: normal; opacity: 1; }
}
@keyframes gradientFlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.bg-grid-pattern-dark { background-image: radial-gradient(#ffffff 1px, transparent 1px); background-size: 50px 50px; opacity: 0.04; }
.orb-1 { animation: orbitSlow 15s linear infinite; }
.orb-2 { animation: orbitSlow 18s linear infinite reverse; }
@keyframes orbitSlow {
  0% { opacity: 0.4; transform: rotate(0deg) translateX(150px) rotate(0deg); }
  50% { opacity: 0.8; }
  100% { opacity: 0.4; transform: rotate(360deg) translateX(150px) rotate(-360deg); }
}

/* Agenda density determines the composition, while every entry remains a real control. */
.presentation-agenda-heading {
  background: var(--presentation-canvas) !important;
  border-bottom: 1px solid var(--presentation-line);
  margin-bottom: clamp(1rem, 2.2vh, 1.8rem);
}
.presentation-agenda-heading__eyebrow {
  color: var(--presentation-accent) !important;
  font-size: 0.72rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.12em;
  margin: 0 0 0.45rem !important;
  text-transform: uppercase;
}
.presentation-agenda-heading h1,
.public-slide--agenda .presentation-agenda-heading h2 {
  color: var(--presentation-ink) !important;
  font-family: var(--presentation-heading) !important;
  font-size: clamp(2rem, 3.4vw, 3.4rem) !important;
  line-height: 1.05;
  margin: 0;
  text-wrap: balance;
}
.presentation-agenda-heading > p:last-child {
  color: var(--presentation-muted) !important;
  line-height: 1.5;
}
.presentation-agenda {
  display: grid;
  gap: 0;
  padding-bottom: 0.5rem;
}
.presentation-agenda-empty {
  background: var(--presentation-surface);
  border: 1px solid var(--presentation-line);
  color: var(--presentation-ink);
  display: grid;
  gap: 0.45rem;
  min-height: 8rem;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  place-content: center start;
}
.presentation-agenda-empty strong { font-family: var(--presentation-heading); font-size: clamp(1.2rem, 2vw, 1.8rem); }
.presentation-agenda-empty span { color: var(--presentation-muted); line-height: 1.55; }
.agenda-item {
  align-items: center;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--presentation-line);
  color: var(--presentation-ink);
  cursor: pointer;
  display: grid;
  font-family: var(--presentation-body);
  gap: clamp(0.75rem, 1.6vw, 1.5rem);
  grid-template-columns: clamp(2.75rem, 5vw, 5rem) minmax(0, 1fr) auto;
  min-height: 4.75rem;
  padding: clamp(0.75rem, 1.4vw, 1.25rem) clamp(0.15rem, 0.6vw, 0.65rem);
  position: relative;
  text-align: left;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
  width: 100%;
}
.agenda-item:last-child { border-bottom: 1px solid var(--presentation-line); }
.agenda-item:hover,
.agenda-item:active {
  background: color-mix(in srgb, var(--presentation-accent) 9%, var(--presentation-surface));
  border-color: var(--presentation-accent);
}
.agenda-item:focus-visible {
  outline: 3px solid var(--presentation-accent);
  outline-offset: 3px;
}
.presentation-closing__return:focus-visible {
  outline: 3px solid var(--presentation-cover-text);
  outline-offset: 4px;
}
.agenda-item__number {
  color: var(--presentation-accent);
  font-family: var(--presentation-heading);
  font-size: clamp(1.15rem, 2.2vw, 2.2rem);
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  line-height: 1;
}
.agenda-item__copy { display: grid; gap: 0.3rem; min-width: 0; }
.agenda-item__copy strong {
  color: var(--presentation-ink);
  font-family: var(--presentation-heading);
  font-size: clamp(1rem, 1.55vw, 1.45rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.agenda-item__copy small,
.agenda-item__cue {
  color: var(--presentation-muted);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.04em;
}
.agenda-item__cue {
  border-bottom: 2px solid var(--presentation-accent);
  padding-bottom: 0.2rem;
}
.agenda-item:hover .agenda-item__cue,
.agenda-item:focus-visible .agenda-item__cue { color: var(--presentation-ink); }

.presentation-agenda[data-agenda-mode="route"] {
  column-gap: clamp(1rem, 2.6vw, 2.5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 82rem;
}
.presentation-agenda[data-agenda-mode="route"] .agenda-item {
  background: var(--presentation-surface);
  border: 1px solid var(--presentation-line);
  grid-template-columns: clamp(4rem, 8vw, 7rem) minmax(0, 1fr) auto;
  min-height: clamp(5.5rem, 12vh, 8rem);
  padding-inline: clamp(1rem, 2vw, 1.75rem);
}
.presentation-agenda[data-agenda-mode="route"][data-agenda-count="1"] { grid-template-columns: minmax(0, 1fr); max-width: 46rem; }
.presentation-agenda[data-agenda-mode="route"][data-agenda-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.presentation-agenda[data-agenda-mode="route"][data-agenda-count="3"] .agenda-item { grid-template-columns: 1fr; align-content: start; }
.presentation-agenda[data-agenda-mode="route"][data-agenda-count="3"] .agenda-item__cue { justify-self: start; }
.presentation-agenda[data-agenda-mode="route"] .agenda-item__number {
  font-size: clamp(2.4rem, 5.4vw, 5rem);
  opacity: 0.76;
}
.presentation-agenda[data-agenda-mode="route"] .agenda-item__copy strong {
  font-size: clamp(1.3rem, 2.4vw, 2.25rem);
}
.presentation-agenda[data-agenda-mode="chapters"] {
  column-gap: clamp(1.25rem, 3vw, 3.5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.presentation-agenda[data-agenda-mode="chapters"] .agenda-item:nth-child(-n+2) { border-top-width: 2px; }
.presentation-agenda[data-agenda-mode="navigator"] {
  column-gap: clamp(0.8rem, 2vw, 2rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.presentation-agenda[data-agenda-mode="navigator"] .agenda-item {
  gap: 0.75rem;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  min-height: 4.25rem;
  padding-block: 0.65rem;
}
.presentation-agenda[data-agenda-mode="navigator"] .agenda-item__number { font-size: 1rem; }
.presentation-agenda[data-agenda-mode="navigator"] .agenda-item__copy strong { font-family: var(--presentation-body); font-size: clamp(0.86rem, 1.05vw, 1rem); }
.presentation-agenda[data-agenda-mode="navigator"] .agenda-item__cue { display: none; }

/* Closing pages inherit the selected theme instead of reverting to one fixed dark card. */
.presentation-closing,
.public-presentation .public-slide--closing.presentation-closing {
  background: var(--presentation-cover) !important;
  color: var(--presentation-cover-text) !important;
  overflow: auto;
  position: relative;
}
#layoutThankYou.presentation-closing:not(.hidden) { display: flex; }
.presentation-closing__accent {
  background: var(--presentation-accent);
  height: clamp(0.45rem, 1vw, 0.85rem);
  inset: 0 0 auto;
  position: absolute;
}
.presentation-closing__frame {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: auto;
  max-width: 72rem;
  padding: clamp(2rem, 6vw, 6rem);
  text-align: center;
}
.presentation-closing__eyebrow {
  color: var(--presentation-cover-muted) !important;
  font-family: var(--presentation-body);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.presentation-closing h1,
.presentation-closing h2 {
  color: var(--presentation-cover-text) !important;
  font-family: var(--presentation-heading) !important;
  font-size: clamp(3rem, 8vw, 7.5rem) !important;
  font-weight: 850;
  letter-spacing: -0.035em;
  line-height: 0.96;
  margin: 0;
  text-wrap: balance;
}
.presentation-closing__rule {
  background: var(--presentation-accent);
  display: block;
  height: 0.3rem;
  margin: clamp(1.4rem, 3vw, 2.5rem) 0;
  width: clamp(5rem, 10vw, 9rem);
}
.presentation-closing__text {
  color: var(--presentation-cover-muted) !important;
  font-family: var(--presentation-body);
  font-size: clamp(1rem, 1.65vw, 1.35rem);
  line-height: 1.65;
  margin: 0;
  max-width: 52rem;
  text-wrap: pretty;
}
.presentation-closing__identity {
  color: var(--presentation-cover-text) !important;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 1.25rem 0 0;
}
.presentation-closing__identity:empty { display: none; }
.presentation-closing__return {
  background: var(--presentation-accent);
  border: 2px solid var(--presentation-cover-text);
  color: var(--presentation-accent-text);
  cursor: pointer;
  font: 800 0.82rem/1 var(--presentation-body);
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
  min-height: 44px;
  padding: 0.8rem 1.15rem;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.presentation-closing__return:hover { transform: translateY(-2px); }

[data-presentation-layout="editorial"] .presentation-closing__frame,
[data-presentation-layout="minimal"] .presentation-closing__frame,
[data-presentation-layout="ledger"] .presentation-closing__frame {
  align-items: flex-start;
  text-align: left;
}
[data-presentation-layout="editorial"] .presentation-closing__frame { border-top: 2px solid var(--presentation-accent); }
[data-presentation-layout="ledger"] .presentation-closing__frame { border-left: clamp(0.45rem, 1vw, 0.8rem) solid var(--presentation-accent); }
[data-presentation-layout="studio"] .presentation-closing__frame {
  background: color-mix(in srgb, var(--presentation-cover) 82%, var(--presentation-surface));
  border: 1px solid color-mix(in srgb, var(--presentation-cover-muted) 45%, transparent);
  border-radius: 2rem;
  max-width: 62rem;
}
[data-presentation-layout="keynote"] .presentation-closing__accent,
[data-presentation-layout="offset"] .presentation-closing__accent {
  height: auto;
  inset: 0 0 0 auto;
  width: clamp(1rem, 22vw, 24rem);
}
[data-presentation-layout="keynote"] .presentation-closing__frame,
[data-presentation-layout="offset"] .presentation-closing__frame {
  align-items: flex-start;
  margin-left: clamp(1rem, 8vw, 9rem);
  margin-right: clamp(5rem, 24vw, 27rem);
  text-align: left;
}
[data-presentation-layout="luxury"] .presentation-closing__frame {
  border-block: 1px solid var(--presentation-accent);
  max-width: 66rem;
}
[data-presentation-layout="civic"] .presentation-closing__frame {
  border-bottom: 0.5rem solid var(--presentation-accent);
  max-width: 64rem;
}

[data-presentation-background="contrast"] .presentation-agenda-heading {
  background: var(--presentation-cover) !important;
}
[data-presentation-background="contrast"] .presentation-agenda-heading h1,
[data-presentation-background="contrast"] .presentation-agenda-heading h2,
[data-presentation-background="contrast"] .presentation-agenda-heading > p:last-child {
  color: var(--presentation-cover-text) !important;
}
[data-presentation-background="contrast"] .agenda-item { background: var(--presentation-surface); }

/* Content-fit system shared by the editor, presenter view, public link and PDF capture. */
[data-presentation-theme] {
  --slide-title-size: clamp(2rem, 3.3vw, 3rem);
  --slide-point-title-size: clamp(1.1rem, 1.6vw, 1.65rem);
  --slide-point-body-size: clamp(0.94rem, 1.15vw, 1.15rem);
  --slide-card-pad: clamp(1rem, 1.55vw, 1.5rem);
  --slide-content-gap: clamp(1rem, 2vw, 2.25rem);
  --slide-row-gap: clamp(0.85rem, 1.55vw, 1.5rem);
}

[data-content-density="compact"] {
  --slide-title-size: clamp(1.75rem, 2.8vw, 2.55rem);
  --slide-point-title-size: clamp(1rem, 1.35vw, 1.32rem);
  --slide-point-body-size: clamp(0.84rem, 1vw, 1rem);
  --slide-card-pad: clamp(0.8rem, 1.2vw, 1.15rem);
  --slide-row-gap: clamp(0.65rem, 1vw, 1rem);
}

[data-content-density="dense"] {
  --slide-title-size: clamp(1.55rem, 2.35vw, 2.2rem);
  --slide-point-title-size: clamp(0.92rem, 1.12vw, 1.12rem);
  --slide-point-body-size: clamp(0.78rem, 0.92vw, 0.92rem);
  --slide-card-pad: clamp(0.68rem, 0.9vw, 0.9rem);
  --slide-content-gap: clamp(0.75rem, 1.15vw, 1.2rem);
  --slide-row-gap: clamp(0.5rem, 0.85vw, 0.78rem);
}

[data-title-density="long"] {
  --slide-title-size: clamp(1.45rem, 2.2vw, 2.15rem);
}

[data-title-density="medium"]:not([data-content-density="dense"]) {
  --slide-title-size: clamp(1.7rem, 2.75vw, 2.55rem);
}

#layoutContent { container-type: inline-size; }
#layoutContent > div:first-child { margin-bottom: var(--slide-content-gap) !important; }
#presSlideTitle { font-size: var(--slide-title-size) !important; overflow-wrap: anywhere; text-wrap: balance; }
#presSlideGrid { gap: var(--slide-content-gap) !important; min-height: 0; }
#presSlideGrid > *,
#presSlideTextCol,
#presSlideVisual { min-width: 0; }
[data-visual-mode="table"] #presSlideGrid { grid-template-columns: minmax(14rem, 0.72fr) minmax(0, 1.5fr) !important; }
.presentation-point-grid { column-gap: var(--slide-content-gap) !important; row-gap: var(--slide-row-gap) !important; }
.presentation-point { border-radius: var(--theme-radius); padding: var(--slide-card-pad); min-width: 0; break-inside: avoid; }
.presentation-point__rule { width: 0.32rem; border-radius: var(--theme-radius) 0 0 var(--theme-radius); }
.presentation-point__content { padding-left: clamp(0.65rem, 1vw, 1rem); min-width: 0; }
.presentation-point__title { font-size: var(--slide-point-title-size) !important; margin-bottom: 0.35em; overflow-wrap: anywhere; text-wrap: pretty; }
.presentation-point__body { font-size: var(--slide-point-body-size) !important; overflow-wrap: anywhere; text-wrap: pretty; }

.presentation-table-wrap { border-radius: max(0.25rem, var(--theme-radius)); max-height: min(56vh, 34rem); }
.presentation-table-shell--compact { align-self: center; gap: 0.55rem; max-width: min(100%, 68rem); min-width: 0; }
.presentation-table-shell--compact .presentation-table-wrap { max-height: min(34vh, 21rem); }
.presentation-table-shell--compact .presentation-table { font-size: clamp(0.64rem, 0.78vw, 0.84rem); }
.presentation-table-shell--compact .presentation-table th,
.presentation-table-shell--compact .presentation-table td { max-width: 14rem; padding: clamp(0.34rem, 0.6vw, 0.58rem); }
.presentation-table-zoom { align-self: end; background: var(--presentation-ink); border: 1px solid var(--presentation-ink); color: var(--presentation-surface); }
.presentation-table-zoom:hover,
.presentation-table-zoom:focus-visible { background: var(--presentation-accent); border-color: var(--presentation-accent); outline: 3px solid var(--presentation-accent); outline-offset: 3px; }
.public-presentation[data-visual-mode="table"] .public-slide { overflow: hidden; }
.public-slide .presentation-table-wrap { max-height: min(22vh, 14rem); }
.presentation-table { border-collapse: collapse; font-size: var(--slide-point-body-size); table-layout: auto; }
.presentation-table th,
.presentation-table td { border-bottom: 1px solid var(--presentation-line); max-width: 28rem; padding: clamp(0.48rem, 0.85vw, 0.8rem); vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
.presentation-table th { background: var(--presentation-canvas); color: var(--presentation-ink); font-weight: 800; position: sticky; top: 0; z-index: 1; }
.presentation-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--presentation-canvas) 58%, transparent); }
[data-table-columns="5"] .presentation-table,
[data-table-columns="6"] .presentation-table,
[data-table-columns="7"] .presentation-table,
[data-table-columns="8"] .presentation-table,
[data-table-columns="9"] .presentation-table { font-size: clamp(0.64rem, 0.72vw, 0.78rem); }
[data-table-columns="5"] .presentation-table th,
[data-table-columns="5"] .presentation-table td,
[data-table-columns="6"] .presentation-table th,
[data-table-columns="6"] .presentation-table td,
[data-table-columns="7"] .presentation-table th,
[data-table-columns="7"] .presentation-table td,
[data-table-columns="8"] .presentation-table th,
[data-table-columns="8"] .presentation-table td,
[data-table-columns="9"] .presentation-table th,
[data-table-columns="9"] .presentation-table td { padding: 0.38rem 0.46rem; }
[data-content-density="dense"] .presentation-table { font-size: clamp(0.68rem, 0.78vw, 0.82rem); }
[data-content-density="dense"] .presentation-table th,
[data-content-density="dense"] .presentation-table td { padding: 0.42rem 0.52rem; }
.presentation-table-zoom { border-radius: 0.45rem; min-height: 44px; padding: 0.45rem 0.85rem; }
.presentation-table-dialog { background: var(--presentation-surface); border: 1px solid var(--presentation-line); box-shadow: 0 1.5rem 5rem rgb(15 23 42 / 0.38); color: var(--presentation-ink); max-height: min(88dvh, 60rem); max-width: min(94vw, 90rem); padding: 0; width: 100%; }
.presentation-table-dialog::backdrop { background: rgb(15 23 42 / 0.68); }
.presentation-table-dialog__bar { align-items: center; background: var(--presentation-canvas); border-bottom: 1px solid var(--presentation-line); display: flex; justify-content: space-between; padding: 0.75rem 1rem; position: sticky; top: 0; z-index: 2; }
.presentation-table-dialog__bar h2 { font-family: var(--presentation-heading); font-size: 1.1rem; margin: 0; }
.presentation-table-dialog__bar button { background: var(--presentation-ink); border: 1px solid var(--presentation-ink); color: var(--presentation-surface); min-height: 44px; padding: 0.45rem 0.85rem; }
.presentation-table-dialog__bar button:focus-visible { outline: 3px solid var(--presentation-accent); outline-offset: 3px; }
.presentation-table-dialog__content { max-height: calc(min(88dvh, 60rem) - 4rem); overflow: auto; padding: 1rem; }
.presentation-table-dialog__content .presentation-table { min-width: max(100%, 44rem); }

/* Theme layouts deliberately change the agenda's navigation grammar, not only its palette. */
[data-presentation-layout="centered"] .presentation-agenda[data-agenda-mode="route"] .agenda-item { border-top-width: 0.35rem; }
[data-presentation-layout="editorial"] .presentation-agenda .agenda-item { background: transparent; border-inline: 0; }
[data-presentation-layout="editorial"] .presentation-agenda[data-agenda-mode="route"] { grid-template-columns: minmax(0, 1fr); max-width: 76rem; }
[data-presentation-layout="editorial"] .presentation-agenda[data-agenda-mode="route"] .agenda-item { border-top-width: 2px; padding-inline: 0; }
[data-presentation-layout="structured"] .presentation-agenda .agenda-item { background: var(--presentation-surface); border-inline: 0.3rem solid var(--presentation-accent); }
[data-presentation-layout="ledger"] .presentation-agenda { border-top: 2px solid var(--presentation-ink); }
[data-presentation-layout="ledger"] .presentation-agenda .agenda-item { grid-template-columns: clamp(3.2rem, 5vw, 5rem) minmax(0, 1fr) auto; }
[data-presentation-layout="studio"] .presentation-agenda .agenda-item { background: color-mix(in srgb, var(--presentation-surface) 88%, var(--presentation-accent)); border-radius: var(--theme-radius); }
[data-presentation-layout="minimal"] .presentation-agenda .agenda-item { background: transparent; padding-inline: 0; }
[data-presentation-layout="keynote"] .presentation-agenda .agenda-item { background: var(--presentation-ink); border-color: var(--presentation-ink); color: var(--presentation-surface); }
[data-presentation-layout="keynote"] .presentation-agenda .agenda-item__copy strong,
[data-presentation-layout="keynote"] .presentation-agenda .agenda-item__cue { color: var(--presentation-surface); }
[data-presentation-layout="luxury"] .presentation-agenda .agenda-item { border-inline: 1px solid var(--presentation-line); padding-inline: clamp(1rem, 2vw, 2rem); }
[data-presentation-layout="civic"] .presentation-agenda[data-agenda-mode="chapters"] .agenda-item:nth-child(odd) { transform: translateY(1rem); }
[data-presentation-layout="offset"] .presentation-agenda[data-agenda-mode="route"] .agenda-item:nth-child(even) { transform: translateY(clamp(0.5rem, 1.5vw, 1.25rem)); }

@media (max-width: 52rem) {
  .presentation-agenda[data-agenda-mode="route"],
  .presentation-agenda[data-agenda-mode="route"][data-agenda-count="3"],
  .presentation-agenda[data-agenda-mode="chapters"],
  .presentation-agenda[data-agenda-mode="navigator"] { grid-template-columns: minmax(0, 1fr); }
  .presentation-agenda[data-agenda-mode="route"] .agenda-item,
  .presentation-agenda[data-agenda-mode="route"][data-agenda-count="3"] .agenda-item { grid-template-columns: 3.5rem minmax(0, 1fr) auto; min-height: 5.2rem; }
  .presentation-agenda[data-agenda-mode="route"][data-agenda-count="3"] .agenda-item__cue { justify-self: auto; }
  [data-presentation-layout="civic"] .presentation-agenda[data-agenda-mode="chapters"] .agenda-item:nth-child(odd),
  [data-presentation-layout="offset"] .presentation-agenda[data-agenda-mode="route"] .agenda-item:nth-child(even) { transform: none; }
  .presentation-table-shell--compact .presentation-table-wrap { max-height: min(38vh, 18rem); }
  .presentation-table-dialog__content { padding: 0.6rem; }
}

.public-slide--content h2 { font-size: var(--slide-title-size) !important; line-height: 1.08; overflow-wrap: anywhere; text-wrap: balance; }
.public-slide--content > .grid { gap: var(--slide-row-gap) !important; grid-template-columns: repeat(var(--smart-columns, 1), minmax(0, 1fr)); }
.public-slide__point { min-width: 0; padding-block: 0.15rem; }
.public-slide__point h3 { font-size: var(--slide-point-title-size) !important; line-height: 1.2; overflow-wrap: anywhere; text-wrap: pretty; }
.public-slide__point p { font-size: var(--slide-point-body-size); line-height: 1.55; overflow-wrap: anywhere; text-wrap: pretty; }
.public-chart { display: grid; gap: 0.72rem; }
.public-chart__row { align-items: center; display: grid; font-size: var(--slide-point-body-size); gap: 0.75rem; grid-template-columns: minmax(6rem, 0.8fr) minmax(8rem, 3fr) auto; }
.public-chart__row > span { font-weight: 700; overflow-wrap: anywhere; }
.public-chart__row > div { background: var(--presentation-canvas); height: 0.72rem; overflow: hidden; }
.public-chart__row i { background: var(--presentation-accent); display: block; height: 100%; }
.public-chart__row strong { color: var(--presentation-muted); font-variant-numeric: tabular-nums; }

/* Presentation editor workspace */
#adminView { background: #e8edf3; }
.presentation-editor-toolbar { border: 1px solid #334155; border-radius: 0.75rem; }
.presentation-editor-shell {
  background: #f4f7fa;
  border: 1px solid #cbd5e1;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
  padding: clamp(1.25rem, 3vw, 2rem);
}
.presentation-editor-panel {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  box-shadow: none;
  margin: 0 0 0.65rem;
  overflow: clip;
  padding: 0;
}
.presentation-editor-panel.theme-picker,
.presentation-editor-panel.design-controls { border: 1px solid #cbd5e1; border-radius: 0; margin: 0 0 0.65rem; padding: 0; }
.presentation-editor-panel.design-controls::before { display: none; }
.presentation-editor-panel__summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  list-style: none;
  min-height: 4.25rem;
  padding: 0.85rem 1rem;
  transition: background-color 160ms ease;
}
.presentation-editor-panel__summary::-webkit-details-marker { display: none; }
.presentation-editor-panel__summary:hover { background: #f8fafc; }
.presentation-editor-panel__summary:focus-visible { outline: 3px solid #2563eb; outline-offset: -3px; }
.presentation-editor-panel__summary > span:first-child { display: grid; gap: 0.18rem; }
.presentation-editor-panel__summary strong { color: #0f172a; font-size: 0.92rem; font-weight: 850; }
.presentation-editor-panel__summary small { color: #64748b; font-size: 0.72rem; }
.presentation-editor-panel__action { color: #1d4ed8; font-size: 0.72rem; font-weight: 850; text-transform: uppercase; }
.presentation-editor-panel__action::before { content: "+ "; }
.presentation-editor-panel[open] .presentation-editor-panel__action::before { content: "− "; }
.presentation-editor-panel__content { border-top: 1px solid #cbd5e1; padding: 1.25rem; }
.presentation-cover-fields { background: #ffffff; border: 0; }
.presentation-slide-list-heading {
  align-items: end;
  border-bottom: 1px solid #94a3b8;
  display: flex;
  justify-content: space-between;
  margin: 2rem 0 0.85rem;
  padding-bottom: 0.75rem;
}
.presentation-slide-list-heading > div > span { color: #64748b; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.presentation-slide-list-heading h3 { color: #0f172a; font-size: 1.45rem; font-weight: 850; }
.presentation-slide-count { color: #475569; font-size: 0.78rem; font-weight: 750; }
.presentation-slide-list-actions { align-items: center; display: flex; gap: 0.75rem; }
.presentation-add-slide { background: #1d4ed8; border: 1px solid #1d4ed8; color: #ffffff; font-size: 0.78rem; font-weight: 850; min-height: 44px; padding: 0.6rem 0.9rem; }
.presentation-add-slide:hover { background: #1e40af; border-color: #1e40af; }
.presentation-add-slide:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.presentation-slide-list { display: grid; gap: 0.65rem; }
.presentation-editor-card { background: #ffffff; border: 1px solid #cbd5e1; box-shadow: 0 2px 5px rgba(15, 23, 42, 0.04); overflow: clip; }
.presentation-editor-card.is-open { border-color: #64748b; box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1); }
.presentation-editor-card__header { align-items: stretch; display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.presentation-slide-summary {
  align-items: center;
  background: #ffffff;
  color: #0f172a;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto 1rem;
  min-height: 4.5rem;
  padding: 0.75rem 1rem;
  text-align: left;
  width: 100%;
}
.presentation-slide-summary:hover { background: #f8fafc; }
.presentation-slide-summary:focus-visible { outline: 3px solid #2563eb; outline-offset: -3px; }
.presentation-editor-card.is-open .presentation-slide-summary { background: #eef2f6; }
.presentation-slide-number { color: #64748b; font-size: 0.78rem; font-variant-numeric: tabular-nums; font-weight: 850; letter-spacing: 0.08em; }
.presentation-slide-summary__text { display: grid; gap: 0.25rem; min-width: 0; }
.presentation-slide-summary__text > strong { font-size: 0.94rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.presentation-slide-summary__text > span { color: #64748b; display: flex; flex-wrap: wrap; font-size: 0.72rem; gap: 0.75rem; }
.presentation-slide-summary__text > span > span + span::before { content: "·"; margin-right: 0.75rem; }
.presentation-slide-density { border: 1px solid #cbd5e1; color: #475569; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.06em; padding: 0.28rem 0.45rem; text-transform: uppercase; }
.presentation-slide-density[data-density="dense"] { border-color: #d6a23d; color: #854d0e; }
.presentation-slide-chevron { border-bottom: 2px solid #64748b; border-right: 2px solid #64748b; height: 0.55rem; transform: rotate(45deg); transition: transform 160ms ease; width: 0.55rem; }
.presentation-editor-card.is-open .presentation-slide-chevron { transform: rotate(225deg); }
.presentation-slide-delete { align-self: center; color: #9f1239; font-size: 0.72rem; font-weight: 800; margin-right: 0.75rem; min-height: 44px; padding-inline: 0.75rem; }
.presentation-slide-delete:hover { background: #fff1f2; }
.presentation-slide-delete:focus-visible { outline: 3px solid #be123c; outline-offset: 2px; }
.presentation-editor-body { border-top: 1px solid #cbd5e1; padding: 1.25rem; }
.presentation-slide-settings-row { align-items: end; display: grid; gap: 0.8rem; grid-template-columns: minmax(10rem, 0.55fr) minmax(0, 1.45fr); margin-bottom: 1rem; }
.presentation-slide-layout-control label { color: #334155; display: block; font-size: 0.72rem; font-weight: 800; margin-bottom: 0.4rem; }
.presentation-slide-layout-control select { background: #ffffff; border: 1px solid #64748b; min-height: 44px; padding: 0.6rem 0.75rem; width: 100%; }
.presentation-slide-settings-row .slide-design-controls { margin: 0; }
.presentation-editor-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
.presentation-editor-grid--single { grid-template-columns: 1fr; }
.presentation-visual-fields { background: #f8fafc; border: 1px solid #cbd5e1; display: flex; flex-direction: column; height: 100%; padding: 1rem; }
.presentation-visual-fields.hidden,
.presentation-editor-body.hidden { display: none; }

/* Point component: resilient base plus a distinct architecture for every theme. */
.presentation-point {
  background: var(--presentation-surface) !important;
  border: 1px solid color-mix(in srgb, var(--presentation-line) 72%, transparent) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
  isolation: isolate;
  overflow: hidden;
  position: relative;
  transition: border-color 180ms ease, box-shadow 180ms ease, translate 180ms ease;
}
.presentation-point:hover { border-color: var(--presentation-accent) !important; box-shadow: 0 16px 30px rgba(15, 23, 42, 0.14) !important; translate: 0 -3px; }
.presentation-point__index { color: var(--presentation-accent); display: block; font-family: var(--presentation-heading); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.08em; margin-bottom: 0.55rem; }
.presentation-point__rule { background: var(--presentation-accent) !important; bottom: 0; left: 0; position: absolute; top: 0; }
.public-slide__point.presentation-point { border-left: 1px solid color-mix(in srgb, var(--presentation-line) 72%, transparent); padding: var(--slide-card-pad); }
.public-slide__point.presentation-point .presentation-point__content { padding-left: clamp(0.65rem, 1vw, 1rem); }

[data-presentation-layout="centered"] .presentation-point { border-top: 3px solid var(--presentation-accent) !important; }
[data-presentation-layout="centered"] .presentation-point__rule { display: none; }
[data-presentation-layout="centered"] .presentation-point__index { background: var(--presentation-accent); color: var(--presentation-accent-text); margin: calc(var(--slide-card-pad) * -1) calc(var(--slide-card-pad) * -1) 0.8rem; padding: 0.42rem var(--slide-card-pad); }
[data-presentation-layout="centered"] .presentation-point__content { padding-left: 0; }

[data-presentation-layout="editorial"] .presentation-point { background: transparent !important; border: 0 !important; border-top: 2px solid var(--presentation-ink) !important; box-shadow: none !important; display: grid; gap: 0.85rem; grid-template-columns: 2.5rem 1fr; padding-inline: 0 !important; }
[data-presentation-layout="editorial"] .presentation-point:hover { border-color: var(--presentation-accent) !important; box-shadow: none !important; translate: 0; }
[data-presentation-layout="editorial"] .presentation-point__index { color: var(--presentation-accent); font-size: 1.2rem; margin: 0; }
[data-presentation-layout="editorial"] .presentation-point__rule { display: none; }
[data-presentation-layout="editorial"] .presentation-point__content { padding-left: 0; }

[data-presentation-layout="structured"] .presentation-point { border-radius: 0.35rem; border-left: 4px solid var(--presentation-accent) !important; }
[data-presentation-layout="structured"] .presentation-point__rule { display: none; }
[data-presentation-layout="structured"] .presentation-point__index { border-bottom: 1px solid var(--presentation-line); padding-bottom: 0.5rem; }
[data-presentation-layout="structured"] .presentation-point__content { padding-left: 0; }

[data-presentation-layout="ledger"] .presentation-point { background: color-mix(in srgb, var(--presentation-surface) 84%, var(--presentation-canvas)) !important; border: 0 !important; border-bottom: 1px solid var(--presentation-line) !important; border-left: 5px solid var(--presentation-accent) !important; border-radius: 0; box-shadow: none !important; display: grid; gap: 0.85rem; grid-template-columns: 2.2rem 1fr; }
[data-presentation-layout="ledger"] .presentation-point:hover { background: var(--presentation-surface) !important; box-shadow: 0 8px 18px rgba(22, 121, 74, 0.12) !important; }
[data-presentation-layout="ledger"] .presentation-point__rule { display: none; }
[data-presentation-layout="ledger"] .presentation-point__index { align-self: start; background: var(--presentation-accent); color: var(--presentation-accent-text); margin: 0; padding: 0.35rem; text-align: center; }
[data-presentation-layout="ledger"] .presentation-point__content { padding-left: 0; }

[data-presentation-layout="studio"] .presentation-point { background: color-mix(in srgb, var(--presentation-surface) 88%, var(--presentation-accent)) !important; border: 0 !important; border-radius: 1.4rem; box-shadow: 0 14px 30px rgba(59, 34, 29, 0.13) !important; padding-left: calc(var(--slide-card-pad) + 2.3rem); }
[data-presentation-layout="studio"] .presentation-point__rule { display: none; }
[data-presentation-layout="studio"] .presentation-point__index { align-items: center; background: var(--presentation-accent); border-radius: 50%; color: var(--presentation-accent-text); display: flex; height: 2.1rem; justify-content: center; left: var(--slide-card-pad); margin: 0; position: absolute; top: var(--slide-card-pad); width: 2.1rem; }
[data-presentation-layout="studio"] .presentation-point__content { padding-left: 0; }

[data-presentation-layout="minimal"] .presentation-point { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--presentation-line) !important; border-radius: 0; box-shadow: none !important; display: grid; gap: 1rem; grid-template-columns: 2.4rem 1fr; padding-inline: 0 !important; }
[data-presentation-layout="minimal"] .presentation-point:hover { border-color: var(--presentation-accent) !important; box-shadow: none !important; translate: 0; }
[data-presentation-layout="minimal"] .presentation-point__rule { display: none; }
[data-presentation-layout="minimal"] .presentation-point__index { color: var(--presentation-muted); font-family: var(--presentation-body); margin: 0; }
[data-presentation-layout="minimal"] .presentation-point__content { padding-left: 0; }

[data-presentation-layout="keynote"] .presentation-point { background: var(--presentation-ink) !important; border: 0 !important; border-radius: 0.35rem; box-shadow: 0 14px 28px rgba(53, 16, 24, 0.2) !important; color: #ffffff !important; }
[data-presentation-layout="keynote"] .presentation-point__rule { bottom: auto; height: 0.35rem; right: 0; width: auto; }
[data-presentation-layout="keynote"] .presentation-point__index { color: #f2cdd5; }
[data-presentation-layout="keynote"] .presentation-point__title { color: #ffffff !important; }
[data-presentation-layout="keynote"] .presentation-point__body { color: #f2cdd5 !important; }

[data-presentation-layout="luxury"] .presentation-point { background: linear-gradient(145deg, var(--presentation-surface), color-mix(in srgb, var(--presentation-surface) 78%, #000)) !important; border: 1px solid color-mix(in srgb, var(--presentation-accent) 62%, transparent) !important; border-radius: 0; box-shadow: 0 16px 32px rgba(0, 0, 0, 0.24) !important; }
[data-presentation-layout="luxury"] .presentation-point__rule { bottom: auto; height: 2px; right: 0; width: auto; }
[data-presentation-layout="luxury"] .presentation-point__index { color: var(--presentation-accent); font-size: 0.95rem; }
[data-presentation-layout="luxury"] .presentation-point__content { padding-left: 0; }

[data-presentation-layout="civic"] .presentation-point { background: linear-gradient(180deg, var(--presentation-surface), color-mix(in srgb, var(--presentation-canvas) 70%, #fff)) !important; border: 1px solid var(--presentation-line) !important; border-radius: 0.2rem 1rem 0.2rem 0.2rem; box-shadow: 0 10px 22px rgba(8, 60, 58, 0.1) !important; }
[data-presentation-layout="civic"] .presentation-point__rule { bottom: auto; height: 0.3rem; right: 0; width: auto; }
[data-presentation-layout="civic"] .presentation-point__index { background: color-mix(in srgb, var(--presentation-accent) 13%, transparent); display: inline-block; padding: 0.25rem 0.4rem; }
[data-presentation-layout="civic"] .presentation-point__content { padding-left: 0; }

[data-presentation-layout="offset"] .presentation-point { border: 0 !important; border-radius: 0.2rem; box-shadow: 7px 7px 0 color-mix(in srgb, var(--presentation-accent) 45%, transparent) !important; }
[data-presentation-layout="offset"] .presentation-point:nth-child(even) { box-shadow: -7px 7px 0 color-mix(in srgb, var(--presentation-accent) 30%, transparent) !important; }
[data-presentation-layout="offset"] .presentation-point__rule { width: 0.45rem; }
[data-presentation-layout="offset"] .presentation-point__index { color: var(--presentation-accent); font-family: var(--presentation-body); }

@container (max-width: 54rem) {
  .presentation-point-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 64rem) {
  .theme-picker__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .design-controls__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .presentation-slide-settings-row,
  .presentation-editor-grid { grid-template-columns: 1fr; }
  [data-visual-mode="table"] #presSlideGrid { grid-template-columns: 1fr !important; }
  .presentation-agenda[data-agenda-mode="navigator"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 42rem) {
  .theme-picker { padding-block: 1.25rem 1.5rem; }
  .presentation-editor-panel.theme-picker,
  .presentation-editor-panel.design-controls { padding: 0; }
  .presentation-editor-panel__content { padding: 0.85rem; }
  .theme-picker__heading { align-items: stretch; flex-direction: column; }
  .theme-picker__grid { grid-template-columns: 1fr; }
  .design-controls { padding: 1rem; }
  .design-controls__header { align-items: stretch; flex-direction: column; }
  .design-controls__grid,
  .slide-design-controls { grid-template-columns: 1fr; }
  .theme-card { min-height: 14rem; }
  .theme-card__preview { min-height: 7.5rem; }
  .theme-upgrade-dialog__actions { flex-direction: column; }
  .theme-upgrade-dialog__actions a,
  .theme-upgrade-dialog__actions button { width: 100%; }
  .presentation-editor-shell { padding: 0.8rem; }
  .presentation-editor-card__header { grid-template-columns: minmax(0, 1fr); }
  .presentation-slide-summary { gap: 0.65rem; grid-template-columns: 2rem minmax(0, 1fr) 0.8rem; padding-inline: 0.75rem; }
  .presentation-slide-density { display: none; }
  .presentation-slide-delete { border-top: 1px solid #e2e8f0; margin: 0; min-height: 44px; width: 100%; }
  .presentation-editor-body { padding: 0.85rem; }
  .presentation-slide-list-heading { align-items: stretch; flex-direction: column; }
  .presentation-slide-list-actions { justify-content: space-between; }
  #captureArea { --presenter-edge: 1rem; }
  .presentation-slide-viewport { padding-bottom: 1rem; }
  #presHeader { min-width: 0; }
  #presHeaderTitle { font-size: 0.78rem; min-width: 0; overflow-wrap: anywhere; }
  .presentation-agenda-heading { position: relative !important; }
  .presentation-agenda-heading,
  .presentation-agenda-heading h1,
  .presentation-agenda-heading > p:last-child { max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
  .presentation-agenda-heading h1 { font-size: clamp(1.85rem, 9vw, 2.35rem) !important; }
  .presentation-agenda-heading > p:last-child { font-size: 0.9rem !important; }
  .presentation-agenda[data-agenda-mode="chapters"],
  .presentation-agenda[data-agenda-mode="navigator"] { grid-template-columns: 1fr; }
  .presentation-agenda[data-agenda-mode="route"] .agenda-item,
  .agenda-item { gap: 0.7rem; grid-template-columns: 2.6rem minmax(0, 1fr); min-height: 4.5rem; }
  .presentation-agenda[data-agenda-mode="route"] .agenda-item__number { font-size: 1.35rem; }
  .presentation-agenda[data-agenda-mode="route"] .agenda-item__copy strong { font-size: 1rem; }
  .agenda-item__cue { display: none; }
  [data-presentation-layout="keynote"] .presentation-closing__accent,
  [data-presentation-layout="offset"] .presentation-closing__accent { height: 0.55rem; inset: 0 0 auto; width: auto; }
  [data-presentation-layout="keynote"] .presentation-closing__frame,
  [data-presentation-layout="offset"] .presentation-closing__frame { margin: auto; }
  [data-presentation-layout="offset"] #presSlideTitle,
  [data-presentation-layout="offset"] .public-slide h2 { transform: none; }
  .public-slide--content > .grid { grid-template-columns: 1fr; }
  .public-slide { height: auto; max-height: calc(100dvh - 12.5rem); min-height: 62vh; }
  .public-presentation[data-visual-mode="table"] .public-slide { overflow: auto; }
  .public-slide .presentation-table-wrap { max-height: min(28vh, 15rem); }
  .public-slide__brand { bottom: auto; display: inline-block; left: auto; margin-top: 1.25rem; position: static; }
  .public-chart__row { grid-template-columns: 1fr auto; }
  .public-chart__row > div { grid-column: 1 / -1; grid-row: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-card,
  [data-presentation-theme] .anim-slide-up,
  [data-presentation-theme] .anim-slide-left,
  [data-presentation-theme] .anim-zoom-in,
  [data-presentation-theme] .anim-fade-in,
  [data-presentation-theme] .anim-line-grow,
  [data-presentation-theme] .orb-1,
  [data-presentation-theme] .orb-2,
  [data-presentation-theme] .bg-gradient-alive {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* The dashboard guide stays in document flow so the file list remains the primary task. */
.presentation-dashboard-heading {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
}
.presentation-user-guide {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  color: #0f172a;
}
.presentation-user-guide summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  list-style: none;
  min-height: 3.5rem;
  padding: 0.85rem 1rem;
}
.presentation-user-guide summary::-webkit-details-marker { display: none; }
.presentation-user-guide summary > span:first-child { display: grid; gap: 0.18rem; min-width: 0; }
.presentation-user-guide summary strong { font-size: 0.92rem; }
.presentation-user-guide summary small { color: #475569; font-size: 0.73rem; line-height: 1.45; }
.presentation-user-guide__action { color: #1d4ed8; flex: 0 0 auto; font-size: 0.74rem; font-weight: 800; }
.presentation-user-guide[open] .presentation-user-guide__action { font-size: 0; }
.presentation-user-guide[open] .presentation-user-guide__action::after { content: "Tutup panduan"; font-size: 0.74rem; }
.presentation-user-guide summary:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.presentation-user-guide__body { border-top: 1px solid #e2e8f0; padding: 1rem; }
.presentation-user-guide__steps {
  counter-reset: guide-step;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}
.presentation-user-guide__steps li {
  border-bottom: 1px solid #e2e8f0;
  counter-increment: guide-step;
  display: grid;
  gap: 0.3rem;
  grid-template-columns: 2rem minmax(0, 1fr);
  padding: 0.9rem 1.1rem 0.9rem 0;
}
.presentation-user-guide__steps li:nth-child(odd) { border-right: 1px solid #e2e8f0; }
.presentation-user-guide__steps li:nth-child(even) { padding-left: 1.1rem; }
.presentation-user-guide__steps li::before {
  color: #1d4ed8;
  content: counter(guide-step, decimal-leading-zero);
  font-size: 0.72rem;
  font-weight: 900;
  grid-row: 1 / span 2;
  letter-spacing: 0.06em;
  padding-top: 0.08rem;
}
.presentation-user-guide__steps strong { font-size: 0.82rem; line-height: 1.35; }
.presentation-user-guide__steps span { color: #475569; font-size: 0.75rem; line-height: 1.6; }
.presentation-user-guide__note { color: #334155; font-size: 0.76rem; line-height: 1.6; margin: 0.9rem 0 0; }

/* Presenter controls use one rail: brand left, navigation centered, MOM right. */
.presentation-control-rail {
  align-items: center;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  margin-top: 0;
  min-height: 2.75rem;
  overflow: visible;
  padding: 0;
}
.presentation-control-rail #presentationFooterBrand { justify-self: start; margin: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.presentation-control-rail .presentation-pagination { grid-column: 2; justify-self: center; }

.presentation-pagination {
  align-items: center;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  display: inline-flex;
  min-height: 2.25rem;
}
.presentation-pagination button {
  align-items: center;
  background: transparent;
  border: 0;
  color: #334155;
  cursor: pointer;
  display: inline-flex;
  height: 2.75rem;
  justify-content: center;
  width: 2.75rem;
}
.presentation-pagination button:hover { background: #eef2f6; color: #0f766e; }
.presentation-pagination button:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.presentation-pagination button svg { fill: none; height: 1.15rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 1.15rem; }
.presentation-pagination__count {
  border-inline: 1px solid #e2e8f0;
  color: #475569;
  display: inline-flex;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  gap: 0.4rem;
  justify-content: center;
  min-width: 3.35rem;
  padding-inline: 0.55rem;
}
.presentation-note { align-self: center; grid-column: 3; justify-self: end; pointer-events: auto; position: relative; z-index: 100000; }
.presentation-note__trigger {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--presentation-accent, #0f766e);
  cursor: pointer;
  display: inline-flex;
  height: 2.75rem;
  justify-content: center;
  padding: 0;
  position: relative;
  transform: rotate(-7deg);
  transform-origin: 82% 82%;
  transition: color 180ms ease, filter 220ms ease, transform 220ms cubic-bezier(.2,.8,.2,1);
  width: 2.75rem;
}
.presentation-note__trigger::after { background: currentColor; bottom: 0.34rem; content: ""; height: 1px; opacity: 0.35; position: absolute; right: -0.2rem; transform: rotate(-8deg); transform-origin: left; width: 0.8rem; }
.presentation-note__trigger:hover,
.presentation-note__trigger[aria-expanded="true"] { color: color-mix(in srgb, var(--presentation-accent, #0f766e) 82%, #000000); filter: drop-shadow(0 12px 10px rgba(15, 23, 42, 0.22)); transform: translate(-0.35rem, -0.45rem) rotate(0) scale(1.42); }
.presentation-note__trigger:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
.presentation-note__feather { fill: none; height: 2.4rem; overflow: visible; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; width: 2.4rem; }
.presentation-note__feather-body { stroke-width: 2.4; }
.presentation-note__feather-edge { opacity: 0.76; stroke-width: 1.65; }
.presentation-note__feather-nib { stroke-width: 2; }
.presentation-note__tooltip { background: #0f172a; bottom: calc(100% + 0.6rem); color: #ffffff; font-size: 0.67rem; font-weight: 800; left: 50%; opacity: 0; padding: 0.45rem 0.6rem; pointer-events: none; position: absolute; transform: translate(-50%, 0.3rem); transition: opacity 160ms ease, transform 160ms ease; white-space: nowrap; }
.presentation-note__trigger:hover .presentation-note__tooltip,
.presentation-note__trigger:focus-visible .presentation-note__tooltip { opacity: 1; transform: translate(-50%, 0); }
.presentation-note__drawer {
  background: #ffffff;
  border: 1px solid #94a3b8;
  bottom: calc(100% + 0.75rem);
  box-shadow: 0 24px 55px rgba(15, 23, 42, 0.24);
  color: #0f172a;
  right: 0;
  padding: 1.25rem;
  position: absolute;
  width: min(30rem, calc(100vw - 2rem));
}
.presentation-note__header { align-items: start; border-bottom: 1px solid #e2e8f0; display: flex; gap: 1rem; justify-content: space-between; padding-bottom: 0.9rem; }
.presentation-note__eyebrow { color: #0f766e; display: block; font-size: 0.64rem; font-weight: 850; letter-spacing: 0.14em; margin-bottom: 0.3rem; text-transform: uppercase; }
.presentation-note__header h2 { color: #0f172a; font-size: 1.05rem; letter-spacing: -0.02em; margin: 0; }
.presentation-note__close { background: transparent; border: 0; color: #64748b; cursor: pointer; font-size: 1.6rem; line-height: 1; min-height: 2.75rem; min-width: 2.75rem; }
.presentation-note__close:hover { background: #f1f5f9; color: #0f172a; }
.presentation-note__context { color: #475569; font-size: 0.75rem; font-weight: 700; margin: 0.85rem 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.presentation-note__label { color: #334155; display: block; font-size: 0.72rem; font-weight: 800; margin-bottom: 0.45rem; }
.presentation-note textarea { background: #f8fafc; border: 1px solid #94a3b8; color: #0f172a; font: 500 0.86rem/1.6 var(--presentation-body, "Plus Jakarta Sans", sans-serif); min-height: 8.5rem; padding: 0.8rem; resize: vertical; width: 100%; }
.presentation-note textarea:focus { border-color: #0f766e; box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.18); outline: 0; }
.presentation-note__meta { color: #64748b; display: flex; font-size: 0.68rem; justify-content: space-between; margin-top: 0.45rem; }
.presentation-note__actions { align-items: center; display: flex; gap: 0.6rem; justify-content: flex-end; margin-top: 1rem; }
.presentation-note__actions button { cursor: pointer; font-size: 0.75rem; font-weight: 800; min-height: 2.75rem; padding: 0.65rem 0.9rem; }
.presentation-note__cancel { background: #ffffff; border: 1px solid #94a3b8; color: #334155; }
.presentation-note__save { background: #0f766e; border: 1px solid #0f766e; color: #ffffff; }
.presentation-note__save:hover { background: #115e59; }
.presentation-note__save:disabled { cursor: wait; opacity: 0.65; }
.presentation-note__actions button:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.presentation-mom-card { background: var(--presentation-surface, #ffffff); border: 1px solid var(--presentation-line, #cbd5e1); display: grid; gap: 1rem; grid-template-columns: 3.25rem minmax(0, 1fr); padding: clamp(1rem, 2vw, 1.5rem); }
.presentation-mom-card__number { color: var(--presentation-accent, #0f766e); font-family: var(--presentation-heading, serif); font-size: 1.5rem; font-weight: 800; }
.presentation-mom-card__label { color: var(--presentation-muted, #64748b); font-size: 0.63rem; font-weight: 800; letter-spacing: 0.12em; margin: 0 0 0.3rem; text-transform: uppercase; }
.presentation-mom-card h3 { color: var(--presentation-ink, #0f172a); font-size: clamp(1rem, 1.6vw, 1.3rem); margin: 0 0 0.65rem; }
.presentation-mom-card__note { color: var(--presentation-muted, #475569); font-size: clamp(0.82rem, 1.35vw, 1rem); line-height: 1.65; margin: 0; white-space: pre-wrap; }
.presentation-mom-empty { background: var(--presentation-surface, #ffffff); border: 1px dashed var(--presentation-line, #94a3b8); color: var(--presentation-muted, #475569); display: grid; gap: 0.4rem; padding: 2rem; text-align: center; }
.presentation-mom-empty strong { color: var(--presentation-ink, #0f172a); }

@media (max-width: 42rem) {
  .presentation-dashboard-heading { align-items: stretch; flex-direction: column; }
  .presentation-dashboard-heading #btnCreateNew { min-height: 2.75rem; width: 100%; }
  .presentation-user-guide summary { align-items: flex-start; }
  .presentation-user-guide__steps { grid-template-columns: 1fr; }
  .presentation-user-guide__steps li,
  .presentation-user-guide__steps li:nth-child(even) { border-right: 0; padding-inline: 0; }
  .presentation-control-rail { gap: 0.35rem; grid-template-columns: minmax(0, 1fr) auto minmax(3rem, 1fr); }
  .presentation-control-rail #presentationFooterBrand { font-size: 0.58rem; letter-spacing: 0.06em; }
  .presentation-note__drawer { padding: 1rem; width: calc(100vw - 1.5rem); }
  .presentation-note__trigger { height: 2.75rem; width: 2.75rem; }
  .presentation-note__feather { height: 2.15rem; width: 2.15rem; }
  .presentation-mom-card { grid-template-columns: 2.35rem minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .presentation-note__trigger,
  .presentation-note__tooltip { transition-duration: 0.01ms !important; }
  .presentation-note__trigger:hover,
  .presentation-note__trigger[aria-expanded="true"] { transform: none; }
}
