/* PROMAT navigation, buttons, links, and chrome */

::selection {
  background: var(--promat-selection);
  color: var(--book-fg);
}

a {
  color: var(--book-link);
  text-decoration-thickness: var(--pm-link-underline-thickness, from-font);
  text-underline-offset: var(--pm-link-underline-offset, 0.14em);
}

.pm-breadcrumb__link:hover,
.pm-breadcrumb__link:focus-visible {
  color: var(--pm-breadcrumb-link-hover);
  text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--book-accent-2);
  outline-offset: 2px;
}

.promat-topbar {
  position: relative;
  background-color: var(--promat-topbar-bg-solid);
  border-bottom: var(--pm-topbar-border-width) solid var(--pm-topbar-border-color);
}

@supports ((-webkit-backdrop-filter: blur(0.4rem)) or (backdrop-filter: blur(0.4rem))) {
  .promat-topbar {
    background-color: var(--promat-topbar-bg-blur);
    -webkit-backdrop-filter: blur(var(--promat-topbar-blur));
    backdrop-filter: blur(var(--promat-topbar-blur));
  }
}

.promat-topbar__inner {
  display: grid;
  gap: var(--pm-topbar-row-gap);
  width: min(100%, var(--pm-layout-shell-max-width-current));
  max-width: var(--pm-layout-shell-max-width-current);
  margin-inline: auto;
  padding: var(--pm-topbar-padding-top) var(--promat-shell-inline-padding) var(--pm-topbar-padding-bottom);
}

.promat-topbar__row {
  display: grid;
  align-items: center;
}

.promat-topbar__row--primary {
  grid-template-columns: auto minmax(0, 1fr) auto;
  column-gap: var(--pm-topbar-column-gap);
  min-height: var(--pm-topbar-primary-min-height);
}

.promat-topbar__row--secondary {
  position: relative;
  padding-inline-start: var(--promat-shell-axis-offset);
  min-height: var(--pm-topbar-secondary-min-height);
  align-items: end;
}

.promat-topbar__brand,
.promat-topbar__meta {
  display: flex;
  align-items: center;
  min-width: 0;
}

.promat-topbar__brand {
  gap: var(--pm-topbar-brand-gap);
  padding-inline-start: var(--promat-shell-axis-offset);
}

.promat-topbar__meta {
  justify-content: flex-end;
}

.promat-site-title {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  min-width: 0;
  padding-block: 0;
}

.promat-site-title__text {
  display: inline-flex;
  align-items: baseline;
  gap: 0.32rem;
  min-width: 0;
  white-space: nowrap;
}

.promat-site-title__line {
  white-space: nowrap;
}

.promat-site-title__line--accent {
  color: var(--promat-wordmark-accent);
}

.promat-topbar__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  justify-self: stretch;
  gap: var(--pm-topbar-nav-gap);
  align-items: flex-end;
  margin: 0;
  min-width: 0;
  padding-inline: var(--pm-topbar-nav-zone-padding-inline);
}

.promat-topbar__link {
  display: inline-flex;
  align-items: center;
  position: relative;
  min-height: calc(var(--pm-topbar-secondary-min-height) - 0.12rem);
  padding-inline: var(--pm-shell-inline-hover-padding-x);
  padding-bottom: var(--pm-topbar-link-offset-bottom);
  border-radius: var(--pm-shell-inline-hover-radius);
}

.promat-topbar__link,
.promat-topbar__action--link,
.promat-panel__link,
.promat-panel__footer-link,
.promat-user-menu__item,
.promat-inline-link,
.pm-card__link,
.promat-card__link,
.promat-footer__nav a {
  color: var(--book-muted);
  text-decoration: none;
}

.promat-topbar__link.is-active,
.promat-panel__link.is-active {
  color: var(--book-fg);
}

.promat-topbar__link.is-active {
  text-decoration: none;
}

.promat-topbar__link.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: var(--pm-topbar-active-line-thickness);
  border-radius: 999px;
  background: var(--promat-wordmark-accent);
}

.promat-topbar__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: var(--pm-topbar-utility-gap);
}

.promat-topbar__secondary-utilities {
  display: inline-flex;
  align-items: center;
  gap: var(--pm-topbar-utility-gap);
}

.promat-topbar__language-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  min-height: var(--pm-touch-target-min);
  padding: 0 0.22rem;
  border: 1px solid var(--book-border);
  border-radius: 999px;
  min-width: 0;
}

.promat-topbar__language-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--pm-touch-target-min);
  min-width: var(--pm-touch-target-min);
  padding: 0 0.4rem;
  border-radius: 999px;
  color: var(--book-muted);
  text-decoration: none;
}

.promat-topbar__language-link:hover,
.promat-topbar__language-link:focus-visible {
  background: var(--nav-hover-bg);
  color: var(--book-fg);
  text-decoration: none;
}

.promat-topbar__language-link.is-active {
  color: var(--book-fg);
  font-weight: 600;
}

.promat-topbar__language-separator {
  color: var(--book-border-strong);
}

.promat-topbar__menu,
.promat-topbar__action,
.promat-topbar__action--link {
  appearance: none;
  background: transparent;
  color: var(--book-muted);
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: var(--pm-topbar-action-size);
  min-height: var(--pm-topbar-action-size);
  border-radius: 999px;
  padding: 0 0.7rem;
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), color var(--promat-transition-fast);
}

.promat-topbar__action--utility {
  border-color: var(--book-border);
}

.promat-topbar__menu {
  width: var(--pm-topbar-action-size);
  padding: 0;
}

.pm-icon-mask {
  --pm-icon-mask-source: none;
  display: inline-block;
  inline-size: var(--pm-icon-size-md);
  block-size: var(--pm-icon-size-md);
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask-image: var(--pm-icon-mask-source);
  mask-image: var(--pm-icon-mask-source);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.pm-icon-mask--menu {
  --pm-icon-mask-source: var(--pm-icon-menu);
}

.pm-icon-mask--theme[data-mode="light"] {
  --pm-icon-mask-source: var(--pm-icon-theme-light);
}

.pm-icon-mask--theme[data-mode="dark"] {
  --pm-icon-mask-source: var(--pm-icon-theme-dark);
}

.pm-icon-mask--login {
  --pm-icon-mask-source: var(--pm-icon-login);
}

.pm-icon-mask--account {
  --pm-icon-mask-source: var(--pm-icon-account);
}

.pm-icon-mask--back {
  --pm-icon-mask-source: var(--pm-icon-back);
}

.pm-icon-mask--language {
  --pm-icon-mask-source: var(--pm-icon-language);
}

.pm-icon-mask--section {
  --pm-icon-mask-source: var(--pm-panel-section-icon, var(--pm-icon-start));
}

.pm-icon-mask--lock {
  --pm-icon-mask-source: var(--pm-icon-lock);
}

.pm-icon-mask--play {
  --pm-icon-mask-source: var(--pm-icon-play);
}

.pm-icon-mask--pause {
  --pm-icon-mask-source: var(--pm-icon-pause);
}

.pm-icon-mask--download {
  --pm-icon-mask-source: var(--pm-icon-download);
}

.pm-icon-mask--volume {
  --pm-icon-mask-source: var(--pm-icon-volume);
}

.pm-icon-mask--speed {
  --pm-icon-mask-source: var(--pm-icon-speed);
}

.pm-icon-mask--switch {
  --pm-icon-mask-source: var(--pm-icon-switch);
}

.pm-icon-mask--edit {
  --pm-icon-mask-source: var(--pm-icon-edit);
}

.pm-icon-mask--settings {
  --pm-icon-mask-source: var(--pm-icon-settings);
}

.promat-topbar__action--theme,
.promat-topbar__action--account[aria-expanded="true"] {
  border-color: var(--book-border-strong);
}

.promat-topbar__action--theme[aria-pressed="true"] {
  background: var(--nav-hover-bg);
  border-color: var(--book-border-strong);
  color: var(--book-fg);
}

.promat-topbar__action--account[aria-expanded="true"] {
  background: var(--nav-hover-bg);
  color: var(--book-fg);
}

.promat-topbar__action--icon,
.promat-topbar__action--link.promat-topbar__action--icon {
  width: var(--pm-topbar-action-size);
  padding: 0;
}

.promat-topbar__action-icon {
  inline-size: var(--pm-icon-size-lg);
  block-size: var(--pm-icon-size-lg);
}

.promat-topbar__action:hover,
.promat-topbar__action--link:hover,
.promat-topbar__menu:hover,
.promat-panel__link:hover,
.promat-panel__footer-link:hover,
.promat-user-menu__item:hover,
.promat-inline-link:hover,
.pm-card__link:hover,
.promat-card__link:hover {
  background: var(--nav-hover-bg);
  color: var(--book-fg);
}

.promat-user-menu {
  position: relative;
}

.promat-user-menu__dropdown {
  position: absolute;
  top: calc(100% + var(--pm-space-xs));
  right: 0;
  display: grid;
  min-width: 12.8rem;
  max-width: var(--pm-overlay-max-inline);
  padding: var(--pm-space-xs);
  background: var(--book-bg);
  border: 1px solid var(--book-border);
  border-radius: var(--pm-radius-container);
  box-shadow: none;
  overflow-wrap: anywhere;
}

.promat-user-menu__dropdown[hidden] {
  display: none;
}

.promat-user-menu__dropdown[data-open] {
  display: grid;
}

.promat-user-menu__item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.7rem 0.85rem;
  border-radius: var(--pm-radius-container);
}

.pm-research-tabs,
.pm-segmented-control,
.pm-profile-task-list,
.pm-player-stub-intro__actions,
.pm-player-stub-links__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pm-space-sm);
}

.pm-research-chip-row,
.pm-profile-badge-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.pm-task-panel,
.pm-research-tab,
.pm-segmented-control__option,
.pm-filter-chip,
.pm-speaker-task-link,
.pm-profile-task-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.45rem;
  border-radius: 999px;
  text-decoration: none;
  font-family: var(--book-font-ui);
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-task-panel,
.pm-research-tab,
.pm-segmented-control__option {
  padding: 0 0.95rem;
  border: 1px solid var(--pm-border-subtle);
  color: var(--book-muted);
  background: var(--pm-surface-paper);
}

.pm-task-panel:hover,
.pm-research-tab:hover,
.pm-segmented-control__option:hover,
.pm-task-panel.is-current,
.pm-research-tab.is-current,
.pm-segmented-control__option.is-current {
  background: var(--pm-surface-accent-soft);
  border-color: transparent;
  color: var(--pm-text-accent);
}

.pm-task-panel.is-disabled,
.pm-profile-task-link.is-disabled {
  border-color: var(--pm-border-subtle);
  background: var(--pm-surface-neutral);
  color: var(--book-muted);
  box-shadow: none;
  pointer-events: none;
}

.pm-text-muted-strong {
  color: var(--pm-text-muted-strong);
}

.pm-task-panel {
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 7.5rem;
  padding: 1rem 1.1rem;
  border-radius: var(--pm-radius-container);
  flex-direction: column;
  gap: 0.55rem;
}

.pm-task-panel__label {
  font-family: var(--book-font-ui);
  font-weight: 600;
}

.pm-task-panel__description {
  color: var(--book-muted);
  font-size: 0.95rem;
  line-height: 1.45;
}

.pm-task-panel__count {
  margin-top: auto;
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  letter-spacing: var(--pm-type-meta-tracking);
  color: var(--pm-text-accent);
}

.pm-task-panel__state,
.pm-profile-task-link__state {
  margin-top: auto;
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  letter-spacing: var(--pm-type-meta-tracking);
  color: var(--book-muted);
}

.pm-task-panel.is-disabled .pm-task-panel__label,
.pm-task-panel.is-disabled .pm-task-panel__description,
.pm-task-panel.is-disabled .pm-task-panel__state,
.pm-profile-task-link.is-disabled .pm-profile-task-link__label,
.pm-profile-task-link.is-disabled .pm-profile-task-link__description,
.pm-profile-task-link.is-disabled .pm-profile-task-link__state {
  color: var(--pm-text-muted-strong);
}

.pm-research-tab__label {
  white-space: nowrap;
}

.pm-research-task-summary,
.pm-research-status,
.pm-player-panel,
.pm-profile-hero,
.pm-profile-notes,
.pm-profile-related,
.pm-player-stub-intro,
.pm-player-stub-links {
  gap: var(--pm-space-sm);
}

.pm-research-task-summary__description,
.pm-research-task-summary__count,
.pm-research-status__summary,
.pm-research-empty__text,
.pm-player-panel__title,
.pm-player-panel__hint,
.pm-profile-hero__summary,
.pm-player-stub-intro__text,
.pm-player-stub-summary__description {
  margin: 0;
}

.pm-research-task-summary__count,
.pm-research-status__summary,
.pm-profile-section__title,
.pm-player-stub-summary__grid dt {
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  letter-spacing: var(--pm-type-meta-tracking);
  color: var(--book-muted);
}

.pm-speakers-view-switch-wrap {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem 0.55rem;
}

.pm-speakers-view-switch__label {
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  line-height: 1;
  white-space: nowrap;
}

.pm-filter-chip,
.pm-profile-task-link {
  padding: 0 0.9rem;
  border: 1px solid var(--pm-border-subtle);
  color: var(--book-fg);
  background: var(--pm-surface-paper);
}

.pm-filter-chip:hover,
.pm-profile-task-link:hover {
  background: var(--pm-surface-hover);
  color: var(--book-fg);
}

.pm-research-chip-row {
  gap: var(--pm-chip-gap);
  padding-block: var(--pm-chip-zone-padding-block);
}

.pm-filter-chip {
  min-height: max(var(--pm-chip-min-height), var(--pm-touch-target-min));
  padding: 0 var(--pm-chip-padding-inline);
  border-color: var(--pm-border-subtle);
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 78%, var(--pm-surface-paper) 22%);
  color: var(--pm-text-accent);
  font-size: var(--pm-chip-font-size);
}

.pm-filter-chip:hover {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 88%, var(--pm-surface-paper) 12%);
  color: var(--pm-text-accent);
}

.pm-filter-chip.is-active {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 92%, var(--pm-surface-paper) 8%);
  border-color: transparent;
  color: var(--pm-text-accent);
}

.pm-speaker-task-link {
  min-height: 2rem;
  padding: 0 0.72rem;
  border-color: var(--pm-border-subtle);
  background: color-mix(in srgb, var(--pm-surface-paper) 72%, var(--pm-surface-accent-soft) 28%);
  color: var(--pm-text-accent);
  font-size: 0.74rem;
  font-family: var(--book-font-ui);
  font-weight: 600;
  letter-spacing: var(--pm-type-meta-tracking);
  gap: 0.24rem;
  justify-content: center;
}

.pm-speaker-task-link:hover {
  color: var(--pm-text-accent);
  background: color-mix(in srgb, var(--pm-surface-paper) 56%, var(--pm-surface-accent-soft) 44%);
}

.pm-speaker-task-link::after {
  content: "\2192";
  font-size: 0.82em;
}

.pm-segmented-control__option.is-disabled {
  border-color: var(--pm-border-subtle);
  background: var(--pm-surface-neutral);
  color: var(--pm-text-muted-strong);
  pointer-events: none;
}

.pm-button {
  --pm-button-current-bg: var(--pm-button-secondary-bg);
  --pm-button-current-fg: var(--pm-button-secondary-fg);
  --pm-button-current-border: var(--pm-button-secondary-border);
  --pm-button-current-hover-bg: var(--pm-button-secondary-hover-bg);
  --pm-button-current-hover-border: var(--pm-button-secondary-hover-border);
  --pm-button-current-active-bg: var(--pm-button-secondary-active-bg);
  --pm-button-current-active-border: var(--pm-button-secondary-active-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--pm-button-gap);
  min-height: var(--pm-button-height-medium);
  padding-inline: var(--pm-button-padding-inline-medium);
  border: var(--pm-button-border-width) solid var(--pm-button-current-border);
  border-radius: var(--pm-button-radius);
  background: var(--pm-button-current-bg);
  color: var(--pm-button-current-fg);
  font-family: var(--book-font-ui);
  font-size: var(--pm-button-font-size-medium);
  font-weight: var(--pm-button-font-weight);
  line-height: var(--pm-button-line-height);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  appearance: none;
  transition:
    background-color var(--pm-button-transition-duration),
    border-color var(--pm-button-transition-duration),
    color var(--pm-button-transition-duration),
    box-shadow var(--pm-button-transition-duration),
    outline-color var(--pm-button-transition-duration);
}

.pm-button:hover {
  background: var(--pm-button-current-hover-bg);
  border-color: var(--pm-button-current-hover-border);
  color: var(--pm-button-current-fg);
}

.pm-button:active {
  background: var(--pm-button-current-active-bg);
  border-color: var(--pm-button-current-active-border);
  color: var(--pm-button-current-fg);
}

.pm-button:focus-visible {
  outline: var(--pm-button-focus-ring-width) solid var(--pm-button-focus-ring-color);
  outline-offset: var(--pm-button-focus-ring-offset);
}

.pm-button:disabled,
.pm-button[aria-disabled="true"] {
  background: var(--pm-button-disabled-bg);
  border-color: var(--pm-button-disabled-border);
  color: var(--pm-button-disabled-fg);
  cursor: not-allowed;
  pointer-events: none;
}

.pm-button--primary {
  --pm-button-current-bg: var(--pm-button-primary-bg);
  --pm-button-current-fg: var(--pm-button-primary-fg);
  --pm-button-current-border: var(--pm-button-primary-border);
  --pm-button-current-hover-bg: var(--pm-button-primary-hover-bg);
  --pm-button-current-hover-border: var(--pm-button-primary-hover-border);
  --pm-button-current-active-bg: var(--pm-button-primary-active-bg);
  --pm-button-current-active-border: var(--pm-button-primary-active-border);
}

.pm-button--secondary {
  --pm-button-current-bg: var(--pm-button-secondary-bg);
  --pm-button-current-fg: var(--pm-button-secondary-fg);
  --pm-button-current-border: var(--pm-button-secondary-border);
  --pm-button-current-hover-bg: var(--pm-button-secondary-hover-bg);
  --pm-button-current-hover-border: var(--pm-button-secondary-hover-border);
  --pm-button-current-active-bg: var(--pm-button-secondary-active-bg);
  --pm-button-current-active-border: var(--pm-button-secondary-active-border);
}

.pm-button--tertiary {
  --pm-button-current-bg: var(--pm-button-tertiary-bg);
  --pm-button-current-fg: var(--pm-button-tertiary-fg);
  --pm-button-current-border: var(--pm-button-tertiary-border);
  --pm-button-current-hover-bg: var(--pm-button-tertiary-hover-bg);
  --pm-button-current-hover-border: var(--pm-button-tertiary-hover-border);
  --pm-button-current-active-bg: var(--pm-button-tertiary-active-bg);
  --pm-button-current-active-border: var(--pm-button-tertiary-active-border);
}

.pm-button--card {
  --pm-button-current-bg: var(--pm-button-card-bg);
  --pm-button-current-fg: var(--pm-button-card-fg);
  --pm-button-current-border: var(--pm-button-card-border);
  --pm-button-current-hover-bg: var(--pm-button-card-hover-bg);
  --pm-button-current-hover-border: var(--pm-button-card-hover-border);
  --pm-button-current-active-bg: var(--pm-button-card-active-bg);
  --pm-button-current-active-border: var(--pm-button-card-active-border);
}

.pm-button--large {
  min-height: var(--pm-button-height-large);
  padding-inline: var(--pm-button-padding-inline-large);
  font-size: var(--pm-button-font-size-large);
}

.pm-button--medium {
  min-height: var(--pm-button-height-medium);
  padding-inline: var(--pm-button-padding-inline-medium);
  font-size: var(--pm-button-font-size-medium);
}

.pm-button--small {
  min-height: var(--pm-button-height-small);
  padding-inline: var(--pm-button-padding-inline-small);
  font-size: var(--pm-button-font-size-small);
}

.pm-button--full-width {
  width: 100%;
}

.pm-button__icon,
.pm-button__arrow {
  flex: 0 0 auto;
}

.pm-button__icon {
  font-size: var(--pm-button-icon-size);
  line-height: 1;
}

.pm-button__arrow {
  font-size: 0.96em;
  line-height: 1;
}

.pm-button-group,
.pm-form-action-row,
.pm-card-button-row,
.pm-toolbar-action-row {
  display: flex;
  align-items: center;
}

.pm-button-group {
  gap: var(--pm-button-group-gap-block) var(--pm-button-group-gap-inline);
}

.pm-button-group--wrap {
  flex-wrap: wrap;
}

.pm-form-action-row {
  flex-wrap: wrap;
  gap: var(--pm-button-form-gap-block) var(--pm-button-form-gap-inline);
}

.pm-card-button-row {
  flex-wrap: wrap;
  gap: var(--pm-button-card-gap-block) var(--pm-button-card-gap-inline);
}

.pm-toolbar-action-row {
  flex-wrap: wrap;
  gap: var(--pm-button-toolbar-gap-block) var(--pm-button-toolbar-gap-inline);
}

.pm-interaction-row,
.pm-interaction-row--form,
.pm-interaction-row--toolbar,
.pm-interaction-row--card,
.pm-cta-link-row {
  display: flex;
  align-items: center;
}

.pm-interaction-row,
.pm-interaction-row--wrap {
  gap: var(--pm-interaction-preview-row-gap-block) var(--pm-interaction-preview-row-gap-inline);
}

.pm-interaction-row--wrap,
.pm-interaction-row--form,
.pm-interaction-row--toolbar,
.pm-interaction-row--card,
.pm-cta-link-row {
  flex-wrap: wrap;
}

.pm-interaction-row--form {
  gap: var(--pm-interaction-preview-form-gap-block) var(--pm-interaction-preview-form-gap-inline);
}

.pm-interaction-row--toolbar {
  gap: var(--pm-interaction-preview-toolbar-gap-block) var(--pm-interaction-preview-toolbar-gap-inline);
}

.pm-interaction-row--card {
  gap: var(--pm-interaction-preview-card-gap-block) var(--pm-interaction-preview-card-gap-inline);
}

.pm-cta-link-row {
  gap: var(--pm-interaction-preview-row-gap-block) var(--pm-interaction-preview-cta-gap-inline);
}

.pm-action-button,
.pm-nav-pill,
.pm-cta-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color var(--pm-interaction-hover-duration),
    border-color var(--pm-interaction-hover-duration),
    color var(--pm-interaction-hover-duration),
    box-shadow var(--pm-interaction-active-duration),
    outline-color var(--pm-interaction-hover-duration),
    text-decoration-color var(--pm-interaction-hover-duration);
}

.pm-action-button:focus-visible,
.pm-nav-pill:focus-visible,
.pm-cta-link:focus-visible {
  outline: var(--pm-interaction-focus-ring-width) solid var(--pm-interaction-focus-ring-color);
  outline-offset: var(--pm-interaction-focus-ring-offset);
}

.pm-interaction__icon,
.pm-interaction__arrow {
  flex: 0 0 auto;
  line-height: 1;
}

.pm-action-button {
  --pm-interaction-icon-size: var(--pm-action-button-icon-size-medium);
  gap: var(--pm-action-button-gap);
  min-height: max(var(--pm-action-button-height-medium), var(--pm-touch-target-min));
  padding-inline: var(--pm-action-button-padding-inline-medium);
  border: var(--pm-action-button-border-width) solid var(--pm-action-current-border, var(--pm-action-button-secondary-border));
  border-radius: var(--pm-action-button-radius);
  background: var(--pm-action-current-bg, var(--pm-action-button-secondary-bg));
  color: var(--pm-action-current-fg, var(--pm-action-button-secondary-fg));
  font-family: var(--book-font-ui);
  font-size: var(--pm-action-button-font-size-medium);
  font-weight: var(--pm-action-button-font-weight);
  line-height: var(--pm-action-button-line-height);
  cursor: pointer;
  appearance: none;
}

.pm-action-button:hover {
  background: var(--pm-action-current-hover-bg, var(--pm-action-button-secondary-hover-bg));
  border-color: var(--pm-action-current-hover-border, var(--pm-action-button-secondary-hover-border));
  color: var(--pm-action-current-fg, var(--pm-action-button-secondary-fg));
}

.pm-action-button:active {
  background: var(--pm-action-current-active-bg, var(--pm-action-button-secondary-active-bg));
  border-color: var(--pm-action-current-active-border, var(--pm-action-button-secondary-active-border));
}

.pm-action-button:disabled,
.pm-action-button[aria-disabled="true"] {
  background: var(--pm-interaction-disabled-bg);
  border-color: var(--pm-interaction-disabled-border);
  color: var(--pm-interaction-disabled-fg);
  cursor: not-allowed;
  pointer-events: none;
}

.pm-action-button--primary {
  --pm-action-current-bg: var(--pm-action-button-primary-bg);
  --pm-action-current-fg: var(--pm-action-button-primary-fg);
  --pm-action-current-border: var(--pm-action-button-primary-border);
  --pm-action-current-hover-bg: var(--pm-action-button-primary-hover-bg);
  --pm-action-current-hover-border: var(--pm-action-button-primary-hover-border);
  --pm-action-current-active-bg: var(--pm-action-button-primary-active-bg);
  --pm-action-current-active-border: var(--pm-action-button-primary-active-border);
}

.pm-action-button--secondary {
  --pm-action-current-bg: var(--pm-action-button-secondary-bg);
  --pm-action-current-fg: var(--pm-action-button-secondary-fg);
  --pm-action-current-border: var(--pm-action-button-secondary-border);
  --pm-action-current-hover-bg: var(--pm-action-button-secondary-hover-bg);
  --pm-action-current-hover-border: var(--pm-action-button-secondary-hover-border);
  --pm-action-current-active-bg: var(--pm-action-button-secondary-active-bg);
  --pm-action-current-active-border: var(--pm-action-button-secondary-active-border);
}

.pm-action-button--tertiary {
  --pm-action-current-bg: var(--pm-action-button-tertiary-bg);
  --pm-action-current-fg: var(--pm-action-button-tertiary-fg);
  --pm-action-current-border: var(--pm-action-button-tertiary-border);
  --pm-action-current-hover-bg: var(--pm-action-button-tertiary-hover-bg);
  --pm-action-current-hover-border: var(--pm-action-button-tertiary-hover-border);
  --pm-action-current-active-bg: var(--pm-action-button-tertiary-active-bg);
  --pm-action-current-active-border: var(--pm-action-button-tertiary-active-border);
}

.pm-action-button--danger {
  --pm-action-current-bg: color-mix(in srgb, var(--book-danger, #b54747) 14%, var(--pm-surface-paper) 86%);
  --pm-action-current-fg: color-mix(in srgb, var(--book-danger, #b54747) 88%, var(--book-fg) 12%);
  --pm-action-current-border: color-mix(in srgb, var(--book-danger, #b54747) 34%, var(--pm-border-subtle) 66%);
  --pm-action-current-hover-bg: color-mix(in srgb, var(--book-danger, #b54747) 18%, var(--pm-surface-paper) 82%);
  --pm-action-current-hover-border: color-mix(in srgb, var(--book-danger, #b54747) 46%, var(--pm-border-subtle) 54%);
  --pm-action-current-active-bg: color-mix(in srgb, var(--book-danger, #b54747) 22%, var(--pm-surface-paper) 78%);
  --pm-action-current-active-border: color-mix(in srgb, var(--book-danger, #b54747) 54%, var(--pm-border-subtle) 46%);
}

.pm-action-button--large {
  min-height: max(var(--pm-action-button-height-large), var(--pm-touch-target-min));
  padding-inline: var(--pm-action-button-padding-inline-large);
  font-size: var(--pm-action-button-font-size-large);
}

.pm-action-button--medium {
  min-height: max(var(--pm-action-button-height-medium), var(--pm-touch-target-min));
  padding-inline: var(--pm-action-button-padding-inline-medium);
  font-size: var(--pm-action-button-font-size-medium);
}

.pm-action-button--small {
  --pm-interaction-icon-size: var(--pm-action-button-icon-size-small);
  min-height: max(var(--pm-action-button-height-small), var(--pm-touch-target-min));
  padding-inline: var(--pm-action-button-padding-inline-small);
  font-size: var(--pm-action-button-font-size-small);
}

.pm-nav-pill {
  --pm-nav-pill-current-bg: var(--pm-nav-pill-bg);
  --pm-nav-pill-current-fg: var(--pm-nav-pill-fg);
  --pm-nav-pill-current-border: var(--pm-nav-pill-border);
  --pm-nav-pill-current-hover-bg: var(--pm-nav-pill-hover-bg);
  --pm-nav-pill-current-hover-border: var(--pm-nav-pill-hover-border);
  --pm-nav-pill-current-active-bg: var(--pm-nav-pill-active-bg);
  --pm-nav-pill-current-active-border: var(--pm-nav-pill-active-border);
  --pm-interaction-icon-size: var(--pm-nav-pill-icon-size-medium);
  gap: var(--pm-nav-pill-gap);
  min-height: max(var(--pm-nav-pill-height-medium), var(--pm-touch-target-min));
  padding-inline: var(--pm-nav-pill-padding-inline-medium);
  border: var(--pm-nav-pill-border-width) solid var(--pm-nav-pill-current-border);
  border-radius: var(--pm-nav-pill-radius);
  background: var(--pm-nav-pill-current-bg);
  color: var(--pm-nav-pill-current-fg);
  font-family: var(--book-font-ui);
  font-size: var(--pm-nav-pill-font-size-medium);
  font-weight: var(--pm-nav-pill-font-weight);
  line-height: var(--pm-nav-pill-line-height);
}

.pm-nav-pill:hover {
  background: var(--pm-nav-pill-current-hover-bg);
  border-color: var(--pm-nav-pill-current-hover-border);
  color: var(--pm-nav-pill-current-fg);
}

.pm-nav-pill:active {
  background: var(--pm-nav-pill-current-active-bg);
  border-color: var(--pm-nav-pill-current-active-border);
}

.pm-nav-pill[aria-disabled="true"],
.pm-nav-pill:disabled {
  background: var(--pm-interaction-disabled-bg);
  border-color: var(--pm-interaction-disabled-border);
  color: var(--pm-interaction-disabled-fg);
  cursor: not-allowed;
  pointer-events: none;
}

.pm-nav-pill--small {
  --pm-interaction-icon-size: var(--pm-nav-pill-icon-size-small);
  min-height: var(--pm-nav-pill-height-small);
  padding-inline: var(--pm-nav-pill-padding-inline-small);
  font-size: var(--pm-nav-pill-font-size-small);
}

.pm-nav-pill--primary {
  --pm-nav-pill-current-bg: var(--pm-action-button-primary-bg);
  --pm-nav-pill-current-fg: var(--pm-action-button-primary-fg);
  --pm-nav-pill-current-border: var(--pm-action-button-primary-border);
  --pm-nav-pill-current-hover-bg: var(--pm-action-button-primary-hover-bg);
  --pm-nav-pill-current-hover-border: var(--pm-action-button-primary-hover-border);
  --pm-nav-pill-current-active-bg: var(--pm-action-button-primary-active-bg);
  --pm-nav-pill-current-active-border: var(--pm-action-button-primary-active-border);
}

.pm-nav-pill--secondary {
  --pm-nav-pill-current-bg: var(--pm-nav-pill-bg);
  --pm-nav-pill-current-fg: var(--pm-nav-pill-fg);
  --pm-nav-pill-current-border: var(--pm-nav-pill-border);
  --pm-nav-pill-current-hover-bg: var(--pm-nav-pill-hover-bg);
  --pm-nav-pill-current-hover-border: var(--pm-nav-pill-hover-border);
  --pm-nav-pill-current-active-bg: var(--pm-nav-pill-active-bg);
  --pm-nav-pill-current-active-border: var(--pm-nav-pill-active-border);
}

.pm-nav-pill--medium {
  min-height: max(var(--pm-nav-pill-height-medium), var(--pm-touch-target-min));
  padding-inline: var(--pm-nav-pill-padding-inline-medium);
  font-size: var(--pm-nav-pill-font-size-medium);
}

.pm-inline-text-link {
  display: inline-flex;
  align-items: baseline;
  gap: 0.16rem;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--pm-cta-link-primary, var(--book-fg));
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
}

.pm-inline-text-link:hover,
.pm-inline-text-link:focus-visible {
  color: var(--pm-cta-link-hover, var(--pm-text-accent));
}

.pm-inline-text-link__label,
.pm-inline-text-link .pm-interaction__arrow {
  text-decoration-line: inherit;
  text-decoration-thickness: inherit;
  text-underline-offset: inherit;
  text-decoration-skip-ink: inherit;
}

.pm-inline-text-link[aria-disabled="true"] {
  color: var(--pm-interaction-disabled-fg);
  pointer-events: none;
}

.pm-inline-text-link .pm-interaction__arrow {
  margin-left: 0;
  font-size: 0.82em;
}

.pm-cta-link {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: var(--pm-cta-link-gap);
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--pm-cta-current-color, var(--pm-cta-link-primary));
  font-family: var(--book-font-ui);
  font-size: var(--pm-cta-link-font-size);
  font-weight: var(--pm-cta-link-font-weight);
  line-height: var(--pm-cta-link-line-height);
  text-decoration-line: none;
  text-decoration-thickness: var(--pm-link-underline-thickness, from-font);
  text-underline-offset: var(--pm-link-underline-offset, 0.14em);
  text-decoration-skip-ink: auto;
}

a.pm-cta-link:hover,
a.pm-cta-link:focus-visible,
a.pm-cta-link:active,
a.pm-card:hover .pm-cta-link,
a.pm-card:focus-visible .pm-cta-link,
a.pm-card:active .pm-cta-link,
a.promat-card:hover .pm-cta-link,
a.promat-card:focus-visible .pm-cta-link,
a.promat-card:active .pm-cta-link {
  color: var(--pm-cta-current-hover-color, var(--pm-cta-link-hover));
}

.pm-cta-link__label,
.pm-cta-link .pm-interaction__arrow {
  text-decoration-line: inherit;
  text-decoration-thickness: inherit;
  text-underline-offset: inherit;
  text-decoration-skip-ink: inherit;
}

.pm-cta-link[aria-disabled="true"] {
  color: var(--pm-interaction-disabled-fg);
  pointer-events: none;
}

.pm-cta-link--primary {
  --pm-cta-current-color: var(--pm-cta-link-primary);
  --pm-cta-current-hover-color: var(--pm-cta-link-hover);
}

.pm-cta-link--accent {
  --pm-cta-current-color: var(--pm-cta-link-secondary-accent);
  --pm-cta-current-hover-color: var(--pm-cta-link-hover-accent);
}

.pm-action-button .pm-interaction__icon,
.pm-nav-pill .pm-interaction__icon {
  font-size: var(--pm-interaction-icon-size);
}

.pm-nav-pill .pm-interaction__arrow,
.pm-cta-link .pm-interaction__arrow {
  margin-left: var(--pm-nav-pill-arrow-gap);
  font-size: 0.94em;
}

.pm-nav-pill .pm-interaction__arrow--leading {
  margin-left: 0;
  margin-right: var(--pm-nav-pill-arrow-gap);
}

.pm-teaching-page {
  display: grid;
  gap: var(--pm-space-grid);
}

.pm-teaching-page--hub,
.pm-teaching-page--topic {
  gap: clamp(1.4rem, 2vw, 1.9rem);
}

.pm-teaching-topic-header {
  display: grid;
  gap: 0.7rem;
}

.pm-teaching-locale-switch,
.pm-back-link {
  display: grid;
  gap: 0.5rem;
}

.pm-back-link--bottom {
  margin-top: clamp(0.3rem, 0.2rem + 0.3vw, 0.6rem);
}

.pm-back-link__pill {
  justify-self: start;
}

.pm-teaching-locale-switch__label {
  margin: 0;
  color: var(--book-muted);
}

.pm-teaching-locale-switch__item {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  padding: 0.45rem 0.8rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 999px;
  color: var(--book-fg);
  background: var(--promat-topbar-bg-blur);
  text-decoration: none;
}

.pm-teaching-locale-switch__item.is-current {
  border-color: var(--pm-border-strong);
  color: var(--pm-text-accent);
}

.pm-teaching-locale-switch__item.is-disabled {
  color: var(--book-muted);
  opacity: 0.72;
}

.pm-teaching-inline-link {
  color: var(--pm-cta-link-primary, var(--book-fg));
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.pm-teaching-inline-link:hover,
.pm-teaching-inline-link:focus-visible {
  color: var(--pm-cta-link-hover, var(--pm-text-accent));
}

.pm-teaching-language-row {
  width: 100%;
  max-width: none;
  min-height: 0;
  padding: 0;
  border-color: var(--pm-border-default);
  border-top: var(--pm-card-accent-bar-thickness) solid color-mix(in srgb, var(--promat-secondary) 72%, var(--pm-border-subtle) 28%);
  background: var(--pm-surface-paper);
  box-shadow: var(--pm-card-shadow);
  transition: transform var(--promat-transition-fast), background var(--promat-transition-fast), border-color var(--promat-transition-fast), box-shadow var(--promat-transition-fast);
}

.pm-teaching-language-row--available:hover,
.pm-teaching-language-row--available:focus-visible {
  background: color-mix(in srgb, var(--pm-surface-paper) 84%, var(--promat-secondary-container) 16%);
  border-color: color-mix(in srgb, var(--pm-border-default) 60%, var(--promat-secondary) 40%);
  border-top-color: color-mix(in srgb, var(--promat-secondary) 84%, var(--pm-border-subtle) 16%);
  box-shadow: var(--pm-card-shadow);
  transform: translateY(-1px);
}

.pm-teaching-language-row .pm-card__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.32rem 0.72rem;
  align-items: start;
  padding: 0.82rem 0.96rem 0.88rem;
  text-align: left;
}

.pm-teaching-language-row__body {
  width: 100%;
}

.pm-teaching-language-row__body--available,
.pm-teaching-language-row__body--pending {
  grid-template-areas:
    "title"
    "aside";
}

.pm-teaching-language-row__title,
.pm-teaching-language-row__status,
.pm-teaching-topic-group__description,
.pm-teaching-empty-state__title,
.pm-teaching-empty-state__text,
.pm-teaching-topic-metadata__label,
.pm-teaching-topic-metadata__value,
.pm-teaching-citation__label,
.pm-teaching-citation__value {
  margin: 0;
}

.pm-teaching-language-row__title {
  grid-area: title;
  line-height: 1.25;
}

.pm-teaching-language-row__aside {
  grid-area: aside;
  display: grid;
  gap: 0.32rem 0.72rem;
  min-width: 0;
}

.pm-teaching-language-row__status,
.pm-teaching-topic-group__description {
  color: var(--book-muted);
}

.pm-teaching-topic-group__header,
.pm-teaching-block__section-heading {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.pm-teaching-language-row__status {
  line-height: 1.35;
}

.pm-teaching-language-row--pending {
  border-top-color: color-mix(in srgb, var(--pm-border-default) 84%, var(--promat-secondary) 16%);
  background: color-mix(in srgb, var(--pm-surface-paper) 95%, var(--pm-surface-hover) 5%);
  color: color-mix(in srgb, var(--book-fg) 72%, var(--book-muted));
  box-shadow: none;
  cursor: default;
}

.pm-teaching-language-row--pending .pm-card__title,
.pm-teaching-language-row--pending .pm-teaching-language-row__status {
  color: inherit;
}

.pm-teaching-language-row__action {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  white-space: nowrap;
}

.pm-teaching-topic-metadata {
  margin: 0;
}

.pm-teaching-topic-meta,
.pm-teaching-topic-meta__detail,
.pm-teaching-topic-meta__authors,
.pm-teaching-topic-meta__details {
  margin: 0;
}

.pm-teaching-topic-meta {
  display: grid;
  gap: 0.32rem;
  justify-items: center;
  text-align: center;
}

.pm-teaching-topic-meta__authors,
.pm-teaching-topic-meta__details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.24rem 0.45rem;
}

.pm-teaching-topic-meta__detail {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.24rem;
}

.pm-teaching-topic-meta__separator {
  color: var(--book-muted);
}

.pm-teaching-topic-metadata__list,
.pm-teaching-citation__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pm-teaching-topic-metadata__item,
.pm-teaching-citation__meta-item {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.28rem;
}

.pm-teaching-page--topic .pm-teaching-topic-metadata__list {
  justify-content: center;
}

.pm-teaching-topic-metadata__label,
.pm-teaching-topic-meta__label,
.pm-teaching-citation__label {
  color: var(--book-muted);
}

.pm-teaching-section-title,
.pm-teaching-topic-group__title,
.pm-teaching-empty-state__title,
.pm-teaching-empty-state__text {
  margin: 0;
}

.pm-teaching-empty-state {
  display: grid;
  gap: var(--pm-space-sm);
}

.pm-teaching-page--hub .pm-teaching-topic-group__header {
  width: min(100%, 42rem);
  margin-inline: auto;
  justify-items: center;
  text-align: center;
}

.pm-teaching-page--overview .pm-content-header,
.pm-teaching-page--hub .pm-content-header {
  justify-items: center;
  text-align: center;
}

.pm-teaching-page--overview .pm-content-header__title,
.pm-teaching-page--hub .pm-content-header__title,
.pm-teaching-page--overview .pm-content-header__intro,
.pm-teaching-page--hub .pm-content-header__intro {
  margin-inline: auto;
}

.pm-teaching-overview__intro-text {
  margin: 0;
  max-width: min(100%, 60ch);
  color: var(--book-muted);
  font-family: var(--pm-type-reading-family);
  font-size: var(--pm-type-reading-size);
  line-height: var(--pm-type-reading-line);
  letter-spacing: var(--pm-type-reading-tracking);
  font-weight: var(--pm-type-reading-weight);
}

.pm-teaching-page--overview .pm-content-header__intro,
.pm-teaching-page--hub .pm-content-header__intro,
.pm-teaching-topic-group__description {
  font-family: var(--pm-type-reading-family);
  font-size: var(--pm-type-reading-size);
  line-height: var(--pm-type-reading-line);
  letter-spacing: var(--pm-type-reading-tracking);
  font-weight: var(--pm-type-reading-weight);
}

.pm-teaching-page code {
  font-family: "Noto Sans", system-ui, sans-serif;
  font-size: 0.94em;
  font-weight: 600;
  line-height: 1;
  padding: 0.02em 0.1em;
  border-radius: 0.35em;
  background: color-mix(in srgb, var(--pm-surface-hover) 34%, transparent);
  color: currentColor;
  white-space: nowrap;
}

.pm-teaching-hero__eyebrow,
.pm-teaching-topic-card__meta-item,
.pm-teaching-credits__group-title,
.pm-teaching-credits__person-meta,
.pm-teaching-download-card__status,
.pm-teaching-topic-metadata__label,
.pm-teaching-citation__label {
  color: var(--book-muted);
}

.pm-teaching-hero__eyebrow,
.pm-teaching-credits__group-title,
.pm-teaching-block__title,
.pm-teaching-section-heading__title {
  margin: 0;
}

.pm-teaching-hero__title,
.pm-teaching-hero__lead {
  margin: 0;
}

.pm-teaching-hero__lead {
  max-width: 42rem;
}

.pm-teaching-topic-card {
  width: 100%;
  max-width: none;
  border-top: var(--pm-card-accent-bar-thickness) solid color-mix(in srgb, var(--promat-secondary) 72%, var(--pm-border-subtle) 28%);
  background: var(--pm-surface-paper);
  transition: transform var(--promat-transition-fast), background var(--promat-transition-fast), border-color var(--promat-transition-fast), box-shadow var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-teaching-block--topic-grid {
  display: grid;
  gap: 0.95rem;
  align-items: start;
  padding-top: 0.15rem;
}

.pm-teaching-block--section-heading {
  padding-top: 0.25rem;
}

.pm-teaching-page--topic .pm-content-header {
  justify-items: center;
  text-align: center;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-bottom: 0;
  gap: 0.55rem;
}

.pm-teaching-page--topic .pm-content-header__title {
  max-width: min(100%, 18ch);
  margin-inline: auto;
  font-size: clamp(2.2rem, 1.9rem + 1.3vw, 3.2rem);
  line-height: 1.08;
}

.pm-teaching-page--topic .pm-content-header__intro {
  max-width: min(100%, 34rem);
  margin-inline: auto;
  font-size: clamp(1.14rem, 1.06rem + 0.22vw, 1.24rem);
  line-height: 1.62;
}

.pm-teaching-page--topic .pm-teaching-topic-sections {
  display: grid;
  gap: 0;
}

.pm-teaching-page--topic .pm-teaching-topic-section {
  display: grid;
  gap: 1.5rem;
}

.pm-teaching-page--topic .pm-teaching-topic-section + .pm-teaching-topic-section {
  margin-top: 3rem;
}

.pm-teaching-page--topic .pm-teaching-topic-section--intro {
  margin-top: 0;
  padding-top: 0;
}

.pm-teaching-page--topic .pm-teaching-topic-section__grid,
.pm-teaching-page--topic .pm-teaching-topic-section .pm-teaching-block-grid--topic {
  row-gap: 1.5rem;
}

.pm-teaching-page--topic .pm-teaching-topic-section--intro > .pm-teaching-topic-section__grid,
.pm-teaching-page--topic .pm-teaching-topic-section--section > .pm-teaching-topic-section__grid,
.pm-teaching-page--topic .pm-teaching-topic-section--next_topics > .pm-teaching-topic-section__grid,
.pm-teaching-page--topic .pm-teaching-topic-section--topic_grid > .pm-teaching-topic-section__grid,
.pm-teaching-page--topic .pm-teaching-topic-section--citation > .pm-teaching-topic-section__grid {
  padding-top: 0;
}

.pm-teaching-page--topic .pm-teaching-topic-section--citation > .pm-teaching-topic-section__grid {
  justify-items: center;
}

.pm-teaching-section-heading__title {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
}

.pm-teaching-page--topic .pm-teaching-section-heading__title,
.pm-teaching-page--hub .pm-teaching-topic-group__title {
  position: relative;
  display: inline-block;
  width: auto;
  padding-bottom: 0.08rem;
  isolation: isolate;
  z-index: 0;
}

.pm-teaching-page--topic .pm-teaching-section-heading__title::after,
.pm-teaching-page--hub .pm-teaching-topic-group__title::after {
  content: "";
  position: absolute;
  bottom: 0.12em;
  width: 85%;
  height: 0.26em;
  opacity: 0.24;
  border-radius: 4px;
  z-index: -1;
}

.pm-teaching-page--topic .pm-teaching-section-heading__title::after {
  left: 0;
  background: var(--book-title-accent-dark);
}

.pm-teaching-page--hub .pm-teaching-topic-group__title::after {
  left: 50%;
  transform: translateX(-50%);
  background: var(--book-title-accent-dark);
}

.pm-teaching-section-heading__lead,
.pm-teaching-citation__text,
.pm-teaching-copy-block > :first-child,
.pm-teaching-copy-block > :last-child {
  margin-block: 0;
}

.pm-teaching-section-heading__lead,
.pm-teaching-citation__label,
.pm-teaching-reading-links__item {
  color: var(--book-muted);
}

.pm-teaching-section-heading__lead {
  margin-top: 0.45rem;
}

.pm-teaching-page--topic .promat-content-block__text {
  font-family: var(--pm-type-reading-family);
  font-size: var(--pm-type-reading-size);
  line-height: var(--pm-type-reading-line);
  letter-spacing: var(--pm-type-reading-tracking);
  font-weight: var(--pm-type-reading-weight);
}

.pm-teaching-page--topic .pm-teaching-rich-text__body {
  font-family: var(--pm-type-reading-family);
  font-size: var(--pm-type-reading-size);
  line-height: var(--pm-type-reading-line);
  letter-spacing: var(--pm-type-reading-tracking);
  font-weight: var(--pm-type-reading-weight);
}

.pm-teaching-page--topic .pm-panel__title,
.pm-teaching-page--topic .pm-admonition__title,
.pm-teaching-page--topic .pm-admonition__text,
.pm-teaching-page--topic .pm-admonition__footer,
.pm-teaching-page--topic .audio-section-title,
.pm-teaching-page--topic .audio-section-description,
.pm-teaching-page--topic .pm-teaching-audio-example__label,
.pm-teaching-page--topic .pm-teaching-audio-example__note,
.pm-teaching-page--topic .pm-teaching-audio-contrast__example-title,
.pm-teaching-page--topic .pm-teaching-audio-contrast__example-subtitle,
.pm-teaching-page--topic .pm-teaching-audio-contrast__note,
.pm-teaching-page--topic .pm-teaching-audio-contrast__transcript-label,
.pm-teaching-page--topic .pm-teaching-audio-contrast__transcript,
.pm-teaching-page--topic .audio-section-source,
.pm-teaching-page--topic .pm-embed-block__caption,
.pm-teaching-page--topic .pm-teaching-topic-meta__label,
.pm-teaching-page--topic .pm-teaching-topic-meta__value,
.pm-teaching-page--topic .pm-teaching-citation__label,
.pm-teaching-page--topic .pm-teaching-citation__value,
.pm-teaching-page--topic .pm-teaching-reading-links__item {
  font-family: var(--book-font-ui);
}

.pm-teaching-page--topic {
  --pm-teaching-topic-icon-audio: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 9v6h4l5 4V5l-5 4H5Z'/%3E%3Cpath d='M16.5 8.5a5 5 0 0 1 0 7'/%3E%3Cpath d='M19 6a8.5 8.5 0 0 1 0 12'/%3E%3C/svg%3E");
  --pm-teaching-topic-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  --pm-teaching-topic-icon-tip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M12 2a7 7 0 0 0-4 12.75c.5.35 1 1 1 1.75V18h6v-1.5c0-.75.5-1.4 1-1.75A7 7 0 0 0 12 2Z'/%3E%3C/svg%3E");
  --pm-teaching-topic-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");
  --pm-teaching-topic-icon-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 10v6'/%3E%3Cpath d='M12 7h.01'/%3E%3C/svg%3E");
  --pm-teaching-topic-icon-compass: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m15.5 8.5-2.2 6.2-6.2 2.2 2.2-6.2 6.2-2.2Z'/%3E%3Cpath d='m10.7 13.3 2.6-2.6'/%3E%3C/svg%3E");
  --pm-teaching-topic-icon-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z'/%3E%3Cpath d='M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z'/%3E%3C/svg%3E");
  --pm-teaching-topic-icon-book: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 6.5c-1.5-1.17-3.52-1.75-6-1.75-1.1 0-2 .9-2 2V19a2 2 0 0 0 2 2c2.48 0 4.5.58 6 1.75'/%3E%3Cpath d='M12 6.5c1.5-1.17 3.52-1.75 6-1.75 1.1 0 2 .9 2 2V19a2 2 0 0 1-2 2c-2.48 0-4.5.58-6 1.75'/%3E%3Cpath d='M12 6.5V22'/%3E%3C/svg%3E");
  --pm-teaching-topic-icon-warning: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M10.29 3.86 1.82 18A2 2 0 0 0 3.53 21h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
  --pm-icon-admonition-audio: var(--pm-teaching-topic-icon-audio);
  --pm-icon-admonition-check: var(--pm-teaching-topic-icon-check);
  --pm-icon-admonition-lightbulb: var(--pm-teaching-topic-icon-tip);
  --pm-icon-admonition-clipboard: var(--pm-teaching-topic-icon-copy);
  --pm-icon-admonition-info: var(--pm-teaching-topic-icon-info);
  --pm-icon-admonition-compass: var(--pm-teaching-topic-icon-compass);
  --pm-icon-admonition-quote: var(--pm-teaching-topic-icon-quote);
  --pm-icon-admonition-book-open: var(--pm-teaching-topic-icon-book);
  --pm-admonition-hoermal-icon: var(--pm-teaching-topic-icon-audio);
  --pm-admonition-regel-icon: var(--pm-teaching-topic-icon-warning);
  --pm-admonition-tip-icon: var(--pm-teaching-topic-icon-tip);
  --pm-admonition-praxis-icon: var(--pm-teaching-topic-icon-copy);
  --pm-admonition-context-icon: var(--pm-teaching-topic-icon-info);
  --pm-admonition-cite-icon: var(--pm-teaching-topic-icon-quote);
  --pm-admonition-citation-icon: var(--pm-teaching-topic-icon-quote);
  --pm-admonition-summary-icon: var(--pm-teaching-topic-icon-compass);
  --pm-admonition-weiterlesen-icon: var(--pm-teaching-topic-icon-book);
  --pm-admonition-action-icon: var(--pm-teaching-topic-icon-copy);
}

.pm-teaching-page--topic .pm-admonition {
  --pm-admonition-title-font: var(--book-font-ui);
  --pm-admonition-body-font: var(--book-font-ui);
}

.pm-teaching-page--topic .pm-admonition__text {
  font-size: clamp(1rem, 0.97rem + 0.12vw, 1.08rem);
  font-weight: 400;
  line-height: 1.65;
}

.pm-teaching-page--topic .pm-teaching-audio-example__text {
  font-size: clamp(1.04rem, 1rem + 0.14vw, 1.12rem);
  line-height: 1.68;
}

.pm-teaching-page--topic .pm-teaching-block__title,
.pm-teaching-page--topic .pm-teaching-section-heading__title {
  font-size: clamp(1.32rem, 1.2rem + 0.42vw, 1.6rem);
  line-height: 1.2;
}

.pm-teaching-page--topic .pm-teaching-topic-metadata {
  margin-top: 0.05rem;
}

.pm-teaching-page--topic .pm-teaching-topic-meta__details {
  max-width: 100%;
}

.pm-teaching-page--topic .pm-teaching-rich-text--didactic_close {
  gap: 0.95rem;
  padding: 1.3rem 1.45rem 1.4rem;
  border-color: var(--pm-border-subtle);
  border-inline-start: 4px solid var(--book-accent);
  border-radius: var(--pm-teaching-audio-section-radius);
  background: color-mix(in srgb, var(--pm-surface-paper) 90%, var(--pm-surface-neutral) 10%);
  box-shadow: none;
}

.pm-teaching-page--topic .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body {
  font-size: clamp(1.02rem, 0.99rem + 0.12vw, 1.08rem);
  line-height: 1.68;
}

.pm-teaching-page--topic .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body > p:first-child {
  color: var(--book-muted);
  font-weight: 500;
}

.pm-teaching-page--topic .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body ul {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close {
  padding: 1.2rem 1.3rem 1.28rem;
  border-color: var(--pm-border-subtle);
  border-inline-start: 0;
  background: color-mix(in srgb, var(--pm-surface-paper) 90%, var(--pm-surface-neutral) 10%);
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body ul {
  counter-reset: impulse-card;
  display: grid;
  align-items: start;
  gap: 0.82rem;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li {
  position: relative;
  padding: 0.82rem 0.92rem 0.9rem;
  border: 1px solid var(--pm-border-subtle);
  border-inline-start: 4px solid var(--promat-wordmark-accent);
  border-radius: var(--pm-radius-container);
  background: var(--pm-surface-paper);
  counter-increment: impulse-card;
  display: block;
  padding-top: 0.82rem;
  border-top: 0;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li::before {
  content: counter(impulse-card, decimal-leading-zero);
  display: block;
  margin-bottom: 0.34rem;
  color: var(--promat-wordmark-accent);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li:first-child {
  padding-top: 0.82rem;
  border-top: 0;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-topic-section:has(.pm-teaching-rich-text--didactic_close) .pm-teaching-section-heading__title::after {
  background: var(--promat-wordmark-accent);
  opacity: 0.2;
}

@media (min-width: 760px) {
  .pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-topic-section--topic-citation {
  gap: 0.9rem;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-topic-section--topic-citation > .pm-teaching-topic-section__grid--citation {
  row-gap: 0;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-topic-section + .pm-teaching-topic-section--topic-citation {
  margin-top: 3.35rem;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-topic-bottom-nav {
  margin-top: 1rem;
}

.pm-teaching-page--topic .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li {
  display: block;
  padding-top: 0.82rem;
  border-top: 1px solid var(--pm-border-subtle);
}

.pm-teaching-page--topic .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li:first-child {
  padding-top: 0;
  border-top: 0;
}

.pm-teaching-page--topic .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li :where(p) {
  margin: 0;
}

.pm-teaching-page--topic .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li strong {
  display: block;
  margin-bottom: 0.28rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--book-fg);
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li :where(p) {
  font-size: 0.98rem;
  line-height: 1.58;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close {
  width: min(85%, 1120px);
  justify-self: center;
  padding: 1.38rem 1.5rem 1.48rem;
  background: color-mix(in srgb, var(--promat-wordmark-accent) 10%, var(--pm-surface-paper) 90%);
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body ul {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  margin: 1rem auto 0;
  gap: 0.78rem;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li {
  padding: 0.88rem 1rem 0.94rem;
  border-top: 0;
  font-size: 0.98rem;
  line-height: 1.58;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li::before {
  position: absolute;
  inset-inline-start: 1rem;
  inset-block-start: 1rem;
  margin-bottom: 0;
  line-height: 1.1;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li strong {
  display: block;
  min-block-size: 1.15rem;
  margin: 0 0 0.42rem;
  padding-inline-start: 2.25rem;
  font-size: 0.99rem;
  font-weight: 600;
  line-height: 1.25;
}

.pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body li br {
  display: none;
}

@media (max-width: 759px) {
  .pm-teaching-page--topic[data-topic-slug="which-pronunciation"] .pm-teaching-rich-text--didactic_close .pm-teaching-rich-text__body ul {
    width: 100%;
  }
}

.pm-teaching-block--embed {
  display: grid;
  gap: 2.7rem;
}

.audio-section {
  display: grid;
  gap: 0;
  width: min(85%, 1120px);
  margin-inline: auto;
  border: 1px solid var(--pm-teaching-audio-section-border);
  border-top: 4px solid var(--pm-teaching-audio-section-accent);
  border-radius: var(--pm-teaching-audio-section-radius);
  padding: 1.75rem 2rem 1.75rem;
  background: var(--pm-teaching-audio-surface);
  box-shadow: var(--book-shadow);
}

.audio-section-header {
  margin-bottom: var(--pm-space-container);
}

.audio-section-title {
  margin: 0;
  display: grid;
  grid-template-columns: var(--pm-audio-section-icon-size) minmax(0, 1fr);
  align-items: center;
  column-gap: var(--pm-audio-section-title-gap);
  font-family: var(--pm-audio-section-title-font);
  font-size: var(--pm-audio-section-title-size);
  font-weight: var(--pm-audio-section-title-weight);
  line-height: var(--pm-audio-section-title-line-height);
}

.audio-section-title > .promat-content-block__title,
.audio-section-title > .pm-panel__title {
  margin: 0;
  font: inherit;
  color: inherit;
}

.audio-section-icon {
  width: var(--pm-audio-section-icon-size);
  height: var(--pm-audio-section-icon-size);
  flex: 0 0 auto;
  color: var(--pm-teaching-audio-icon-color);
  font-size: var(--pm-audio-section-icon-size);
  line-height: 1;
}

.audio-section-description {
  margin: 0.85rem 0 0;
  max-width: 72ch;
  color: var(--book-muted);
  font-size: 1rem;
  line-height: 1.45;
}

.audio-grid {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 0;
  gap: 1rem 1.3rem;
  align-items: stretch;
}

.audio-grid--examples {
  grid-auto-rows: 1fr;
}

.audio-grid--contrast {
  gap: 0.95rem 1.3rem;
}

.audio-card,
.audio-example-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 1.5rem;
}

.audio-card {
  border: 1px solid var(--pm-teaching-audio-card-border);
  border-radius: var(--pm-teaching-audio-card-radius);
  background: var(--pm-teaching-audio-card-surface);
  box-shadow: var(--book-shadow);
}

.audio-player-wrap {
  margin-top: auto;
  padding-top: 0;
}

.audio-player-wrap .pm-teaching-mini-player {
  width: 100%;
}

.audio-card-status {
  margin: 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.82rem;
}

.audio-quote {
  margin-top: var(--pm-space-sm);
  --pm-audio-linked-progress: 0%;
  position: relative;
  border: 1px solid var(--pm-teaching-audio-quote-border);
  padding: 1.25rem 1.25rem 2rem;
  background: var(--pm-teaching-audio-surface);
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.audio-quote[data-audio-state="paused"],
.audio-quote[data-audio-state="playing"] {
  background: var(--pm-teaching-audio-transcript-active-bg);
  border-color: var(--pm-teaching-audio-transcript-active-border);
}

.audio-quote[data-audio-state="paused"] {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pm-teaching-audio-transcript-active-border) 46%, transparent), 0 0 1rem color-mix(in srgb, var(--pm-teaching-audio-transcript-active-glow) 46%, transparent);
}

.audio-quote[data-audio-state="playing"] {
  animation: pm-teaching-audio-transcript-glow 2.1s ease-in-out infinite;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pm-teaching-audio-transcript-active-border) 52%, transparent), 0 0 1.2rem var(--pm-teaching-audio-transcript-active-glow);
}

.audio-example-note {
  margin-top: var(--pm-space-sm);
  color: var(--book-muted);
  font-size: 1rem;
  line-height: 1.45;
}

.audio-section-source {
  margin: var(--pm-space-sm) 0 0;
  justify-self: end;
  text-align: right;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.82rem;
}

.audio-section-source-prefix {
  margin-right: 0.3rem;
}

.audio-token {
  position: absolute;
  right: var(--pm-space-sm);
  bottom: 0.65rem;
  font-size: 0.72rem;
  color: var(--pm-teaching-audio-token-color);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-transform: none !important;
  letter-spacing: 0;
}

.pm-teaching-page--topic .audio-section {
  max-width: none;
}

.pm-teaching-audio-example__label,
.pm-teaching-audio-example__text,
.pm-teaching-audio-example__token,
.pm-teaching-audio-contrast__example-title,
.pm-teaching-audio-contrast__example-subtitle,
.pm-teaching-audio-contrast__transcript-row,
.pm-teaching-audio-contrast__transcript-label,
.pm-teaching-audio-contrast__transcript,
.pm-teaching-audio-contrast__note,
.pm-teaching-mini-player__time {
  margin: 0;
}

.pm-teaching-audio-contrast__example-subtitle,
.pm-teaching-audio-contrast__transcript-label,
.pm-teaching-audio-contrast__note,
.pm-teaching-mini-player__time {
  color: var(--book-muted);
}

.pm-teaching-audio-example {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  height: 100%;
}

.pm-teaching-audio-example__copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

.pm-teaching-audio-example__label {
  font-family: var(--book-font-ui);
  font-size: 0.98rem;
  font-weight: 650;
  letter-spacing: 0.01em;
}

.pm-teaching-audio-example__transcript {
  display: grid;
  gap: 0.52rem;
  align-content: start;
  min-width: 0;
  padding: 1.25rem 1.25rem 2rem;
  border-radius: calc(var(--pm-radius-card) - 0.25rem);
}

.pm-teaching-audio-example__text {
  color: var(--book-fg);
}

.pm-teaching-audio-example__token {
  justify-self: auto;
}

.pm-teaching-block--audio-contrast {
  padding-top: 0.1rem;
}

.pm-teaching-audio-contrast__transcript-row {
  flex-wrap: wrap;
}

.audio-sequence-row {
  margin-top: 0.85rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.pm-teaching-audio-contrast__transcript-label {
  font-family: var(--book-font-ui);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
}

.pm-teaching-audio-contrast__transcript {
  --pm-audio-linked-progress: 0%;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  padding: 0.3rem 0.68rem;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--pm-border-subtle) 82%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--pm-surface-paper) 82%, var(--pm-surface-neutral) 18%);
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: 0.88rem;
  letter-spacing: 0.01em;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.pm-teaching-audio-contrast__transcript::before {
  content: "";
  position: absolute;
  inset: 0;
  width: var(--pm-audio-linked-progress);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--pm-teaching-audio-linked-progress-bg-strong) 0%, var(--pm-teaching-audio-linked-progress-bg) 100%);
  z-index: 0;
  transition: width 80ms linear, opacity 140ms ease;
}

.pm-teaching-audio-contrast__transcript-text {
  position: relative;
  z-index: 1;
}

.pm-teaching-audio-contrast__transcript[data-audio-state="paused"],
.pm-teaching-audio-contrast__transcript[data-audio-state="playing"] {
  border-color: var(--pm-teaching-audio-transcript-active-border);
}

.pm-teaching-audio-contrast__transcript[data-audio-state="playing"] {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pm-teaching-audio-transcript-active-border) 44%, transparent);
}

.pm-teaching-audio-contrast__example {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.pm-teaching-audio-contrast__example-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

.pm-teaching-audio-contrast__example-subtitle {
  font-family: var(--book-font-ui);
  margin-top: 0.35rem;
  color: var(--pm-teaching-audio-subtitle-color);
  font-size: 0.9rem;
  letter-spacing: 0.01em;
}

.pm-teaching-audio-contrast__note {
  min-height: 0;
  margin-top: 0.85rem;
  font-size: 0.98rem;
  line-height: 1.55;
}

.audio-player-shell {
  display: grid;
  gap: 0.65rem;
}

.pm-teaching-mini-player__audio {
  display: none;
}

.pm-teaching-mini-player__native {
  width: 100%;
}

.pm-teaching-mini-player__play,
.pm-teaching-mini-player__track-wrap,
.pm-teaching-mini-player__time {
  display: none;
}

.audio-player-shell.is-ready {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.72rem;
  min-height: 4.25rem;
  padding: 0.75rem 1rem;
  border-radius: calc(var(--pm-radius-card) - 0.2rem);
  background: color-mix(in srgb, var(--pm-surface-neutral) 68%, var(--pm-surface-paper) 32%);
}

.audio-player-shell[data-audio-state="playing"] .pm-teaching-mini-player__play {
  border-color: var(--pm-teaching-audio-transcript-active-border);
  background: color-mix(in srgb, var(--pm-surface-paper) 84%, var(--promat-wordmark-accent) 16%);
}

.audio-player-shell.is-ready .pm-teaching-mini-player__native {
  display: none;
}

.audio-player-shell.is-ready .pm-teaching-mini-player__play,
.audio-player-shell.is-ready .pm-teaching-mini-player__track-wrap,
.audio-player-shell.is-ready .pm-teaching-mini-player__time {
  display: block;
}

.pm-teaching-mini-player__play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  padding: 0;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 999px;
  background: var(--pm-surface-paper);
  color: var(--book-fg);
  cursor: pointer;
}

.pm-teaching-mini-player__play:hover {
  background: color-mix(in srgb, var(--pm-surface-paper) 74%, white 26%);
}

.pm-teaching-mini-player__track-wrap {
  min-width: 0;
}

.pm-teaching-mini-player__track {
  width: 100%;
  margin: 0;
  accent-color: var(--book-accent);
}

.pm-teaching-mini-player__time {
  font-family: var(--book-font-ui);
  font-size: 0.8rem;
  min-width: 6.1rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

@keyframes pm-teaching-audio-transcript-glow {
  0%,
  100% {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--pm-teaching-audio-transcript-active-border) 50%, transparent), 0 0 1rem color-mix(in srgb, var(--pm-teaching-audio-transcript-active-glow) 68%, transparent);
  }

  50% {
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--pm-teaching-audio-transcript-active-border) 76%, transparent), 0 0 1.75rem var(--pm-teaching-audio-transcript-active-glow);
  }
}

@media (prefers-reduced-motion: reduce) {
  .audio-quote,
  .pm-teaching-audio-contrast__transcript {
    transition: none;
  }

  .pm-teaching-audio-contrast__transcript::before {
    transition: none;
  }

  .audio-quote[data-audio-state="playing"] {
    animation: none;
  }
}

@media (max-width: 759px) {
  .pm-teaching-page--topic .pm-teaching-topic-metadata,
  .pm-teaching-page--topic .pm-teaching-block-grid {
    box-sizing: border-box;
    width: min(100%, 18rem);
    max-width: 18rem;
    margin-inline: auto;
  }

  .pm-teaching-page--topic .pm-content-header__title {
    max-width: min(100%, 13ch);
    font-size: clamp(1.88rem, 1.62rem + 1.2vw, 2.3rem);
  }

  .pm-teaching-page--topic .pm-content-header__intro {
    max-width: 100%;
    font-size: 1.08rem;
  }

  .pm-teaching-page--topic .pm-teaching-topic-header {
    margin-bottom: 2rem;
  }

  .pm-teaching-page--topic .pm-teaching-topic-meta__details {
    display: grid;
    justify-items: center;
    gap: 0.32rem;
  }

  .pm-teaching-page--topic .pm-teaching-topic-meta__detail {
    justify-content: center;
  }

  .pm-teaching-page--topic .pm-teaching-topic-meta__separator {
    display: none;
  }
}

.pm-teaching-block-grid .pm-teaching-download-card {
  width: 100%;
  max-width: none;
}

.pm-teaching-topic-card__body,
.pm-teaching-download-card__body {
  display: grid;
  gap: 0.74rem;
}

.pm-teaching-topic-card--compact {
  --pm-cta-link-font-size: 0.92rem;
  --pm-cta-link-line-height: 1.3;
}

.pm-teaching-page--hub .pm-teaching-topic-card--compact {
  height: auto;
  align-self: start;
}

.pm-teaching-topic-card--compact .pm-teaching-topic-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.56rem;
  height: 100%;
  min-height: 0;
  align-content: start;
}

.pm-teaching-topic-card--compact .pm-card__text {
  color: var(--book-muted);
  font-size: 0.98rem;
  line-height: 1.5;
}

.pm-teaching-topic-card__byline {
  margin: 0;
  color: color-mix(in srgb, var(--book-muted) 86%, var(--book-fg) 14%);
  font-size: 0.93rem;
  line-height: 1.45;
}

.pm-teaching-topic-card--compact .pm-teaching-topic-card__byline {
  font-size: 0.89rem;
}

.pm-teaching-topic-card--compact.pm-teaching-topic-card--pending .pm-card__text {
  color: color-mix(in srgb, var(--book-muted) 88%, var(--pm-surface-paper) 12%);
}

.pm-teaching-topic-card--pending .pm-teaching-topic-card__byline {
  color: color-mix(in srgb, var(--book-muted) 90%, var(--pm-surface-paper) 10%);
}

.pm-teaching-topic-card__meta,
.pm-teaching-segment-list,
.pm-teaching-credits__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pm-teaching-topic-card__meta-item,
.pm-teaching-segment-list__item {
  padding: 0;
}

.pm-teaching-topic-card__pill,
.pm-teaching-segment-list__item {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.18rem 0.55rem;
  border: 1px solid color-mix(in srgb, var(--pm-border-subtle) 86%, var(--promat-secondary) 14%);
  border-radius: var(--pm-radius-pill);
  background: color-mix(in srgb, var(--pm-surface-paper) 78%, var(--pm-surface-accent-soft) 22%);
  color: color-mix(in srgb, var(--book-fg) 82%, var(--pm-text-accent) 18%);
  font-size: var(--pm-chip-font-size);
  font-weight: 600;
  line-height: 1.1;
}

.pm-teaching-topic-card__action {
  margin-top: auto;
}

.pm-teaching-topic-card--compact .pm-card__action,
.pm-teaching-topic-card--compact .pm-teaching-topic-card__action {
  margin-top: auto;
  padding-top: 0;
}

.pm-teaching-topic-card--compact .pm-card__body > .pm-card__action,
.pm-teaching-topic-card--compact .pm-card__body > .pm-teaching-topic-card__action {
  margin-top: auto;
  padding-top: 0;
  align-self: start;
}

.pm-teaching-topic-card__status {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.18rem 0.72rem;
  border: 1px solid color-mix(in srgb, var(--pm-border-subtle) 92%, transparent);
  border-radius: var(--pm-radius-pill);
  background: color-mix(in srgb, var(--pm-surface-paper) 88%, var(--pm-surface-hover) 12%);
  color: var(--book-muted);
  font-size: var(--pm-chip-font-size);
  font-weight: 600;
  line-height: 1.1;
}

.pm-teaching-topic-card--compact .pm-teaching-topic-card__status {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: color-mix(in srgb, var(--book-muted) 88%, var(--pm-surface-paper) 12%);
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.35;
}

.pm-teaching-topic-card--available:hover,
a.pm-teaching-topic-card:focus-visible {
  background: color-mix(in srgb, var(--pm-surface-paper) 84%, var(--promat-secondary-container) 16%);
  border-color: color-mix(in srgb, var(--pm-border-default) 60%, var(--promat-secondary) 40%);
  border-top-color: color-mix(in srgb, var(--promat-secondary) 84%, var(--pm-border-subtle) 16%);
  box-shadow: var(--pm-card-shadow);
  transform: translateY(-1px);
}

.pm-teaching-topic-card--pending {
  border-top-color: color-mix(in srgb, var(--pm-border-default) 84%, var(--promat-secondary) 16%);
  background: color-mix(in srgb, var(--pm-surface-paper) 95%, var(--pm-surface-hover) 5%);
  color: color-mix(in srgb, var(--book-fg) 72%, var(--book-muted));
  box-shadow: none;
  cursor: default;
}

.pm-teaching-topic-card--pending .pm-card__title,
.pm-teaching-topic-card--pending .pm-card__text {
  color: inherit;
}

.pm-teaching-topic-card--pending .pm-card__title {
  color: color-mix(in srgb, var(--book-fg) 84%, var(--book-muted) 16%);
}

.pm-teaching-topic-card--pending .pm-teaching-topic-card__pill {
  border-color: color-mix(in srgb, var(--pm-border-subtle) 92%, transparent);
  background: color-mix(in srgb, var(--pm-surface-paper) 90%, var(--pm-surface-hover) 10%);
  color: color-mix(in srgb, var(--book-fg) 68%, var(--book-muted));
}

.pm-teaching-language-row .pm-interaction__arrow,
.pm-teaching-topic-card .pm-interaction__arrow {
  transition: transform var(--promat-transition-fast);
}

.pm-teaching-language-row:hover .pm-interaction__arrow,
.pm-teaching-language-row--available:focus-visible .pm-interaction__arrow,
.pm-teaching-topic-card--available:hover .pm-interaction__arrow,
a.pm-teaching-topic-card:focus-visible .pm-interaction__arrow {
  transform: translateX(0.12rem);
}

.pm-teaching-credits__person-name,
.pm-teaching-credits__person-meta {
  margin: 0;
}

.pm-teaching-block--span-2.pm-teaching-block--text > .promat-content-block__text,
.pm-teaching-block--span-3.pm-teaching-block--text > .promat-content-block__text,
.pm-teaching-block--span-2.pm-teaching-block--rich-text .pm-teaching-rich-text__body,
.pm-teaching-block--span-3.pm-teaching-block--rich-text .pm-teaching-rich-text__body,
.pm-teaching-block--citation .pm-admonition__text,
.pm-teaching-block--citation .pm-teaching-citation__meta {
  max-width: min(100%, 82ch);
}

.pm-teaching-page--topic .pm-teaching-block--citation {
  width: min(100%, calc(var(--pm-layout-reading-width) + (2 * var(--pm-space-container))));
  margin-inline: auto;
}

.pm-teaching-page--topic .pm-teaching-block--citation .pm-admonition {
  width: 100%;
}

.pm-teaching-block--citation .pm-admonition__text,
.pm-teaching-block--citation .pm-teaching-citation__meta {
  max-width: min(100%, 65ch);
}

.pm-teaching-block--overview .pm-admonition {
  box-shadow: none;
}

.pm-teaching-block--overview .pm-admonition__text {
  color: var(--pm-overview-body-color);
}

.pm-teaching-block--overview .pm-admonition__text > ul {
  display: grid;
  gap: var(--pm-admonition-body-gap);
  margin: 0;
  padding-inline-start: var(--promat-space-4);
}

.pm-teaching-block--overview .pm-admonition__text > ul > li::marker {
  color: var(--pm-overview-bullet-color);
}

.pm-teaching-further-reading {
  display: grid;
  gap: clamp(0.96rem, 0.84rem + 0.36vw, 1.24rem);
  padding: clamp(1rem, 0.94rem + 0.24vw, 1.24rem);
  border: 1px solid var(--pm-teaching-further-reading-border);
  border-radius: calc(var(--pm-radius-container) + 2px);
  background: var(--pm-teaching-further-reading-surface);
  font-family: var(--pm-admonition-body-font);
}

.pm-teaching-further-reading__header {
  display: grid;
  gap: calc(var(--pm-admonition-body-gap) * 0.5);
  padding-block-end: calc(var(--pm-divider-space-after) * 0.75);
  margin-block-end: calc(var(--pm-divider-space-before) * 0.2);
  border-bottom: 1px solid var(--pm-teaching-further-reading-divider-color);
}

.pm-teaching-further-reading__title-row {
  display: grid;
  grid-template-columns: var(--pm-admonition-icon-box-size) minmax(0, 1fr);
  align-items: center;
  column-gap: var(--pm-admonition-header-gap);
}

.pm-teaching-further-reading__icon {
  display: grid;
  place-items: center;
  flex: none;
  inline-size: var(--pm-admonition-icon-box-size);
  block-size: var(--pm-admonition-icon-box-size);
  color: var(--pm-teaching-further-reading-icon-color);
  font-size: var(--pm-admonition-icon-size);
  line-height: 1;
}

.pm-teaching-further-reading__title,
.pm-teaching-further-reading__description,
.pm-teaching-further-reading-card__text {
  margin: 0;
}

.pm-teaching-further-reading__title {
  color: var(--pm-teaching-further-reading-title-color);
  font-family: var(--pm-admonition-title-font);
  font-size: var(--pm-admonition-title-size);
  font-weight: var(--pm-admonition-title-weight);
  line-height: var(--pm-admonition-title-line-height);
  letter-spacing: 0;
}

.pm-teaching-further-reading__description {
  max-width: min(100%, 68ch);
  color: var(--pm-teaching-further-reading-description-color);
  font-family: var(--pm-admonition-body-font);
  font-size: var(--pm-admonition-body-size);
  line-height: var(--pm-admonition-body-line-height);
}

.pm-teaching-further-reading__grid {
  gap: 0.82rem;
  align-items: start;
}

.pm-teaching-further-reading-card {
  border-color: var(--pm-teaching-further-reading-card-border);
  border-top-color: var(--pm-teaching-further-reading-card-accent);
  background: var(--pm-teaching-further-reading-card-surface);
}

.pm-teaching-further-reading-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.72rem;
  height: 100%;
}

.pm-teaching-further-reading-card__text {
  color: var(--book-muted);
  font-family: var(--pm-admonition-body-font);
  line-height: 1.58;
}

.pm-teaching-further-reading-card__action {
  margin-top: auto;
}

.pm-teaching-citation__meta {
  margin-top: 0.2rem;
}

.pm-teaching-citation__value {
  color: var(--book-text);
  overflow-wrap: anywhere;
}

@media (min-width: 760px) {
  .audio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .audio-section {
    width: 100%;
  }
}

.pm-teaching-reading-links {
  display: grid;
  gap: 0.65rem;
}

.pm-teaching-reading-links {
  margin: 0;
  padding-left: 1rem;
}

.pm-teaching-figure {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

.pm-teaching-figure__image {
  width: 100%;
  border-radius: var(--pm-radius-container);
  border: 1px solid var(--pm-border-default);
}

.pm-teaching-figure__caption {
  color: var(--book-muted);
}

@media (min-width: 760px) {
  .pm-teaching-language-row__body--available {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "title aside";
    align-items: center;
  }

  .pm-teaching-language-row__body--pending {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "title aside";
    column-gap: clamp(1rem, 1.8vw, 2rem);
    align-items: center;
  }

  .pm-teaching-language-row__aside--available {
    grid-template-columns: max-content max-content;
    column-gap: clamp(1.7rem, 3vw, 3.25rem);
    align-items: center;
    justify-content: end;
    justify-items: end;
  }

  .pm-teaching-language-row__aside--pending {
    align-items: center;
    justify-content: end;
    justify-items: end;
  }

  .pm-teaching-language-row__status {
    text-align: right;
    white-space: nowrap;
    align-self: center;
  }

  .pm-teaching-language-row__action {
    justify-self: end;
    align-self: center;
  }
}

@media (max-width: 759px) {
  .pm-teaching-page--overview .pm-content-header,
  .pm-teaching-page--overview .pm-teaching-overview__intro,
  .pm-teaching-page--overview .pm-teaching-overview__prompt {
    box-sizing: border-box;
    width: min(100%, 21rem);
    max-width: 21rem;
    margin-inline: auto;
  }

  .pm-teaching-page--hub .pm-content-header,
  .pm-teaching-page--topic .pm-content-header,
  .pm-teaching-page--hub .pm-teaching-overview__intro,
  .pm-teaching-page--topic .pm-teaching-overview__intro {
    box-sizing: border-box;
    width: min(100%, 18rem);
    max-width: 18rem;
    margin-inline: auto;
  }

  .pm-teaching-page--hub .pm-breadcrumb,
  .pm-teaching-page--topic .pm-breadcrumb {
    width: min(100%, 18rem);
    max-width: 18rem;
    margin-inline: auto;
  }

  .pm-teaching-language-row__status {
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: left;
    white-space: normal;
  }

  .pm-teaching-language-row__aside {
    justify-items: start;
  }

  .pm-teaching-language-row__action {
    justify-self: start;
  }

  .pm-teaching-page--hub .pm-breadcrumb__list,
  .pm-teaching-page--topic .pm-breadcrumb__list {
    display: block;
    width: 100%;
    text-align: center;
  }

  .pm-teaching-page--hub .pm-breadcrumb__item,
  .pm-teaching-page--topic .pm-breadcrumb__item {
    display: inline;
  }

  .pm-teaching-page--hub .pm-breadcrumb__link,
  .pm-teaching-page--topic .pm-breadcrumb__link {
    font-size: 0.9rem;
    overflow-wrap: anywhere;
  }

  .pm-teaching-page--hub .pm-breadcrumb__separator,
  .pm-teaching-page--topic .pm-breadcrumb__separator {
    margin-inline: 0.28rem;
  }

  .pm-teaching-page--overview .pm-content-header__title,
  .pm-teaching-page--hub .pm-content-header__title,
  .pm-teaching-page--topic .pm-content-header__title {
    max-width: min(100%, 12ch);
    margin-inline: auto;
    overflow-wrap: anywhere;
  }

  .pm-teaching-page--overview .pm-content-header__title {
    max-width: min(100%, 16ch);
    font-size: clamp(1.42rem, 1.3rem + 1.05vw, 1.78rem);
    line-height: 1.2;
  }

  .pm-teaching-page--hub .pm-content-header__title {
    font-size: clamp(2rem, 1.6rem + 2vw, 2.6rem);
    line-height: 1.04;
  }

  .pm-teaching-page--hub .pm-content-header__intro,
  .pm-teaching-page--topic .pm-content-header__intro,
  .pm-teaching-overview__intro-text {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: 1.04rem;
  }
}

.pm-teaching-video-block,
.pm-teaching-topic-grid__heading {
  display: grid;
  gap: 0.45rem;
}

.pm-teaching-topic-grid__heading {
  align-items: start;
}

.pm-teaching-download-card.is-unavailable,
.pm-teaching-audio-card.is-unavailable {
  opacity: 0.9;
}

.pm-auth-surface,
.pm-auth-stack,
.pm-auth-form,
.pm-auth-actions,
.pm-auth-secondary,
.pm-auth-secondary__header,
.pm-auth-secondary__body,
.pm-auth-field,
.pm-auth-state {
  display: grid;
}

.pm-access-request-form,
.pm-access-request-form__grid,
.pm-access-request-page__secondary,
.pm-auth-choice,
.pm-auth-secondary__body--quiet {
  display: grid;
}

.pm-auth-surface,
.pm-auth-stack {
  gap: clamp(1.15rem, 2.4vw, 1.7rem);
}

.pm-auth-form {
  gap: 1.15rem;
}

.pm-access-request-form {
  gap: 1rem;
}

.pm-access-request-form__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.pm-auth-field {
  gap: 0.38rem;
}

.pm-auth-field__label,
.pm-auth-message__eyebrow,
.pm-auth-note,
.pm-auth-secondary__title {
  font-family: var(--book-font-ui);
}

.pm-auth-field__label,
.pm-auth-message__eyebrow {
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--book-muted);
}

.pm-auth-field__input {
  min-height: max(2.85rem, var(--pm-form-control-min-block));
  block-size: max(2.85rem, var(--pm-form-control-min-block));
  background: color-mix(in srgb, var(--pm-surface-paper) 94%, var(--pm-surface-neutral) 6%);
}

.pm-auth-field__input[aria-invalid="true"] {
  border-color: var(--book-danger, #b54747);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--book-danger, #b54747) 25%, transparent);
}

.pm-auth-note,
.pm-auth-field__hint,
.pm-auth-secondary__text,
.pm-auth-message__text,
.pm-auth-state__text {
  margin: 0;
  color: var(--book-muted);
}

.pm-auth-field__hint,
.pm-auth-field__error {
  font-size: 0.88rem;
  line-height: 1.5;
}

.pm-auth-field__error {
  margin: 0;
  color: var(--book-danger, #b54747);
}

.pm-auth-note {
  font-size: 0.92rem;
  line-height: 1.55;
}

.pm-auth-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  align-items: center;
}

.pm-auth-actions--single {
  justify-content: flex-start;
}

.pm-auth-submit {
  gap: 0.45rem;
  margin-left: auto;
}

.pm-auth-action-link {
  flex: 0 0 auto;
}

.pm-auth-message {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 0.95rem;
  background: color-mix(in srgb, var(--pm-surface-paper) 94%, var(--pm-surface-neutral) 6%);
}

.pm-auth-message.is-error {
  border-color: var(--book-danger, #b54747);
  background: color-mix(in srgb, var(--book-danger, #b54747) 6%, var(--pm-surface-paper) 94%);
}

.pm-auth-message.is-success {
  border-color: var(--book-link);
  background: color-mix(in srgb, var(--book-link) 8%, var(--pm-surface-paper) 92%);
}

.pm-auth-message__icon {
  align-self: start;
  color: var(--book-muted);
  font-size: 1.1rem;
}

.pm-auth-message.is-error .pm-auth-message__icon {
  color: var(--book-danger, #b54747);
}

.pm-auth-message.is-success .pm-auth-message__icon {
  color: var(--book-link);
}

.pm-auth-message__body {
  display: grid;
  gap: 0.18rem;
}

.pm-auth-message__eyebrow {
  margin: 0;
}

.pm-auth-secondary {
  gap: 0.9rem;
  padding-top: 1.55rem;
  border-top: 1px solid var(--pm-border-subtle);
}

.pm-auth-secondary--card {
  padding: 1.1rem 1.15rem;
  border-top: none;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--pm-surface-paper) 94%, var(--pm-surface-neutral) 6%);
}

body[data-page="login"] .pm-auth-secondary--card {
  margin-top: 3rem;
}

.pm-auth-secondary--inline {
  padding-top: 1.35rem;
}

.pm-auth-secondary--inline.pm-auth-secondary--card {
  padding-top: 1.1rem;
}

.pm-auth-secondary__header {
  gap: 0.38rem;
}

.pm-auth-secondary__body {
  gap: 0.7rem;
}

.pm-auth-secondary__body--quiet {
  gap: 0.85rem;
}

.pm-auth-secondary__eyebrow {
  margin: 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pm-auth-secondary__title,
.pm-auth-state__title {
  margin: 0;
  color: var(--book-fg);
  font-size: clamp(1.02rem, 0.96rem + 0.18vw, 1.16rem);
  font-weight: 650;
}

.pm-auth-secondary__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.pm-auth-choice {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
}

.pm-auth-choice__input {
  appearance: none;
  margin: 0;
  inline-size: var(--pm-touch-target-min);
  block-size: var(--pm-touch-target-min);
  border: 1px solid var(--pm-control-checkbox-border);
  border-radius: 0.55rem;
  background: var(--pm-control-checkbox-bg);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), box-shadow var(--promat-transition-fast);
}

.pm-auth-choice__input::after {
  content: "";
  inline-size: 0.58rem;
  block-size: 0.34rem;
  border-left: 2px solid transparent;
  border-bottom: 2px solid transparent;
  transform: rotate(-45deg) translateY(-0.04rem);
  transform-origin: center;
}

.pm-auth-choice__input:hover {
  background: var(--pm-control-checkbox-hover-bg);
  border-color: var(--pm-control-checkbox-hover-border);
}

.pm-auth-choice__input:checked {
  background: var(--pm-control-checkbox-checked-bg);
  border-color: var(--pm-control-checkbox-checked-border);
}

.pm-auth-choice__input:checked::after {
  border-left-color: var(--pm-control-checkbox-check);
  border-bottom-color: var(--pm-control-checkbox-check);
}

.pm-auth-choice__input:focus-visible {
  outline: 2px solid var(--pm-control-checkbox-focus-outline);
  outline-offset: 2px;
}

.pm-auth-choice__input[aria-invalid="true"] {
  border-color: var(--pm-control-checkbox-error-border);
  background: var(--pm-control-checkbox-error-bg);
  box-shadow: 0 0 0 1px var(--pm-control-checkbox-error-border);
}

.pm-auth-choice__label {
  color: var(--book-fg);
  line-height: 1.55;
}

.pm-auth-state {
  gap: 0.38rem;
  padding: 1rem 0 0.2rem;
}

.pm-auth-secondary__action-link {
  margin-left: auto;
}

.pm-material-choice {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--pm-touch-target-min);
  padding: 0 0.9rem;
  border: 1px solid var(--pm-border-subtle);
  border-color: var(--pm-border-subtle);
  border-radius: 999px;
  background: color-mix(in srgb, var(--pm-surface-paper) 72%, var(--pm-surface-accent-soft) 28%);
  color: var(--pm-text-accent);
  font-size: 0.8rem;
  font-family: var(--book-font-ui);
  font-weight: 600;
  letter-spacing: var(--pm-type-meta-tracking);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.pm-material-choice:hover,
.pm-material-choice:focus-visible {
  color: var(--pm-text-accent);
  background: color-mix(in srgb, var(--pm-surface-paper) 56%, var(--pm-surface-accent-soft) 44%);
}

.pm-material-choice.is-current {
  border-color: transparent;
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 74%, var(--pm-surface-paper) 26%);
  color: var(--book-fg);
}

.pm-material-choice.is-disabled,
.pm-material-choice[aria-disabled="true"],
.pm-material-choice:disabled {
  border-color: var(--pm-border-subtle);
  background: var(--pm-surface-neutral);
  color: var(--pm-text-muted-strong);
  cursor: default;
  pointer-events: none;
}

.pm-phenomena-inline-note__text,
.pm-phenomena-section-intro__eyebrow,
.pm-phenomena-section-intro__title,
.pm-phenomena-section-intro__text,
.pm-phenomena-status-card__eyebrow,
.pm-phenomena-status-card__title,
.pm-phenomena-status-card__text,
.pm-phenomena-panel-header__title,
.pm-phenomena-panel-header__text,
.pm-phenomena-browser-panel__summary,
.pm-phenomena-launcher__note,
.pm-phenomena-preset-card__meta,
.pm-phenomena-preset-card__title,
.pm-phenomena-preset-card__text,
.pm-phenomena-item__text,
.pm-phenomena-browser-result__text {
  margin: 0;
}

.pm-phenomena-inline-note__text,
.pm-phenomena-section-intro__eyebrow,
.pm-phenomena-status-card__eyebrow,
.pm-phenomena-preset-card__meta,
.pm-phenomena-item__meta,
.pm-phenomena-item__task,
.pm-phenomena-browser-result__meta,
.pm-phenomena-browser-result__task,
.pm-phenomena-browser-result__group,
.pm-phenomena-field__label,
.pm-phenomena-preview-list__item,
.pm-phenomena-item__number,
.pm-phenomena-browser-result__number {
  font-family: var(--book-font-ui);
  font-size: 0.8rem;
  letter-spacing: 0.04em;
}

.pm-phenomena-section-intro__eyebrow,
.pm-phenomena-status-card__eyebrow,
.pm-phenomena-preset-card__meta,
.pm-phenomena-item__meta,
.pm-phenomena-item__task,
.pm-phenomena-browser-result__meta,
.pm-phenomena-browser-result__task,
.pm-phenomena-browser-result__group,
.pm-phenomena-field__label,
.pm-phenomena-preview-list__item {
  color: var(--book-muted);
  text-transform: uppercase;
}

.pm-phenomena-section-intro__title,
.pm-phenomena-status-card__title,
.pm-phenomena-panel-header__title,
.pm-phenomena-preset-card__title {
  font-family: var(--book-font-display);
  font-size: clamp(1.2rem, 1rem + 0.4vw, 1.6rem);
  line-height: 1.2;
}

.pm-phenomena-section-intro__text,
.pm-phenomena-status-card__text,
.pm-phenomena-panel-header__text,
.pm-phenomena-preset-card__text,
.pm-phenomena-item__text,
.pm-phenomena-browser-result__text {
  color: var(--book-fg);
  line-height: 1.55;
}

.pm-phenomena-preset-card {
  border-top: var(--pm-card-accent-bar-thickness) solid var(--book-accent);
}

.pm-phenomena-preset-card.is-active {
  border-color: var(--book-accent);
  box-shadow: var(--pm-focus-ring);
}

.pm-phenomena-preset-card__body,
.pm-phenomena-item__body,
.pm-phenomena-browser-result__body {
  display: grid;
  gap: 0.6rem;
}

.pm-phenomena-preset-card__meta,
.pm-phenomena-item__meta-row,
.pm-phenomena-browser-result__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
}

.pm-phenomena-preset-card__count,
.pm-phenomena-item__number,
.pm-phenomena-browser-result__number {
  color: var(--book-link);
  font-weight: 700;
}

.pm-phenomena-preset-card__footer,
.pm-phenomena-status-card__actions,
.pm-phenomena-launcher__actions,
.pm-phenomena-item__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.pm-workspace-status-meta,
.pm-workspace-feedback,
.pm-workspace-dialog-message {
  margin: 0;
  font-family: var(--book-font-ui);
  font-size: 0.8rem;
  line-height: 1.45;
}

.pm-workspace-status-meta {
  color: var(--book-muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pm-workspace-feedback {
  color: var(--book-muted);
}

.pm-workspace-feedback[data-tone="success"] {
  color: var(--book-link);
}

.pm-workspace-feedback[data-tone="error"],
.pm-workspace-dialog-message {
  color: var(--book-danger, #b54747);
}

.pm-phenomena-field {
  display: grid;
  gap: 0.4rem;
}

.pm-phenomena-field--search {
  min-width: min(100%, 20rem);
}

.pm-phenomena-field__input {
  width: 100%;
  min-height: max(2.75rem, var(--pm-form-control-min-block));
  block-size: max(2.75rem, var(--pm-form-control-min-block));
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 0.8rem;
  background: var(--pm-surface-neutral);
  color: var(--book-fg);
}

.pm-phenomena-item,
.pm-phenomena-browser-result {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 0.9rem;
  background: var(--pm-surface-paper);
  align-items: start;
}

.pm-phenomena-browser-results__empty {
  padding: 1rem 1.1rem;
  border: 1px dashed var(--pm-border-default);
  border-radius: 0.9rem;
  color: var(--book-muted);
}

.pm-phenomena-launcher__actions .is-disabled {
  pointer-events: none;
  opacity: 0.55;
}

.pm-comparison-status-card__eyebrow,
.pm-comparison-status-card__title,
.pm-comparison-status-card__text,
.pm-comparison-playback-status,
.pm-comparison-filter-count,
.pm-comparison-session-group__title,
.pm-comparison-session-group__text,
.pm-comparison-speaker-row__title,
.pm-comparison-speaker-row__meta,
.pm-comparison-item__text,
.pm-comparison-session-list__empty,
.pm-comparison-matrix-empty,
.pm-comparison-matrix__missing,
.pm-comparison-matrix__session-person,
.pm-comparison-matrix__session-meta {
  margin: 0;
}

.pm-comparison-status-card__eyebrow,
.pm-comparison-filter-count,
.pm-comparison-speaker-badge,
.pm-comparison-item__task,
.pm-comparison-item__group,
.pm-comparison-item__number,
.pm-comparison-matrix__stub {
  font-family: var(--book-font-ui);
  font-size: 0.8rem;
  letter-spacing: 0.04em;
}

.pm-comparison-status-card__eyebrow,
.pm-comparison-item__task,
.pm-comparison-item__group,
.pm-comparison-filter-count,
.pm-comparison-matrix__stub {
  color: var(--book-muted);
  text-transform: uppercase;
}

.pm-comparison-status-card__title,
.pm-comparison-session-group__title,
.pm-comparison-speaker-row__title {
  font-family: var(--book-font-display);
  font-size: clamp(1.15rem, 1rem + 0.32vw, 1.45rem);
  line-height: 1.2;
}

.pm-comparison-stage-title {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  margin: 0;
  color: var(--book-fg);
  font-family: var(--book-font-display);
  font-size: clamp(1.2rem, 1.02rem + 0.42vw, 1.65rem);
  line-height: 1.2;
}

.pm-comparison-stage-title--section {
  font-size: clamp(1.1rem, 0.98rem + 0.32vw, 1.4rem);
}

.pm-comparison-stage-title__step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 1.8rem;
  block-size: 1.8rem;
  border-radius: 999px;
  border: 1px solid var(--pm-border-default);
  background: color-mix(in srgb, var(--pm-surface-neutral) 72%, var(--pm-surface-paper) 28%);
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.pm-comparison-status-card__text,
.pm-comparison-playback-status,
.pm-comparison-filter-count,
.pm-comparison-session-group__text,
.pm-comparison-speaker-row__meta,
.pm-comparison-item__text,
.pm-comparison-session-list__empty,
.pm-comparison-matrix-empty,
.pm-comparison-matrix__missing {
  color: var(--book-fg);
  line-height: 1.55;
}

.pm-comparison-status-card__actions,
.pm-comparison-matrix__cell-actions,
.pm-comparison-matrix__item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.pm-comparison-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.pm-comparison-step-header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: end;
  justify-content: space-between;
}

.pm-comparison-step-header--section {
  align-items: start;
}

.pm-comparison-material-card,
.pm-comparison-material-panel,
.pm-comparison-session-panel,
.pm-comparison-session-groups,
.pm-comparison-session-group {
  display: grid;
  gap: 1rem;
}

.pm-comparison-flow {
  gap: var(--pm-space-lg);
}

.pm-comparison-material-card {
  gap: 0.72rem;
  overflow: visible;
}

.pm-comparison-material-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1rem;
  align-items: end;
}

.pm-comparison-material-chooser--stacked {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
  flex: 1 1 18rem;
}

.pm-comparison-set-select-block {
  display: grid;
  gap: 0.35rem;
  width: min(100%, 14rem);
  min-width: min(12rem, 100%);
  flex: 0 1 clamp(12rem, 24vw, 14rem);
  justify-self: end;
  position: relative;
  z-index: 1;
}

.pm-comparison-set-select-block__label-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 1.2rem;
}

.pm-comparison-set-select-block__label-row .pm-phenomena-field__label {
  line-height: 1.1;
}

.pm-comparison-inline-help {
  position: relative;
  flex: 0 0 auto;
}

.pm-comparison-inline-help[open] {
  z-index: 2;
}

.pm-comparison-inline-help__summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--pm-touch-target-min);
  block-size: var(--pm-touch-target-min);
  border: 1px solid var(--pm-border-default);
  border-radius: 999px;
  background: var(--pm-surface-paper);
  color: var(--book-muted);
  cursor: pointer;
  list-style: none;
  font-family: var(--book-font-ui);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
}

.pm-comparison-inline-help__summary::-webkit-details-marker {
  display: none;
}

.pm-comparison-inline-help:not([open]) .pm-comparison-inline-help__body {
  display: none;
}

.pm-comparison-inline-help__body {
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 0;
  min-width: min(18rem, 78vw);
  max-inline-size: var(--pm-overlay-max-inline);
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 0.8rem;
  background: var(--pm-surface-paper);
  box-shadow: var(--pm-elevation-soft);
  color: var(--book-fg);
  font-size: 0.82rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.pm-comparison-material-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  min-width: 0;
}

.pm-comparison-set-summary {
  display: block;
  margin: 0;
  color: var(--book-fg);
  font-family: var(--book-font-display);
  font-size: 1rem;
  line-height: 1.3;
}

.pm-comparison-session-tools,
.pm-comparison-filter-summary {
  display: grid;
  gap: 0.75rem;
}

.pm-comparison-session-tools {
  gap: 1.08rem;
}

.pm-comparison-session-groups {
  align-items: start;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0.72rem;
}

.pm-comparison-session-group {
  align-content: start;
  min-width: 0;
  padding: 0.88rem 0.88rem 0.84rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 0.95rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--pm-surface-paper) 96%, var(--pm-surface-neutral) 4%), color-mix(in srgb, var(--pm-surface-paper) 91%, var(--pm-surface-neutral) 9%));
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pm-surface-paper) 65%, transparent 35%);
}

.pm-comparison-session-group--source {
  background: linear-gradient(180deg, color-mix(in srgb, var(--pm-surface-paper) 97%, var(--pm-surface-neutral) 3%), color-mix(in srgb, var(--pm-surface-paper) 92%, var(--pm-surface-neutral) 8%));
}

.pm-comparison-session-group--selected {
  background: linear-gradient(180deg, color-mix(in srgb, var(--pm-surface-accent-soft) 10%, var(--pm-surface-paper) 90%), color-mix(in srgb, var(--pm-surface-accent-soft) 6%, var(--pm-surface-neutral) 94%));
  border-color: var(--pm-border-default);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pm-surface-paper) 62%, transparent 38%), inset 0 0 0 1px color-mix(in srgb, var(--pm-surface-accent-soft) 12%, transparent 88%);
}

.pm-comparison-session-group__header {
  display: grid;
  gap: 0.24rem;
  padding-bottom: 0.52rem;
  margin-bottom: 0.68rem;
  border-bottom: 1px solid var(--pm-border-subtle);
}

.pm-comparison-session-list {
  display: grid;
  gap: 0.5rem;
  max-height: 28rem;
  overflow: auto;
  padding-right: 0.15rem;
}

.pm-comparison-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
}

.pm-comparison-filter-zone {
  display: flex;
  align-items: center;
  min-width: 0;
}

.pm-comparison-filter-zone--search {
  flex: 0 1 13rem;
}

.pm-comparison-filter-zone--levels {
  flex: 1 1 auto;
  justify-content: center;
}

.pm-comparison-filter-zone--secondary {
  flex: 0 1 auto;
  gap: 0.7rem;
  margin-left: auto;
}

.pm-comparison-filter-field {
  min-width: 0;
}

.pm-comparison-filter-field--search {
  flex: 1 1 auto;
}

.pm-comparison-filter-field--select {
  min-width: 5.8rem;
}

.pm-comparison-filter-input,
.pm-comparison-filter-select {
  min-height: 2.35rem;
  padding-block: 0.55rem;
}

.pm-comparison-filter-select {
  background: color-mix(in srgb, var(--pm-surface-neutral) 82%, var(--pm-surface-paper) 18%);
}

.pm-comparison-level-filters,
.pm-comparison-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.pm-comparison-more-filters {
  position: relative;
}

.pm-comparison-more-filters[open] {
  z-index: 2;
}

.pm-comparison-more-filters__summary {
  display: inline-flex;
  align-items: center;
  min-height: var(--pm-touch-target-min);
  padding: 0 0.95rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 999px;
  background: var(--pm-surface-neutral);
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.88rem;
  cursor: pointer;
  list-style: none;
}

.pm-comparison-more-filters__summary::-webkit-details-marker {
  display: none;
}

.pm-comparison-more-filters__body {
  position: absolute;
  right: 0;
  top: calc(100% + 0.45rem);
  display: grid;
  gap: 0.75rem;
  min-width: min(22rem, 88vw);
  padding: 0.9rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 0.9rem;
  background: var(--pm-surface-paper);
  box-shadow: var(--pm-elevation-soft);
}

.pm-comparison-more-filters:not([open]) .pm-comparison-more-filters__body {
  display: none;
}

.pm-comparison-active-filter {
  gap: 0.35rem;
}

.pm-comparison-status-card__text--subtle {
  color: var(--book-muted);
}

.pm-comparison-status-card__actions:empty {
  display: none;
}

.pm-comparison-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.pm-comparison-toolbar {
  justify-items: end;
  min-width: min(24rem, 100%);
}

.pm-comparison-toolbar__field {
  min-width: 0;
}

.pm-comparison-toolbar .pm-player-control-bar__row--settings {
  grid-template-columns: repeat(2, minmax(0, auto));
  gap: 0.85rem 1rem;
  justify-content: end;
}

.pm-comparison-toolbar .pm-player-range-field__control,
.pm-comparison-toolbar .pm-player-rate-slider {
  grid-template-columns: minmax(8.4rem, 8.4rem) auto;
}

.pm-comparison-icon-button {
  inline-size: 2rem;
  block-size: 2rem;
  min-height: 2rem;
}

.pm-comparison-icon-button svg {
  inline-size: 1rem;
  block-size: 1rem;
}

.pm-comparison-icon-button--session {
  justify-self: end;
}

.pm-comparison-filter-chip {
  appearance: none;
  min-height: var(--pm-touch-target-min);
  padding: 0 0.9rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 999px;
  background: var(--pm-surface-neutral);
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.88rem;
  cursor: pointer;
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-comparison-filter-chip:hover,
.pm-comparison-filter-chip.is-active {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 60%, var(--pm-surface-paper) 40%);
  border-color: var(--book-accent);
  color: var(--book-fg);
}

.pm-comparison-speaker-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.52rem;
  width: 100%;
  padding: 0.56rem 0.64rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 0.78rem;
  background: color-mix(in srgb, var(--pm-surface-paper) 96%, var(--pm-surface-neutral) 4%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pm-surface-paper) 62%, transparent 38%);
  text-align: left;
  cursor: pointer;
  transition: border-color var(--promat-transition-fast), background var(--promat-transition-fast), box-shadow var(--promat-transition-fast);
}

.pm-comparison-speaker-row:hover {
  border-color: var(--pm-border-default);
  background: color-mix(in srgb, var(--pm-surface-neutral) 72%, var(--pm-surface-paper) 28%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--book-accent) 12%, transparent 88%);
}

.pm-comparison-speaker-row.is-selected {
  border-color: var(--pm-border-default);
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 18%, var(--pm-surface-paper) 82%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--book-accent) 18%, transparent 82%);
}

.pm-comparison-speaker-row__body {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
}

.pm-comparison-speaker-row__title,
.pm-comparison-speaker-row__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.5rem;
  align-items: center;
}

.pm-comparison-speaker-row__title {
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: 0.91rem;
  font-weight: 700;
  line-height: 1.2;
}

.pm-comparison-speaker-row__meta {
  gap: 0.32rem 0.42rem;
  font-size: 0.79rem;
  line-height: 1.3;
  font-weight: 400;
}

.pm-comparison-speaker-row__indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 1.42rem;
  block-size: 1.42rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pm-surface-neutral) 76%, var(--pm-surface-paper) 24%);
  color: transparent;
}

.pm-comparison-speaker-row.is-selected .pm-comparison-speaker-row__indicator {
  border-color: var(--pm-border-default);
  background: color-mix(in srgb, var(--book-accent) 12%, var(--pm-surface-paper) 88%);
  color: var(--book-accent);
}

.pm-comparison-speaker-row__indicator svg {
  inline-size: 0.82rem;
  block-size: 0.82rem;
}

.pm-comparison-speaker-row--matrix {
  grid-template-columns: minmax(0, 1fr);
  min-width: 11rem;
  padding: 0.46rem 0.58rem 0.5rem;
  border-radius: 0.72rem;
  gap: 0.38rem;
  cursor: default;
}

.pm-comparison-speaker-row--matrix .pm-comparison-speaker-row__body {
  gap: 0.18rem;
}

.pm-comparison-speaker-row--matrix .pm-comparison-speaker-row__title {
  font-size: 0.88rem;
}

.pm-comparison-speaker-row--matrix .pm-comparison-speaker-row__meta {
  gap: 0.28rem 0.38rem;
  font-size: 0.75rem;
}

.pm-research-meta-badge,
.pm-comparison-speaker-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.34rem;
  padding: 0.06rem 0.38rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: color-mix(in srgb, var(--pm-surface-neutral) 74%, var(--pm-surface-paper) 26%);
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-badge-font-size);
  font-weight: 400;
  letter-spacing: var(--pm-type-meta-tracking);
  line-height: 1.1;
}

.pm-research-meta-badge--native,
.pm-comparison-speaker-badge--native {
  background: color-mix(in srgb, var(--pm-research-native-accent) 18%, var(--pm-surface-paper) 82%);
  border-color: #18677A33;
  color: var(--pm-research-native-accent);
}

.pm-research-meta-badge--detail,
.pm-comparison-speaker-badge--detail {
  border: 1px solid var(--pm-border-subtle);
  background: var(--pm-surface-paper);
  color: var(--book-muted);
}

.pm-research-meta-badge--native-detail,
.pm-comparison-speaker-badge--native-detail {
  background: color-mix(in srgb, var(--pm-research-native-accent) 10%, var(--pm-surface-neutral) 90%);
  border-color: var(--pm-border-subtle);
  color: var(--book-fg);
}

.pm-research-meta-badge--level,
.pm-comparison-speaker-badge--level {
  color: var(--pm-research-level-badge-text);
  border-color: currentColor;
  font-weight: 600;
}

.pm-research-meta-badge--role {
  font-weight: 500;
}

.pm-research-meta-badge--a1,
.pm-comparison-speaker-badge--a1 { background: color-mix(in srgb, var(--pm-research-level-a1) 20%, var(--pm-surface-paper) 80%); }
.pm-research-meta-badge--a2,
.pm-comparison-speaker-badge--a2 { background: color-mix(in srgb, var(--pm-research-level-a2) 20%, var(--pm-surface-paper) 80%); }
.pm-research-meta-badge--b1,
.pm-comparison-speaker-badge--b1 { background: color-mix(in srgb, var(--pm-research-level-b1) 20%, var(--pm-surface-paper) 80%); }
.pm-research-meta-badge--b2,
.pm-comparison-speaker-badge--b2 { background: color-mix(in srgb, var(--pm-research-level-b2) 20%, var(--pm-surface-paper) 80%); }
.pm-research-meta-badge--c1,
.pm-comparison-speaker-badge--c1 { background: color-mix(in srgb, var(--pm-research-level-c1) 20%, var(--pm-surface-paper) 80%); }
.pm-research-meta-badge--c2,
.pm-comparison-speaker-badge--c2 { background: color-mix(in srgb, var(--pm-research-level-c2) 20%, var(--pm-surface-paper) 80%); }

.pm-comparison-session-row,
.pm-comparison-item {
  padding: 0.72rem 0.9rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 0.9rem;
  background: var(--pm-surface-paper);
}

.pm-comparison-session-row {
  --pm-comparison-session-accent: var(--book-accent);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem 1rem;
  border-left: 0.35rem solid var(--pm-comparison-session-accent);
  align-items: center;
}

.pm-comparison-session-row--a1 {
  --pm-comparison-session-accent: var(--pm-research-level-a1);
}

.pm-comparison-session-row--a2 {
  --pm-comparison-session-accent: var(--pm-research-level-a2);
}

.pm-comparison-session-row--b1 {
  --pm-comparison-session-accent: var(--pm-research-level-b1);
}

.pm-comparison-session-row--b2 {
  --pm-comparison-session-accent: var(--pm-research-level-b2);
}

.pm-comparison-session-row--c1 {
  --pm-comparison-session-accent: var(--pm-research-level-c1);
}

.pm-comparison-session-row--c2 {
  --pm-comparison-session-accent: var(--pm-research-level-c2);
}

.pm-comparison-session-row--native {
  --pm-comparison-session-accent: var(--pm-research-native-accent);
}

.pm-comparison-session-row__identity,
.pm-comparison-session-row__facts,
.pm-comparison-item,
.pm-comparison-item__meta-row {
  display: grid;
  gap: 0.35rem;
}

.pm-comparison-session-row__facts,
.pm-comparison-item__meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.5rem;
  align-items: center;
}

.pm-comparison-session-row__person,
.pm-comparison-item__number {
  color: var(--book-link);
  font-weight: 700;
}

.pm-comparison-session-row__title,
.pm-comparison-session-row__person {
  display: block;
}

.pm-comparison-session-row__fact {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  padding: 0.18rem 0.48rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pm-surface-neutral) 72%, var(--pm-surface-paper) 28%);
}

.pm-comparison-session-row__label {
  color: var(--book-muted);
  text-transform: uppercase;
}

.pm-comparison-session-group__title,
.pm-comparison-session-group__text {
  margin: 0;
}

.pm-comparison-item__task,
.pm-comparison-item__group {
  color: var(--book-muted);
}

.pm-comparison-session-list__empty,
.pm-comparison-matrix-empty {
  padding: 1rem 1.1rem;
  border: 1px dashed var(--pm-border-default);
  border-radius: 0.9rem;
  color: var(--book-muted);
}

.pm-comparison-matrix-empty {
  border-style: solid;
  background: color-mix(in srgb, var(--pm-surface-neutral) 74%, var(--pm-surface-paper) 26%);
}

.pm-comparison-matrix-empty:empty {
  display: none;
}

.pm-comparison-matrix th,
.pm-comparison-matrix td {
  min-width: 10rem;
  padding: 0.62rem 0.72rem;
  border-top: 1px solid var(--pm-border-subtle);
  border-right: 1px solid var(--pm-border-subtle);
  vertical-align: middle;
  background: var(--pm-surface-paper);
  background-clip: padding-box;
}

.pm-comparison-matrix thead th {
  position: sticky;
  top: 0;
  z-index: 6;
  isolation: isolate;
  overflow: clip;
  background: color-mix(in srgb, var(--pm-surface-neutral) 84%, var(--pm-surface-paper) 16%);
  box-shadow: inset 0 -1px 0 var(--pm-border-subtle);
}

.pm-comparison-matrix thead th::before,
.pm-comparison-matrix__stub::before,
.pm-comparison-matrix__item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: inherit;
}

.pm-comparison-matrix__session {
  color: inherit;
  text-transform: none;
  min-width: 11rem;
}

.pm-comparison-matrix__session .pm-comparison-speaker-row:hover {
  border-color: var(--pm-border-default);
  background: color-mix(in srgb, var(--pm-surface-paper) 96%, var(--pm-surface-neutral) 4%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pm-surface-paper) 62%, transparent 38%);
}

.pm-comparison-matrix__stub,
.pm-comparison-matrix__item {
  width: clamp(17.5rem, 25vw, 20rem);
  max-width: clamp(17.5rem, 25vw, 20rem);
  position: sticky;
  left: 0;
  z-index: 4;
  isolation: isolate;
  overflow: clip;
  min-width: clamp(17.5rem, 25vw, 20rem);
  background: color-mix(in srgb, var(--pm-surface-neutral) 80%, var(--pm-surface-paper) 20%);
  box-shadow: 1px 0 0 var(--pm-border-subtle);
}

.pm-comparison-matrix thead .pm-comparison-matrix__stub {
  z-index: 8;
  background: color-mix(in srgb, var(--pm-surface-neutral) 88%, var(--pm-surface-paper) 12%);
  box-shadow: inset 0 -1px 0 var(--pm-border-subtle), 1px 0 0 var(--pm-border-subtle);
}

.pm-comparison-matrix__item-inner {
  display: flex;
  align-items: center;
  width: 100%;
}

.pm-comparison-matrix__item-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem;
  justify-content: flex-start;
  width: 100%;
  text-align: left;
}

.pm-comparison-matrix__item-header > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.1rem 0.54rem;
  flex: 1 1 auto;
  min-width: 0;
}

.pm-comparison-item__meta-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  align-items: center;
  flex: 0 0 auto;
  align-self: center;
  margin-top: 0;
}

.pm-comparison-item__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.96rem;
  min-height: 1.96rem;
  padding: 0 0.42rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 999px;
  background: color-mix(in srgb, var(--pm-surface-neutral) 82%, var(--pm-surface-paper) 18%);
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1;
  flex: 0 0 auto;
}

.pm-comparison-item__text {
  margin: 0;
  min-width: 0;
  flex: 1 1 auto;
  color: var(--book-fg);
  text-align: left;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pm-comparison-matrix__cell {
  padding: 0.44rem 0.5rem;
  transition: background var(--promat-transition-fast), box-shadow var(--promat-transition-fast);
}

.pm-comparison-matrix__cell--missing {
  background: color-mix(in srgb, var(--pm-surface-neutral) 80%, var(--pm-surface-paper) 20%);
}

.pm-comparison-matrix__missing {
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
}

.pm-comparison-matrix__cell-actions {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  justify-content: center;
  width: 100%;
  min-height: 3rem;
  padding: 0.52rem 0.56rem;
  border: 1px solid transparent;
  border-radius: var(--pm-radius-container);
  background: transparent;
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-comparison-matrix__cell.is-active {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 30%, var(--pm-surface-paper) 70%);
}

.pm-comparison-matrix__cell.is-active .pm-comparison-matrix__cell-actions {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 66%, var(--pm-surface-paper) 34%);
  border-color: var(--pm-border-subtle);
  color: var(--book-fg);
  box-shadow: inset 0 0 0 1px var(--pm-border-subtle);
}

.pm-comparison-icon-button {
  inline-size: 1.72rem;
  block-size: 1.72rem;
  min-height: 1.72rem;
}

.pm-comparison-icon-button svg {
  inline-size: 0.88rem;
  block-size: 0.88rem;
}

.pm-comparison-icon-button--primary {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 44%, var(--pm-surface-paper) 56%);
  border-color: var(--book-accent);
}

.pm-comparison-icon-button--secondary {
  inline-size: 1.56rem;
  block-size: 1.56rem;
  min-height: 1.56rem;
  opacity: 0.72;
}

.pm-comparison-matrix__row-play {
  flex: 0 0 auto;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  min-height: 1.5rem;
  justify-self: end;
  align-self: center;
  margin-top: 0;
}

.pm-comparison-matrix__item.is-multi-line .pm-comparison-matrix__item-inner,
.pm-comparison-matrix__item.is-multi-line .pm-comparison-matrix__item-header,
.pm-comparison-matrix__item.is-multi-line .pm-comparison-matrix__item-header > div {
  align-items: flex-start;
}

.pm-comparison-matrix__item.is-multi-line .pm-comparison-item__meta-row {
  align-items: flex-start;
  align-self: flex-start;
  margin-top: 0.08rem;
}

.pm-comparison-matrix__item.is-multi-line .pm-comparison-matrix__row-play {
  align-self: flex-start;
  margin-top: 0.08rem;
}

@media (max-width: 699px) {
  .pm-comparison-session-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-comparison-toolbar {
    justify-content: stretch;
  }

  .pm-comparison-material-bar {
    align-items: stretch;
  }

  .pm-comparison-set-select-block {
    min-width: 0;
    width: 100%;
  }

  .pm-comparison-inline-help__body {
    left: auto;
    right: 0;
    min-width: min(16rem, 86vw);
  }

  .pm-comparison-filter-bar {
    align-items: stretch;
  }

  .pm-comparison-filter-zone--search,
  .pm-comparison-filter-zone--levels,
  .pm-comparison-filter-zone--secondary {
    flex: 1 1 100%;
    justify-content: flex-start;
    margin-left: 0;
  }

  .pm-comparison-more-filters {
    width: 100%;
  }

  .pm-comparison-more-filters__summary {
    width: 100%;
    justify-content: center;
  }

  .pm-comparison-more-filters__body {
    position: static;
    min-width: 0;
    box-shadow: none;
  }

  .pm-comparison-speaker-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-comparison-matrix {
    min-width: 40rem;
  }
}

@media (min-width: 700px) and (max-width: 1023px) {
  .pm-comparison-session-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-comparison-session-group--selected {
    grid-column: 1 / -1;
  }
}

@media (max-width: 699px) {
  .pm-phenomena-item,
  .pm-phenomena-browser-result {
    grid-template-columns: minmax(0, 1fr);
  }
}

.pm-phenomena-source-item__meta {
  margin: 0;
  color: var(--pm-state-muted-text-strong);
  font-size: var(--pm-type-detail-size);
  letter-spacing: 0;
  text-transform: none;
}

.pm-phenomena-overview-card__count {
  margin: 0;
  color: var(--book-muted);
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.pm-phenomena-overview__heading,
.pm-phenomena-source-column__title,
.pm-phenomena-selected__title,
.pm-phenomena-overview-card__title {
  margin: 0;
  font-family: var(--book-font-display);
  font-size: clamp(1rem, 0.94rem + 0.2vw, 1.16rem);
  line-height: 1.2;
}

.pm-phenomena-overview__toolbar,
.pm-phenomena-overview__list-shell,
.pm-phenomena-editor__workspace-head,
.pm-phenomena-source-column,
.pm-phenomena-selected,
.pm-phenomena-empty-state {
  padding: clamp(0.95rem, 0.82rem + 0.32vw, 1.18rem);
  border: 1px solid var(--pm-border-default);
  border-radius: var(--pm-radius-container);
  background: linear-gradient(180deg, color-mix(in srgb, var(--pm-surface-paper) 97%, var(--pm-surface-neutral) 3%), color-mix(in srgb, var(--pm-surface-paper) 92%, var(--pm-surface-neutral) 8%));
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pm-surface-paper) 64%, transparent 36%);
}

.pm-phenomena-overview__list-shell {
  gap: 0;
  padding-block: 0.42rem 0.48rem;
  padding-inline: clamp(1.05rem, 0.96rem + 0.34vw, 1.24rem);
}

.pm-phenomena-overview-card__preview,
.pm-phenomena-empty-state__text,
.pm-phenomena-editor__hint,
.pm-phenomena-editor__status-text,
.pm-phenomena-source-item__text,
.pm-phenomena-selected-item__text,
.pm-phenomena-selected__empty {
  margin: 0;
  color: var(--pm-text-body);
  font-size: var(--pm-type-body-size);
  line-height: 1.5;
}

.pm-phenomena-overview__toolbar {
  gap: 0.85rem;
}

.pm-phenomena-overview__toolbar-inner {
  align-items: end;
}

.pm-phenomena-overview__heading {
  font-size: clamp(1.16rem, 1.02rem + 0.34vw, 1.5rem);
  align-self: start;
}

.pm-phenomena-overview__controls {
  gap: 0.6rem;
}

.pm-phenomena-overview__search-field {
  min-width: min(22rem, 100%);
}

.pm-phenomena-overview__list {
  gap: 0;
}

.pm-phenomena-overview-card {
  padding: 1.12rem 0.44rem;
  border-top: 1px solid var(--pm-border-subtle);
  background: transparent;
  border-radius: 0.96rem;
  transition: background var(--promat-transition-fast), box-shadow var(--promat-transition-fast);
}

.pm-phenomena-overview-card:first-child {
  border-top: 0;
}

.pm-phenomena-overview-card:hover,
.pm-phenomena-overview-card:focus-within {
  background: color-mix(in srgb, var(--pm-surface-neutral) 60%, var(--pm-surface-paper) 40%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--book-accent) 10%, transparent 90%);
}

.pm-phenomena-overview-card__body {
  gap: 0.5rem;
  min-width: 0;
  padding: 0.12rem 1.55rem 0.12rem 0.28rem;
}

.pm-phenomena-overview-card__title {
  font-family: var(--book-font-ui);
  font-size: 1rem;
  font-weight: 700;
}

.pm-phenomena-overview-card__meta {
  gap: 0.42rem 0.56rem;
  align-items: center;
}

.pm-phenomena-overview-card__actions {
  justify-content: end;
  gap: 0.52rem;
  padding: 0 0.36rem 0 1.5rem;
}

.pm-phenomena-overview-card__actions .pm-comparison-more-filters__summary {
  min-width: 2rem;
  justify-content: center;
  padding-inline: 0;
}

.pm-phenomena-overview-card__actions > * {
  min-height: var(--pm-touch-target-min);
}

.pm-phenomena-badge {
  border: 1px solid var(--pm-border-subtle);
  font-size: 0.78rem;
  line-height: 1.1;
  text-transform: lowercase;
  background: var(--pm-status-neutral-surface);
  color: var(--pm-status-neutral-text);
}

.pm-phenomena-badge--curated,
.pm-phenomena-badge--new {
  background: var(--pm-status-curated-surface);
  color: var(--pm-status-curated-text);
}

.pm-phenomena-badge--custom,
.pm-phenomena-badge--saved {
  background: var(--pm-status-custom-surface);
  color: var(--pm-status-custom-text);
}

.pm-phenomena-badge--custom {
  background: var(--pm-status-custom-surface);
  color: var(--pm-status-custom-text);
}

.pm-phenomena-badge--saved,
.pm-phenomena-badge--unsaved {
  font-weight: 600;
}

.pm-phenomena-badge--curated {
  border-color: var(--book-accent);
}

.pm-phenomena-badge--saved {
  background: var(--pm-status-saved-surface);
  border-color: var(--pm-research-native-accent);
  color: var(--pm-status-saved-text);
}

.pm-phenomena-badge--unsaved {
  background: var(--pm-status-unsaved-surface);
  border-color: var(--book-adm-danger);
  color: var(--pm-status-unsaved-text);
}

.pm-phenomena-overview-card__count {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.84rem;
}

.pm-phenomena-overview-card__count::before {
  content: "·";
  color: var(--book-muted);
}

.pm-phenomena-editor__title-field,
.pm-phenomena-editor__note-field,
.pm-phenomena-field {
  display: grid;
  gap: 0.38rem;
}

.pm-phenomena-editor__title-input,
.pm-phenomena-editor__note-input,
.pm-phenomena-field__input {
  width: 100%;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 0.95rem;
  background: color-mix(in srgb, var(--pm-surface-paper) 94%, var(--pm-surface-neutral) 6%);
  padding: 0.6rem 0.8rem;
  min-height: 2.35rem;
  color: var(--book-fg);
  font: inherit;
  transition: border-color var(--promat-transition-fast), background var(--promat-transition-fast), box-shadow var(--promat-transition-fast);
}

.pm-phenomena-editor__title-input:focus-visible,
.pm-phenomena-editor__note-input:focus-visible,
.pm-phenomena-field__input:focus-visible {
  outline: none;
  border-color: var(--book-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--pm-surface-accent-soft) 74%, transparent);
}

.pm-phenomena-editor__title-input {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-family: var(--book-font-ui);
  font-size: clamp(1.22rem, 1.08rem + 0.34vw, 1.54rem);
  font-weight: 650;
  line-height: 1.18;
}

.pm-phenomena-editor__title-input:focus-visible {
  border: 0;
  box-shadow: none;
}

.pm-phenomena-editor__title-row {
  gap: 0.46rem;
  max-width: min(46rem, 100%);
  padding: 0.18rem 0.2rem 0.18rem 0;
  border-radius: 0.82rem;
  transition: background var(--promat-transition-fast);
}

.pm-phenomena-editor__title-field:hover .pm-phenomena-editor__title-row,
.pm-phenomena-editor__title-field:focus-within .pm-phenomena-editor__title-row {
  background: color-mix(in srgb, var(--pm-surface-hover) 70%, transparent);
}

.pm-phenomena-editor__title-affordance {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 1.9rem;
  block-size: 1.9rem;
  margin-top: 0.05rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 999px;
  background: var(--pm-surface-paper);
  color: var(--book-muted);
  transition: background var(--promat-transition-fast), color var(--promat-transition-fast), border-color var(--promat-transition-fast);
}

.pm-phenomena-editor__title-field:hover .pm-phenomena-editor__title-affordance,
.pm-phenomena-editor__title-field:focus-within .pm-phenomena-editor__title-affordance {
  background: var(--pm-surface-hover);
  color: var(--book-fg);
}

.pm-phenomena-editor__title-affordance .pm-icon-mask {
  inline-size: 0.82rem;
  block-size: 0.82rem;
}

.pm-phenomena-editor__note-input {
  resize: vertical;
  min-height: 3.9rem;
}

.pm-phenomena-editor__workspace-head {
  gap: 0.94rem;
}

.pm-phenomena-editor__header {
  gap: 0.95rem 1.2rem;
}

.pm-phenomena-editor__header-main {
  gap: 0.46rem;
  max-width: min(44rem, 100%);
}

.pm-phenomena-editor__status-row {
  gap: 0.46rem;
}

.pm-phenomena-editor__status-row [hidden] {
  display: none;
}

.pm-phenomena-editor__status-text {
  color: var(--book-muted);
  font-size: 0.8rem;
  line-height: 1.3;
}

.pm-phenomena-editor__status-text:empty {
  display: none;
}

.pm-phenomena-editor__hint {
  color: var(--book-muted);
  font-size: 0.9rem;
  max-width: 44rem;
}

.pm-phenomena-editor__header-actions {
  justify-content: end;
  gap: 0.55rem;
}

.pm-phenomena-editor__header-actions > * {
  min-height: 2.35rem;
}

.pm-phenomena-editor__header-actions > button:disabled,
.pm-phenomena-editor__header-actions > .is-disabled {
  border-color: var(--pm-state-muted-border);
  background: var(--pm-state-muted-surface);
  color: var(--pm-state-muted-text-strong);
  cursor: default;
  pointer-events: none;
}

.pm-phenomena-editor__note-card {
  gap: 0.42rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--pm-border-subtle);
  max-width: min(44rem, 100%);
}

.pm-phenomena-editor__note-field .pm-phenomena-field__label {
  color: var(--book-muted);
  font-size: 0.76rem;
  letter-spacing: 0.02em;
  text-transform: none;
}

.pm-phenomena-source-column,
.pm-phenomena-selected {
  gap: 0.68rem;
}

.pm-phenomena-source-column__header,
.pm-phenomena-selected__header {
  gap: 0.55rem;
  padding-bottom: 0.48rem;
  border-bottom: 1px solid var(--pm-border-subtle);
}

.pm-phenomena-source-column__actions {
  gap: 0.45rem;
}

.pm-phenomena-source-column__search {
  margin-top: 0.05rem;
}

.pm-phenomena-source-list,
.pm-phenomena-selected__list {
  gap: 0;
}

.pm-phenomena-source-list {
  max-height: 30rem;
  overflow: auto;
  padding-right: 0.15rem;
}

.pm-phenomena-source-item__button,
.pm-phenomena-selected-item__handle,
.pm-phenomena-selected-item__remove,
.pm-phenomena-overflow__action,
.pm-phenomena-overflow__toggle {
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
}

.pm-phenomena-source-item,
.pm-phenomena-selected-item {
  border-top: 1px solid var(--pm-border-subtle);
}

.pm-phenomena-source-item:first-child,
.pm-phenomena-selected-item:first-child {
  border-top: 0;
}

.pm-phenomena-source-item__button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.66rem;
  align-items: center;
  width: 100%;
  min-height: 3rem;
  padding: 0.5rem 0.18rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), box-shadow var(--promat-transition-fast);
}

.pm-phenomena-source-item__button:hover,
.pm-phenomena-source-item__button:focus-visible {
  background: var(--pm-state-muted-surface-hover);
  border-color: transparent;
  box-shadow: none;
}

.pm-phenomena-source-item__body {
  gap: 0.14rem;
  min-width: 0;
}

.pm-phenomena-source-item__meta {
  min-width: 2rem;
  min-height: 2rem;
  background: var(--pm-state-muted-surface);
  color: var(--pm-state-muted-text);
  font-size: 0.72rem;
}

.pm-phenomena-source-item__text {
  color: var(--pm-state-muted-text);
  font-size: 0.95rem;
  font-weight: 500;
}

.pm-phenomena-source-item__marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.52rem;
  height: 1.52rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--pm-state-muted-surface);
  color: var(--pm-state-muted-text);
  opacity: 0.56;
  font-family: var(--book-font-ui);
  font-size: 0.8rem;
  font-weight: 700;
}

.pm-phenomena-source-item.is-selected .pm-phenomena-source-item__button {
  background: var(--pm-state-selected-surface);
  border-color: transparent;
  box-shadow: none;
  border-radius: 0;
}

.pm-phenomena-source-item.is-selected .pm-phenomena-source-item__meta {
  background: color-mix(in srgb, var(--pm-surface-paper) 90%, var(--pm-state-selected-surface-strong) 10%);
  color: var(--pm-state-selected-text);
}

.pm-phenomena-source-item.is-selected .pm-phenomena-source-item__text {
  color: var(--pm-state-selected-text);
  font-weight: 600;
}

.pm-phenomena-source-item.is-selected .pm-phenomena-source-item__marker {
  border-color: transparent;
  background: var(--pm-state-selected-surface-strong);
  color: var(--pm-state-selected-accent);
  opacity: 1;
}

.pm-phenomena-selected-item {
  min-height: 3.85rem;
  padding: 0.56rem 0.14rem;
  border-radius: 0;
  background: transparent;
}

.pm-phenomena-selected-item.is-dragging {
  opacity: 0.88;
  background: var(--pm-state-selected-surface);
  box-shadow: inset 0 0 0 1px var(--pm-state-selected-border);
}

.pm-phenomena-selected-item.is-drop-target {
  background: color-mix(in srgb, var(--pm-state-selected-surface) 58%, transparent);
  box-shadow: inset 0 2px 0 var(--pm-state-selected-accent);
}

.pm-phenomena-selected-item.is-drop-target[data-drop-position="after"] {
  box-shadow: inset 0 -2px 0 var(--pm-state-selected-accent);
}

.pm-phenomena-selected-item.is-drag-ghost {
  border-top: 0;
  border-radius: 0.92rem;
  background: var(--pm-state-selected-surface);
  box-shadow: 0 0.45rem 1.2rem color-mix(in srgb, var(--pm-ink) 16%, transparent);
}

.pm-phenomena-selected-item__position {
  min-width: 1.88rem;
  min-height: 1.88rem;
  border-color: var(--pm-state-muted-border);
  background: var(--pm-state-muted-surface);
  color: var(--pm-state-muted-text);
  font-size: 0.68rem;
  font-weight: 600;
}

.pm-phenomena-selected-item__body {
  gap: 0.24rem;
  min-width: 0;
  padding-right: 1rem;
}

.pm-phenomena-selected-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem 0.34rem;
  align-items: center;
  color: var(--pm-state-muted-text-strong);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.22;
  text-transform: none;
}

.pm-phenomena-selected-item__text {
  color: var(--book-fg);
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.28;
}

.pm-phenomena-selected-item__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.2rem;
  padding: 0.16rem 0.24rem;
  border: 1px solid var(--pm-state-muted-border);
  border-radius: 999px;
  background: var(--pm-state-muted-surface);
}

.pm-phenomena-selected-item__handle,
.pm-phenomena-selected-item__remove {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.58rem;
  height: 1.58rem;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--pm-state-muted-text);
}

.pm-phenomena-selected-item__handle {
  font-size: 0.84rem;
  letter-spacing: -0.08em;
}

.pm-phenomena-selected-item__remove,
.pm-phenomena-overflow__action--danger {
  color: var(--pm-accent-rose-strong);
}

.pm-phenomena-overflow {
  position: relative;
}

.pm-phenomena-overflow[open] {
  z-index: 3;
}

.pm-phenomena-overflow__toggle {
  font-size: 1.05rem;
}

.pm-phenomena-overflow__toggle::-webkit-details-marker {
  display: none;
}

.pm-phenomena-overflow__menu {
  min-width: 11rem;
  max-inline-size: var(--pm-overlay-max-inline);
  overflow-wrap: anywhere;
}

.pm-phenomena-overflow__action {
  padding: 0.5rem 0.65rem;
  border-radius: 0.68rem;
  cursor: pointer;
  text-align: left;
}

.pm-phenomena-overflow__action:hover,
.pm-phenomena-overflow__toggle:hover,
.pm-phenomena-overflow__toggle:focus-visible,
.pm-phenomena-source-item__button:hover,
.pm-phenomena-selected-item__remove:focus-visible,
.pm-phenomena-selected-item__handle:focus-visible,
.pm-phenomena-selected-item__remove:hover,
.pm-phenomena-selected-item__handle:hover {
  background: var(--pm-surface-hover);
}

@media (max-width: 899px) {
  .pm-phenomena-overview-card__body,
  .pm-phenomena-overview-card__actions {
    padding-right: 0;
    padding-left: 0;
  }

  .pm-phenomena-selected-item__body {
    padding-right: 0;
  }

  .pm-phenomena-selected-item__actions {
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0.22rem 0;
    border: 0;
    border-top: 1px solid var(--pm-border-subtle);
    border-radius: 0;
    background: transparent;
  }
}

.pm-phenomena-empty-state {
  text-align: center;
}

.pm-phenomena-empty-state[hidden] {
  display: none;
}

.pm-phenomena-editor__hint[hidden],
.pm-phenomena-selected__empty[hidden] {
  display: none;
}

.pm-phenomena-selected__empty {
  color: var(--book-muted);
}

.pm-phenomena-empty-state__title {
  margin: 0;
  font-size: var(--pm-type-card-title-size);
}

.pm-research-filters-accordion {
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-container);
  background: var(--pm-surface-paper);
}

.pm-research-filters-accordion__summary {
  cursor: pointer;
  list-style: none;
  padding: 0.85rem 1rem;
  font-family: var(--book-font-ui);
  font-weight: 600;
}

.pm-research-filters-accordion__summary::-webkit-details-marker {
  display: none;
}

.pm-research-filters-accordion__body {
  padding: 0 0.5rem 0.5rem;
}

.pm-research-filters-panel {
  gap: var(--pm-space-sm);
}

.pm-research-filters-panel__title {
  margin: 0;
  font-size: var(--pm-type-card-title-size);
}

.pm-research-filter-form,
.pm-research-filter-grid,
.pm-profile-metadata__grid,
.pm-player-stub-summary__grid {
  display: grid;
  gap: var(--pm-space-sm);
}

.pm-research-filter-field {
  display: grid;
  gap: 0.45rem;
}

.pm-research-filter-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--pm-filter-grid-min)), 1fr));
  align-items: end;
}

.pm-research-filter-field__label,
.pm-speaker-card__meta-label,
.pm-profile-metadata__label,
.pm-player-stub-summary__grid dt {
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  color: var(--book-muted);
}

.pm-research-filter-field__input {
  min-height: 2.75rem;
  padding: 0 0.9rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-container);
  background: var(--book-bg);
  color: var(--book-fg);
  font: inherit;
}

.pm-research-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pm-space-sm);
}

.pm-research-session-cell {
  display: grid;
  gap: 0.1rem;
}

.pm-research-session-cell__primary,
.pm-profile-hero__title,
.pm-profile-task-link__label {
  font-family: var(--book-font-ui);
  font-weight: 600;
}

.pm-research-session-cell__secondary,
.pm-profile-hero__session,
.pm-profile-task-link__description {
  color: var(--book-muted);
  font-size: var(--pm-type-meta-size);
}

.pm-research-table-wrap {
  overflow-x: auto;
  max-width: 100%;
  overscroll-behavior-x: contain;
}

.promat-content-block__table {
  min-width: 40rem;
}

.pm-embed-block {
  display: grid;
  gap: 0.7rem;
}

.pm-embed-block__frame-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-card);
  background: var(--pm-surface-raised);
  aspect-ratio: 16 / 9;
}

.pm-embed-block__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.pm-embed-block__caption {
  margin: 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  line-height: 1.45;
}

.pm-embed-block--datawrapper {
  margin-top: 0;
}

.pm-teaching-embed-card {
  margin: 0;
}

.pm-teaching-embed-card__title {
  margin: 0;
}

.pm-teaching-embed-card__surface {
  display: grid;
  gap: 0.78rem;
  padding: clamp(0.62rem, 0.8vw, 0.78rem);
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-card);
  background: var(--pm-surface-paper);
  isolation: isolate;
}

.pm-teaching-embed-card__frame-wrap {
  border: 0;
  border-radius: calc(var(--pm-radius-card) - 0.1rem);
  background: transparent;
}

.pm-teaching-embed-card__frame-wrap.pm-embed-block__frame-wrap--datawrapper {
  overflow: hidden;
  isolation: isolate;
}

.pm-teaching-embed-card__caption {
  font-size: 0.92rem;
  line-height: 1.55;
}

.pm-embed-block__frame-wrap--datawrapper {
  aspect-ratio: auto;
  overflow: visible;
}

.pm-embed-block__frame--datawrapper {
  position: static;
  display: block;
  width: 0;
  min-width: 100% !important;
  min-height: 0;
  border: 0;
  background: transparent;
  opacity: 1;
  filter: none;
  mix-blend-mode: normal;
}

.pm-teaching-embed-card[data-provider="datawrapper"],
.pm-teaching-embed-card[data-provider="datawrapper"] .pm-teaching-embed-card__surface,
.pm-teaching-embed-card[data-provider="datawrapper"] .pm-teaching-embed-card__frame-wrap,
.pm-teaching-embed-card[data-provider="datawrapper"] .pm-embed-block__frame--datawrapper,
.pm-teaching-embed-card[data-provider="datawrapper"] iframe {
  opacity: 1;
  filter: none;
  mix-blend-mode: normal;
}

:root[data-theme="light"] .pm-teaching-embed-card[data-provider="datawrapper"] iframe,
:root[data-theme="auto"][data-system-dark="false"] .pm-teaching-embed-card[data-provider="datawrapper"] iframe {
  color-scheme: light;
}

:root[data-theme="dark"] .pm-teaching-embed-card[data-provider="datawrapper"] iframe,
:root[data-theme="auto"][data-system-dark="true"] .pm-teaching-embed-card[data-provider="datawrapper"] iframe {
  color-scheme: dark;
}

@media (min-width: 760px) {
  .pm-teaching-page--topic .pm-teaching-block--span-1 .pm-admonition[data-admonition-variant="context"] {
    width: 82%;
    margin-inline: auto;
  }
}

.pm-research-table {
  width: 100%;
  min-width: 54rem;
  border-collapse: collapse;
  font-family: var(--book-font-ui);
  font-size: 0.88rem;
  line-height: 1.35;
  table-layout: fixed;
}

.pm-research-table th,
.pm-research-table td {
  padding: 0.78rem 0.65rem 0.78rem 0;
  border-bottom: 1px solid var(--pm-border-subtle);
  text-align: left;
  vertical-align: top;
}

.pm-research-table th:last-child,
.pm-research-table td:last-child {
  padding-right: 0;
}

.pm-research-table th {
  font-family: var(--book-font-ui);
  font-size: 0.71rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: var(--book-muted);
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

.pm-research-recording-cell {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.pm-research-recording-cell__session-id {
  font-family: var(--book-font-ui);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pm-research-recording-cell__person-link {
  color: var(--book-muted);
  font-size: var(--pm-type-meta-size);
  line-height: 1.4;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.pm-research-recording-cell__person-link:hover,
.pm-research-recording-cell__person-link:focus-visible {
  color: var(--pm-text-accent);
}

.pm-research-speaker-cell {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.pm-research-speaker-cell__person {
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pm-research-speaker-profile-link {
  color: var(--pm-cta-link-primary, var(--book-fg));
  font-size: var(--pm-type-meta-size);
  font-weight: 500;
  line-height: 1.35;
}

.pm-research-speaker-profile-link:hover,
.pm-research-speaker-profile-link:focus-visible {
  color: var(--pm-text-accent);
}

.pm-research-speaker-cell__profile {
  justify-self: start;
}

.pm-research-table__action-col,
.pm-research-table__action {
  width: var(--pm-research-table-action-width);
  text-align: right;
}

.pm-research-table__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.42rem;
}

.pm-player-summary__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pm-space-sm);
}

.pm-player-control-bar__actions {
  justify-content: flex-end;
}

.pm-player-panel__header,
.pm-player-panel__copy,
.pm-player-panel__header--split,
.pm-player-control-bar,
.pm-player-control-bar__row,
.pm-player-control-bar__block,
.pm-player-control-bar__row--transport,
.pm-player-control-bar__row--settings,
.pm-player-session-picker,
.pm-player-transport-cluster,
.pm-player-transport-main,
.pm-player-toolbar__timeline,
.pm-player-rate-field,
.pm-player-rate-slider,
.pm-player-range-field,
.pm-player-range-field__control,
.pm-player-toggle-field,
.pm-player-toggle-field__control,
.pm-player-summary-cards,
.pm-player-list,
.pm-player-list__row,
.pm-player-list__cell,
.pm-player-list__trigger,
.pm-player-timeline-row {
  display: grid;
  gap: var(--pm-space-sm);
}

.pm-player-panel__title {
  margin: 0;
  font-size: clamp(1.05rem, 1rem + 0.2vw, 1.18rem);
}

.pm-player-panel__hint {
  margin: 0;
  color: var(--book-muted);
  line-height: 1.5;
}

.pm-player-panel__hint--secondary {
  font-size: var(--pm-type-meta-size);
}

.pm-player-set-context,
.pm-player-set-context__body,
.pm-player-set-context__meta {
  display: grid;
  gap: 0.6rem;
}

.pm-player-set-context__eyebrow,
.pm-player-set-context__title,
.pm-player-set-context__text,
.pm-player-set-context__focus-note,
.pm-player-set-context__meta {
  margin: 0;
}

.pm-player-set-context {
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-container);
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 28%, var(--pm-surface-paper) 72%);
}

.pm-player-set-context__eyebrow,
.pm-player-set-context__meta-item {
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  color: var(--book-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pm-player-set-context__title {
  font-family: var(--book-font-display);
  font-size: clamp(1rem, 0.96rem + 0.24vw, 1.18rem);
  line-height: 1.2;
}

.pm-player-set-context__text,
.pm-player-set-context__focus-note {
  line-height: 1.55;
}

.pm-player-set-context__meta {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pm-player-set-context__focus-note {
  color: var(--book-muted);
}

.pm-player-set-context--requires-auth,
.pm-player-set-context--unavailable {
  background: color-mix(in srgb, var(--pm-surface-neutral) 78%, var(--pm-surface-paper) 22%);
}

.pm-player-audio {
  display: none;
}

.pm-player-runtime__inner {
  min-width: 0;
}

.pm-player-nav-pending .pm-player-runtime__inner,
.pm-player-nav-pending .pm-player-material-strip,
.pm-player-nav-pending .pm-player-panel,
.pm-player-nav-pending .pm-player-summary-band {
  cursor: progress;
}

.is-player-nav-pending .pm-player-runtime__inner,
.is-player-nav-pending .pm-player-material-strip,
.is-player-nav-pending .pm-player-panel,
.is-player-nav-pending .pm-player-summary-band {
  opacity: 0.72;
  pointer-events: none;
  transition: opacity var(--promat-transition-fast);
}

.pm-player-runtime__inner [hidden] {
  display: none !important;
}

.pm-player-control-bar__row--transport,
.pm-player-control-bar__row--settings {
  align-items: center;
}

.pm-player-control-bar__block {
  min-width: 0;
}

.pm-player-transport-cluster {
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: end;
  gap: 0.9rem;
  min-width: 0;
}

.pm-player-transport-main {
  gap: 0.4rem;
  min-width: 0;
  align-content: center;
}

.pm-player-control-bar {
  gap: 1rem;
}

.pm-player-toolbar__toggle {
  inline-size: 2.9rem;
  block-size: 2.9rem;
  min-height: 2.9rem;
  padding: 0;
  align-self: end;
  margin-bottom: 0.08rem;
}

.pm-player-control-button {
  appearance: none;
  cursor: pointer;
  font: inherit;
}

.pm-player-toolbar__timeline {
  align-items: center;
  min-width: 0;
}

.pm-player-toolbar__time {
  margin: 0;
  display: flex;
  gap: 0.45rem;
  align-items: center;
  justify-content: flex-start;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  white-space: nowrap;
}

.pm-player-progress {
  width: 100%;
  min-height: var(--pm-touch-target-min);
  accent-color: var(--book-accent);
}

.pm-player-progress--seek {
  align-self: center;
}

.pm-player-progress--volume {
  min-width: 0;
}

.pm-player-progress:disabled {
  opacity: 0.45;
}

.pm-player-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--pm-touch-target-min);
  block-size: var(--pm-touch-target-min);
  min-height: var(--pm-touch-target-min);
  padding: 0;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 999px;
  background: var(--pm-surface-paper);
  color: var(--book-fg);
  text-decoration: none;
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-player-icon-button:hover,
.pm-player-icon-button:focus-visible {
  background: var(--pm-surface-hover);
  color: var(--book-fg);
}

.pm-player-range-field {
  min-width: 0;
  gap: 0.4rem;
}

.pm-player-session-picker {
  position: relative;
  min-width: 0;
}

.pm-player-session-picker[open] {
  z-index: 3;
}

.pm-player-session-picker__summary {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  min-height: var(--pm-touch-target-min);
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  list-style: none;
}

.pm-player-session-picker__summary::-webkit-details-marker {
  display: none;
}

.pm-player-session-picker__label,
.pm-player-field-label,
.pm-player-list__heading {
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  color: var(--book-muted);
}

.pm-player-session-picker__label {
  margin: 0;
}

.pm-player-session-picker__chevron {
  inline-size: 0.65rem;
  block-size: 0.65rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-0.08rem);
  transform-origin: center;
  transition: transform var(--promat-transition-fast);
}

.pm-player-session-picker[open] .pm-player-session-picker__chevron {
  transform: rotate(225deg) translateY(-0.02rem);
}

.pm-player-session-picker__menu {
  position: absolute;
  top: calc(100% + 0.6rem);
  left: 0;
  display: grid;
  gap: 0.55rem;
  width: min(24rem, 78vw);
  max-width: 100%;
  padding: 0.9rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-container);
  background: var(--pm-surface-paper);
  box-shadow: var(--pm-card-shadow);
}

.pm-player-session-picker__options {
  display: grid;
  gap: 0.35rem;
  max-height: 16rem;
  overflow-y: auto;
}

.pm-player-session-picker__option {
  display: block;
  padding: 0.62rem 0.75rem;
  border: 1px solid transparent;
  border-radius: calc(var(--pm-radius-container) - 0.25rem);
  background: color-mix(in srgb, var(--pm-surface-neutral) 82%, var(--pm-surface-paper) 18%);
  color: inherit;
  text-decoration: none;
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-player-session-picker__option:hover,
.pm-player-session-picker__option:focus-visible {
  background: var(--pm-surface-hover);
  border-color: var(--pm-border-subtle);
}

.pm-player-session-picker__option.is-current {
  background: var(--pm-surface-accent-soft);
  color: var(--pm-text-accent);
}

.pm-player-field-label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  white-space: nowrap;
}

.pm-player-range-field__control {
  grid-template-columns: minmax(8.4rem, 8.4rem) auto;
  align-items: center;
  gap: 0.65rem;
}

.pm-player-range-field__value {
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  color: var(--book-muted);
}

.pm-player-rate-field {
  gap: 0.4rem;
  min-width: 0;
}

.pm-player-rate-slider {
  grid-template-columns: minmax(8.4rem, 8.4rem) auto;
  align-items: center;
  gap: 0.65rem;
}

.pm-player-progress--rate {
  min-width: 0;
}

.pm-player-rate-slider__value {
  display: inline-flex;
  align-items: center;
  min-width: 3.35rem;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
}

.pm-player-range-field--volume {
  gap: 0.32rem;
}

.pm-player-toggle-field {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  justify-self: end;
}

.pm-player-toggle-field--compare-head {
  align-self: center;
}

.pm-player-toggle-field__control {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.pm-player-toggle-field__input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.pm-player-toggle-field__switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 3.4rem;
  height: 2rem;
  padding: 0.2rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 999px;
  background: color-mix(in srgb, var(--pm-surface-neutral) 70%, var(--pm-surface-paper) 30%);
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast);
}

.pm-player-toggle-field__switch::after {
  content: "";
  width: 1.35rem;
  height: 1.35rem;
  border: 1px solid var(--pm-border-default);
  border-radius: 50%;
  background: color-mix(in srgb, var(--pm-surface-paper) 88%, var(--pm-surface-neutral) 12%);
  box-shadow: 0 0.2rem 0.65rem color-mix(in srgb, var(--pm-ink) 16%, transparent);
  transform: translateX(0);
  transition: transform var(--promat-transition-fast), background var(--promat-transition-fast), border-color var(--promat-transition-fast);
}

.pm-player-toggle-field__input:checked + .pm-player-toggle-field__switch {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 70%, var(--pm-surface-paper) 30%);
  border-color: var(--pm-text-accent);
}

.pm-player-toggle-field__input:checked + .pm-player-toggle-field__switch::after {
  transform: translateX(1.35rem);
  background: var(--pm-text-accent);
  border-color: var(--pm-text-accent);
}

.pm-player-toggle-field__input:focus-visible + .pm-player-toggle-field__switch {
  outline: 2px solid var(--pm-text-accent);
  outline-offset: 2px;
}

.pm-player-toggle-field__input:disabled + .pm-player-toggle-field__switch {
  opacity: 0.72;
  cursor: default;
}

.pm-player-list__header {
  padding: 0 0.2rem 0.45rem;
  border-bottom: 1px solid var(--pm-border-subtle);
}

.pm-player-list {
  gap: 0;
}

.pm-player-list__row {
  min-height: 4.15rem;
  padding: 0.78rem 0;
  border-top: 1px solid var(--pm-border-subtle);
  align-items: center;
}

.pm-player-list__row:first-child {
  border-top: 0;
}

.pm-player-list__row.is-focused {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 38%, transparent);
}

.pm-player-list__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.55rem;
  min-height: 2.55rem;
  padding: 0 0.55rem;
  border-radius: 999px;
  border: 1px solid var(--pm-border-subtle);
  background: color-mix(in srgb, var(--pm-surface-neutral) 82%, var(--pm-surface-paper) 18%);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  color: var(--book-muted);
}

.pm-player-list__cell {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.95rem;
  min-width: 0;
}

.pm-player-list__cell--primary {
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.pm-player-list__cell--missing {
  color: var(--book-muted);
}

.pm-player-list__trigger {
  appearance: none;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 2.95rem;
  padding: 0.62rem 0.78rem;
  border: 1px solid transparent;
  border-radius: var(--pm-radius-container);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-player-list__trigger:hover {
  background: var(--pm-surface-hover);
  border-color: var(--pm-border-subtle);
}

.pm-player-list__cell[data-player-item].is-active .pm-player-list__trigger {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 78%, var(--pm-surface-paper) 22%);
  border-color: transparent;
  color: var(--book-fg);
}

.pm-player-list__trigger--static {
  cursor: default;
  background: color-mix(in srgb, var(--pm-surface-neutral) 76%, var(--pm-surface-paper) 24%);
  border: 1px dashed var(--pm-border-subtle);
}

.pm-player-list__text {
  min-width: 0;
  line-height: 1.38;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-player-list__meta {
  white-space: nowrap;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  line-height: 1.2;
}

.pm-player-list--text .pm-player-list__trigger {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "text time"
    "meta time";
  align-items: start;
  column-gap: 0.9rem;
  row-gap: 0.22rem;
}

.pm-player-list--text .pm-player-list__cell {
  align-items: start;
}

.pm-player-list--text .pm-player-list__cell,
.pm-player-list--text .pm-player-list__cell--primary {
  align-items: start;
}

.pm-player-list__row--text {
  align-items: start;
  padding: 0.72rem 0 0.76rem;
}

.pm-player-list__row--text .pm-player-list__number,
.pm-player-list__row--text .pm-player-icon-button {
  align-self: start;
}

.pm-player-list--text .pm-player-list__number {
  min-width: 3.24rem;
  min-height: 2.82rem;
  padding: 0.12rem 0.72rem 0.08rem;
  font-size: 0.8rem;
  line-height: 1;
}

.pm-player-list--text .pm-player-list__text {
  grid-area: text;
  white-space: normal;
  line-height: 1.44;
}

.pm-player-list--text .pm-player-list__cell {
  min-height: 3.08rem;
}

.pm-player-list--text .pm-player-list__trigger {
  min-height: 3.08rem;
  padding: 0.5rem 0.82rem 0.46rem;
  row-gap: 0.18rem;
}

.pm-player-list--text .pm-player-list__row--text .pm-player-icon-button {
  inline-size: 2.38rem;
  block-size: 2.38rem;
  min-height: 2.38rem;
  margin-top: 0.16rem;
}

.pm-player-token {
  border-radius: 0.18rem;
  transition: background-color var(--promat-transition-fast);
}

.pm-player-token.is-active {
  background-color: rgba(24, 103, 122, 0.09);
}

.pm-player-list__meta-main {
  grid-area: meta;
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  line-height: 1.2;
}

.pm-player-list__meta-time {
  grid-area: time;
  align-self: start;
  text-align: right;
  white-space: nowrap;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  line-height: 1.2;
}

.pm-player-list--text .pm-player-list__meta-main,
.pm-player-list--text .pm-player-list__meta-time {
  padding-top: 0.18rem;
}

.pm-player-list--text .pm-player-list__meta-main {
  line-height: 1.24;
}

.pm-player-list--text .pm-player-list__meta-time {
  line-height: 1.24;
}

.pm-player-panel--text .pm-player-panel__hint {
  max-width: 48rem;
}

.pm-player-panel--control-bar {
  gap: 0.85rem;
}

.pm-player-panel--compare,
.pm-player-panel--wordlist,
.pm-player-panel--text,
.pm-player-panel--interview {
  gap: var(--pm-space-md);
}

.pm-player-transcript {
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pm-player-transcript__row {
  padding: 0.76rem 0;
  border-top: 1px solid var(--pm-border-subtle);
}

.pm-player-transcript__row:first-child {
  border-top: 0;
}

.pm-player-transcript__row.is-focused .pm-player-transcript__trigger {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 10%, var(--pm-surface-paper) 90%);
}

.pm-player-transcript__meta {
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 0.22rem;
  padding-top: 0;
}

.pm-player-transcript__speaker,
.pm-player-reference-popover__number {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 1.55rem;
  padding: 0 0.5rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-family: var(--book-font-ui);
  font-size: 0.74rem;
  font-weight: 500;
}

.pm-player-transcript__speaker {
  --pm-player-transcript-badge-text-inset: 0.5rem;
}

.pm-player-transcript__speaker--interviewer {
  background: color-mix(in srgb, var(--pm-surface-neutral) 88%, var(--pm-surface-paper) 12%);
  border-color: var(--pm-border-subtle);
  color: var(--book-muted);
}

.pm-player-transcript__speaker--participant,
.pm-player-reference-popover__number {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 28%, var(--pm-surface-paper) 72%);
  border-color: rgba(24, 103, 122, 0.14);
  color: var(--pm-text-accent);
  font-weight: 600;
}

.pm-player-reference-popover__number {
  min-height: 1.38rem;
  padding: 0 0.42rem;
  background: color-mix(in srgb, var(--pm-surface-neutral) 82%, var(--pm-surface-paper) 18%);
  border-color: var(--pm-border-subtle);
  color: var(--book-muted);
  font-size: 0.7rem;
  font-weight: 500;
}

.pm-player-transcript__time,
.pm-player-reference-popover__audio-empty {
  margin: 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.74rem;
  line-height: 1.25;
  white-space: nowrap;
}

.pm-player-transcript__time-wrap {
  display: block;
  padding-inline-start: calc(var(--pm-player-transcript-badge-text-inset, 0.5rem) + 1px);
}

.pm-player-transcript__body {
  min-width: 0;
  width: 100%;
  max-width: min(100%, 66ch);
  align-self: start;
}

.pm-player-transcript__trigger {
  appearance: none;
  width: 100%;
  min-height: 0;
  padding: 0.16rem 0.72rem 0.24rem;
  border: 0;
  border-radius: 0.56rem;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
  transition: background var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-player-transcript__trigger:hover,
.pm-player-transcript__trigger:focus-visible {
  background: color-mix(in srgb, var(--pm-surface-hover) 62%, var(--pm-surface-paper) 38%);
}

.pm-player-transcript__body[data-player-item].is-active .pm-player-transcript__trigger {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 8%, var(--pm-surface-paper) 92%);
  color: var(--book-fg);
}

.pm-player-transcript__text,
.pm-player-reference-popover__title {
  display: block;
  white-space: normal;
  line-height: 1.7;
}

.pm-player-inline-ref {
  appearance: none;
  display: inline;
  margin: 0 0.04rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--book-muted);
  font-family: inherit;
  font-size: 0.92em;
  font-weight: 400;
  line-height: inherit;
  vertical-align: baseline;
  white-space: normal;
  cursor: pointer;
  text-decoration-color: transparent;
  transition: color var(--promat-transition-fast), text-decoration-color var(--promat-transition-fast);
}

.pm-player-inline-ref:hover,
.pm-player-inline-ref:focus-visible {
  color: var(--pm-text-accent);
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: var(--pm-link-underline-offset, 0.14em);
}

.pm-player-inline-ref__label {
  font-style: italic;
}

.pm-player-inline-ref__bracket {
  color: var(--book-muted);
}

.pm-player-inline-ref__punctuation {
  display: inline;
}

.pm-player-reference-popover {
  padding: 0;
  border: 0;
  background: transparent;
  max-width: none;
  overflow: visible;
}

.pm-player-reference-popover::backdrop {
  background: rgba(35, 40, 47, 0.1);
}

.pm-player-reference-popover__surface {
  position: fixed;
  top: var(--pm-player-reference-top, 6rem);
  left: var(--pm-player-reference-left, 50%);
  display: grid;
  gap: 0.72rem;
  width: min(19.25rem, calc(100vw - 1.5rem));
  max-height: min(70vh, 28rem);
  padding: 0.88rem 0.88rem 0.84rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 0.92rem;
  background: color-mix(in srgb, var(--pm-surface-paper) 96%, white 4%);
  box-shadow: 0 1rem 2.4rem color-mix(in srgb, var(--pm-ink) 14%, transparent);
  overflow: auto;
  transform: translateX(var(--pm-player-reference-shift-x, -50%));
}

.pm-player-reference-popover__header,
.pm-player-reference-popover__eyebrow,
.pm-player-reference-popover__player {
  display: grid;
  gap: 0.48rem;
}

.pm-player-reference-popover__header {
  gap: 0.4rem;
}

.pm-player-reference-popover__eyebrow {
  grid-auto-flow: column;
  align-items: center;
  justify-content: start;
  gap: 0.32rem;
}

.pm-player-reference-popover__title {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.45;
}

.pm-player-reference-popover__player {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.62rem;
  padding: 0.62rem 0.68rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: 0.8rem;
  background: color-mix(in srgb, var(--pm-surface-neutral) 72%, var(--pm-surface-paper) 28%);
}

.pm-player-reference-popover__player[hidden],
.pm-player-reference-popover__audio {
  display: none;
}

.pm-player-reference-popover__toggle {
  inline-size: 2.55rem;
  block-size: 2.55rem;
  min-height: 2.55rem;
}

.pm-player-reference-popover__progress {
  min-width: 0;
}

.pm-player-reference-popover__download {
  inline-size: 2.15rem;
  block-size: 2.15rem;
  min-height: 2.15rem;
}

.pm-player-reference-popover__action {
  justify-self: start;
}

.pm-dialog,
.pm-dialog__surface,
.pm-dialog__header,
.pm-dialog__body,
.pm-dialog__actions,
.pm-action-row,
.pm-form,
.pm-form-field,
.pm-error-surface,
.pm-error-surface__body,
.pm-error-surface__actions,
.pm-media-surface,
.pm-media-surface__header,
.pm-media-surface__controls,
.pm-media-surface__footer,
.pm-object-summary,
.pm-pattern-lab__dialog-demo {
  display: grid;
}

dialog.pm-dialog:not([open]) {
  display: none;
}

.pm-surface-density--compact,
.pm-surface-density--standard,
.pm-surface-density--spacious {
  --pm-surface-padding-block: var(--pm-space-sm);
  --pm-surface-padding-inline: var(--pm-space-sm);
  --pm-surface-stack-gap: var(--pm-space-sm);
  --pm-surface-cluster-gap: var(--pm-space-xs);
  --pm-surface-form-gap: var(--pm-space-sm);
  --pm-surface-field-gap: calc(var(--pm-space-xs) * 0.75);
  --pm-surface-action-gap: var(--pm-space-xs);
  --pm-surface-action-pad-top: 0;
  --pm-form-control-min-height: 2.5rem;
  --pm-form-control-padding-block: 0.68rem;
  --pm-form-control-padding-inline: 0.82rem;
  --pm-form-textarea-min-height: 5.5rem;
  --pm-object-summary-padding-block: 0.55rem;
  --pm-object-summary-padding-inline: 0.72rem;
}

.pm-surface-density--compact {
  --pm-surface-stack-gap: var(--pm-space-xs);
  --pm-surface-cluster-gap: calc(var(--pm-space-xs) * 0.7);
  --pm-surface-form-gap: var(--pm-space-sm);
  --pm-surface-field-gap: calc(var(--pm-space-xs) * 0.65);
  --pm-surface-action-gap: calc(var(--pm-space-xs) * 0.8);
  --pm-form-control-min-height: 2.35rem;
  --pm-form-control-padding-block: 0.62rem;
  --pm-form-textarea-min-height: 4.75rem;
  --pm-object-summary-padding-block: 0.48rem;
  --pm-object-summary-padding-inline: 0.66rem;
}

.pm-surface-density--standard {
  --pm-surface-padding-block: var(--pm-space-sm);
  --pm-surface-padding-inline: var(--pm-space-sm);
  --pm-surface-stack-gap: var(--pm-space-sm);
  --pm-surface-action-gap: var(--pm-space-sm);
}

.pm-surface-density--spacious {
  --pm-surface-padding-block: var(--pm-space-container);
  --pm-surface-padding-inline: var(--pm-space-container);
  --pm-surface-stack-gap: var(--pm-space-container);
  --pm-surface-cluster-gap: var(--pm-space-xs);
  --pm-surface-form-gap: var(--pm-space-container);
  --pm-surface-field-gap: calc(var(--pm-space-xs) * 0.85);
  --pm-surface-action-gap: var(--pm-space-sm);
  --pm-surface-action-pad-top: calc(var(--pm-space-xs) * 0.35);
  --pm-form-control-min-height: 2.65rem;
  --pm-form-control-padding-block: 0.74rem;
  --pm-form-textarea-min-height: 5.15rem;
  --pm-object-summary-padding-block: 0.62rem;
  --pm-object-summary-padding-inline: 0.78rem;
}

.pm-dialog {
  width: 100%;
}

dialog.pm-dialog {
  box-sizing: border-box;
  width: min(calc(100vw - 2rem), 32rem);
  max-width: 32rem;
  margin: auto;
  inset: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  overflow: hidden;
}

dialog.pm-dialog[open] {
  display: grid;
  place-items: stretch;
}

dialog.pm-dialog.pm-dialog--compact {
  width: min(calc(100vw - 2rem), 24rem);
  max-width: 24rem;
}

dialog.pm-dialog::backdrop {
  background: rgba(0, 0, 0, 0.32);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

dialog.pm-dialog .pm-dialog__surface {
  max-width: none;
}

.pm-dialog__surface {
  gap: var(--pm-surface-stack-gap);
  min-height: 100%;
  padding: var(--pm-surface-padding-block) var(--pm-surface-padding-inline);
  border: 1px solid var(--pm-border-subtle);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--pm-surface-paper) 96%, white 4%);
  box-shadow: 0 1rem 2.2rem color-mix(in srgb, var(--pm-ink) 14%, transparent);
}

.pm-dialog--compact .pm-dialog__surface {
  max-width: 24rem;
}

.pm-pattern-lab__dialog-demo--wide .pm-dialog__surface {
  max-width: none;
}

.pm-dialog--danger .pm-dialog__surface {
  background: linear-gradient(180deg, color-mix(in srgb, var(--book-danger, #b54747) 4%, var(--pm-surface-paper) 96%), color-mix(in srgb, var(--pm-surface-paper) 94%, var(--pm-surface-neutral) 6%));
}

.pm-dialog__header,
.pm-dialog__body {
  gap: var(--pm-surface-cluster-gap);
}

.pm-dialog__body--form {
  gap: var(--pm-surface-stack-gap);
}

.pm-dialog__eyebrow,
.pm-workbench-card__eyebrow,
.pm-pattern-lab__surface-title {
  margin: 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.77rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.pm-dialog__eyebrow--danger {
  color: var(--book-danger, #b54747);
}

.pm-dialog__title,
.pm-error-surface__title,
.pm-media-surface__title,
.pm-pattern-lab__surface-title {
  margin: 0;
}

.pm-dialog__title {
  font-size: 1.06rem;
  line-height: 1.34;
}

.pm-dialog__text,
.pm-error-surface__text,
.pm-media-surface__meta,
.pm-workbench-card__count {
  margin: 0;
}

.pm-dialog__text,
.pm-error-surface__text,
.pm-media-surface__meta,
.pm-workbench-card__count {
  color: var(--book-muted);
}

.pm-action-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--pm-surface-action-gap);
}

.pm-action-row > .pm-action-button,
.pm-action-row > .pm-nav-pill,
.pm-action-row > .pm-cta-link {
  flex: 0 0 auto;
  min-inline-size: max-content;
  max-inline-size: 100%;
}

.pm-action-button__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.pm-action-row--end {
  justify-content: flex-end;
}

.pm-object-summary {
  gap: calc(var(--pm-surface-cluster-gap) * 0.7);
  padding: var(--pm-object-summary-padding-block) var(--pm-object-summary-padding-inline);
  border: 1px solid color-mix(in srgb, var(--book-danger, #b54747) 14%, var(--pm-border-subtle) 86%);
  border-radius: 0.82rem;
  background: color-mix(in srgb, var(--book-danger, #b54747) 3%, var(--pm-surface-paper) 97%);
}

.pm-object-summary__label,
.pm-object-summary__value {
  margin: 0;
}

.pm-object-summary__label {
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.pm-object-summary__value {
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.4;
}

.pm-dialog__actions {
  padding-top: var(--pm-surface-action-pad-top);
}

.pm-form {
  gap: var(--pm-surface-form-gap);
}

.pm-form-field {
  gap: var(--pm-surface-field-gap);
}

.pm-form-label,
.pm-form-help,
.pm-form-error {
  font-family: var(--book-font-ui);
}

.pm-form-label {
  color: var(--book-fg);
  font-size: 0.84rem;
  font-weight: 600;
}

.pm-form-control {
  width: 100%;
  min-height: max(var(--pm-form-control-min-height), var(--pm-form-control-min-block));
  padding: var(--pm-form-control-padding-block) var(--pm-form-control-padding-inline);
  border: 1px solid var(--pm-border-subtle);
  border-radius: 0.95rem;
  background: color-mix(in srgb, var(--pm-surface-paper) 94%, var(--pm-surface-neutral) 6%);
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: 0.95rem;
  line-height: 1.4;
  transition: border-color var(--promat-transition-fast), background var(--promat-transition-fast), box-shadow var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-form-control:hover:enabled {
  border-color: var(--pm-border-default);
  background: color-mix(in srgb, var(--pm-surface-paper) 92%, var(--pm-surface-hover) 8%);
}

.pm-form-control:focus-visible {
  outline: none;
  border-color: var(--book-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--pm-surface-accent-soft) 74%, transparent);
}

.pm-form-control:disabled {
  color: color-mix(in srgb, var(--book-muted) 84%, var(--pm-surface-paper) 16%);
  background: color-mix(in srgb, var(--pm-surface-neutral) 88%, var(--pm-surface-paper) 12%);
  border-color: color-mix(in srgb, var(--pm-border-subtle) 78%, transparent);
  cursor: not-allowed;
}

.pm-form-field--error .pm-form-control,
.pm-form-control--error {
  border-color: color-mix(in srgb, var(--book-danger, #b54747) 48%, var(--pm-border-subtle) 52%);
  background: color-mix(in srgb, var(--book-danger, #b54747) 4%, var(--pm-surface-paper) 96%);
}

.pm-form-field--disabled .pm-form-label {
  color: color-mix(in srgb, var(--book-muted) 88%, var(--pm-surface-paper) 12%);
}

.pm-form-textarea {
  min-height: var(--pm-form-textarea-min-height);
  resize: vertical;
  line-height: 1.45;
}

.pm-form-help,
.pm-form-error {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.4;
}

.pm-form-help {
  color: var(--book-muted);
}

.pm-form-error {
  color: var(--book-danger, #b54747);
}

.pm-error-surface {
  gap: var(--pm-surface-stack-gap);
  min-height: 100%;
  padding: var(--pm-surface-padding-block) var(--pm-surface-padding-inline);
  border: 1px solid var(--pm-border-subtle);
  border-radius: 1rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--pm-surface-paper) 97%, white 3%), color-mix(in srgb, var(--pm-surface-paper) 92%, var(--pm-surface-neutral) 8%));
  box-shadow: 0 0.9rem 2rem color-mix(in srgb, var(--pm-ink) 10%, transparent);
}

.pm-error-surface__body {
  gap: var(--pm-surface-cluster-gap);
}

.pm-error-surface__code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 1.55rem;
  padding: 0.12rem 0.5rem;
  border: 1px solid color-mix(in srgb, var(--book-accent) 18%, var(--pm-border-subtle) 82%);
  border-radius: 0.72rem;
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 16%, var(--pm-surface-paper) 84%);
  color: color-mix(in srgb, var(--book-accent) 76%, var(--book-muted) 24%);
  font-family: var(--book-font-ui);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.pm-error-surface__actions {
  padding-top: calc(var(--pm-surface-cluster-gap) * 0.25);
}

.pm-media-surface {
  gap: var(--pm-surface-stack-gap);
  min-height: 100%;
  padding: var(--pm-surface-padding-block) var(--pm-surface-padding-inline);
  border: 1px solid var(--pm-border-subtle);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--pm-surface-paper) 96%, white 4%);
  box-shadow: 0 1rem 2.2rem color-mix(in srgb, var(--pm-ink) 12%, transparent);
}

.pm-media-surface__header,
.pm-media-surface__footer {
  gap: var(--pm-surface-cluster-gap);
}

.pm-media-surface__badges {
  align-items: center;
}

.pm-media-surface__controls {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: calc(var(--pm-surface-action-gap) + 0.1rem);
  padding: calc(var(--pm-surface-padding-block) * 0.6) calc(var(--pm-surface-padding-inline) * 0.7);
  border: 1px solid var(--pm-border-subtle);
  border-radius: 0.85rem;
  background: color-mix(in srgb, var(--pm-surface-neutral) 72%, var(--pm-surface-paper) 28%);
}

.pm-media-surface__control {
  inline-size: 2.25rem;
  block-size: 2.25rem;
  min-height: 2.25rem;
}

.pm-media-surface__progress {
  min-width: 0;
  block-size: 0.42rem;
  border-radius: 999px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--book-accent) 72%, var(--book-accent-2) 28%) 0 44%, color-mix(in srgb, var(--pm-surface-neutral) 76%, var(--pm-surface-paper) 24%) 44% 100%);
}

.pm-player-summary-band {
  gap: 0;
}

.pm-player-panel__header--compare-tools {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
}

.pm-player-panel--compare .pm-player-panel__header,
.pm-player-panel--wordlist .pm-player-panel__header,
.pm-player-panel--text .pm-player-panel__header {
  gap: 0.35rem;
}

.pm-player-panel--compare .pm-player-panel__hint,
.pm-player-panel--wordlist .pm-player-panel__hint,
.pm-player-panel--text .pm-player-panel__hint {
  max-width: 42rem;
}

.pm-player-material-strip {
  gap: 0.72rem;
  overflow: visible;
}

.pm-player-material-strip__bar {
  align-items: center;
}

.pm-player-material-strip__bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.55rem 0.9rem;
}

.pm-player-material-strip__tasks {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
}

.pm-player-material-strip .pm-comparison-material-controls {
  gap: 0.4rem;
}

.pm-player-material-strip__set-inline {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  min-width: 0;
}

.pm-player-material-strip__set-inline-label {
  display: inline-flex;
  align-items: center;
  min-height: 2.2rem;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.pm-player-material-strip__set-help {
  flex: 0 0 auto;
}

.pm-player-material-strip__select {
  width: min(100%, 12.75rem);
  min-width: min(11.5rem, 100%);
}

.pm-player-view-switch {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0;
  min-width: max-content;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  line-height: 1;
}

.pm-player-view-switch__option {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: 0 0.1rem;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--promat-transition-fast), opacity var(--promat-transition-fast);
}

.pm-player-view-switch__option:hover,
.pm-player-view-switch__option:focus-visible {
  color: var(--book-fg);
}

.pm-player-view-switch__option.is-current {
  color: var(--book-fg);
  font-weight: 600;
}

.pm-player-view-switch__option:not(:first-child) {
  padding-left: 0.7rem;
}

.pm-player-view-switch__option:not(:last-child) {
  padding-right: 0.7rem;
}

.pm-player-view-switch__option:not(:first-child)::before {
  content: "|";
  position: absolute;
  left: 0;
  color: var(--pm-border-strong, var(--pm-border-subtle));
  font-weight: 400;
}

.pm-player-panel__header--split {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.8rem 1rem;
}

.pm-player-text-flow {
  display: grid;
  gap: 0.88rem;
  padding-block-start: 0.05rem;
}

.pm-player-text-flow__spoken-title {
  margin: 0;
}

.pm-player-text-flow__paragraph {
  margin: 0;
  font-family: var(--book-font-ui);
  font-size: clamp(0.98rem, 0.96rem + 0.08vw, 1.03rem);
  line-height: 1.76;
  letter-spacing: 0;
  color: var(--book-fg);
}

.pm-player-text-flow__sentence {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  margin-inline-end: 0.12rem;
  border-radius: 0.5rem;
  transition: background-color var(--promat-transition-fast), box-shadow var(--promat-transition-fast);
}

.pm-player-text-flow__sentence--title {
  display: flex;
  align-items: flex-start;
  gap: 0.38rem;
  margin-inline-end: 0;
}

.pm-player-text-flow__number {
  display: inline-flex;
  margin-right: 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  white-space: nowrap;
  vertical-align: baseline;
}

.pm-player-text-flow__number--title {
  min-height: 1.5rem;
  padding-top: 0.14rem;
}

.pm-player-text-flow__body {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  margin-right: 0;
  vertical-align: baseline;
  min-width: 0;
  position: relative;
  overflow: visible;
}

.pm-player-text-flow__body--title {
  align-items: flex-start;
}

.pm-player-text-flow__trigger {
  appearance: none;
  display: inline;
  padding: 0.04rem 0.08rem;
  border: 1px solid transparent;
  border-radius: 0.36rem;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  line-height: inherit;
  transition: background var(--promat-transition-fast), border-color var(--promat-transition-fast), color var(--promat-transition-fast), box-shadow var(--promat-transition-fast);
}

.pm-player-text-flow__trigger--title {
  display: inline-block;
  padding: 0.02rem 0.12rem 0.08rem;
  border-radius: 0.42rem;
}

.pm-player-text-flow__trigger:hover {
  background: color-mix(in srgb, var(--pm-surface-hover) 52%, transparent);
  border-color: var(--pm-border-subtle);
}

.pm-player-text-flow__body[data-player-item].is-active .pm-player-text-flow__trigger {
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 42%, transparent);
  border-color: var(--pm-text-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pm-text-accent) 10%, transparent);
}

.pm-player-text-flow__text {
  display: inline;
  white-space: normal;
}

.pm-player-text-flow__text--title {
  font-family: var(--book-font-display);
  font-size: clamp(1.08rem, 1.04rem + 0.18vw, 1.18rem);
  font-weight: 600;
  line-height: 1.38;
}

.pm-player-text-flow__download {
  position: absolute;
  inset-inline-start: 100%;
  top: 50%;
  inline-size: 1.9rem;
  block-size: 1.9rem;
  min-height: 1.9rem;
  margin-top: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(0.18rem, -50%);
  z-index: 3;
  transition: opacity var(--promat-transition-fast), transform var(--promat-transition-fast), background var(--promat-transition-fast), border-color var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-player-text-flow__body:hover .pm-player-text-flow__download,
.pm-player-text-flow__body:focus-within .pm-player-text-flow__download,
.pm-player-text-flow__body[data-player-item].is-active .pm-player-text-flow__download {
  opacity: 1;
  pointer-events: auto;
  transform: translate(0.26rem, -50%);
}

.pm-player-text-flow__body--missing {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  color: var(--book-muted);
}

.pm-player-text-flow__meta {
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
}

@media (min-width: 900px) {
  .pm-dialog__surface {
    max-width: none;
  }

  .pm-comparison-material-bar {
    align-items: end;
  }

  .pm-player-material-strip__bar,
  .pm-player-material-strip .pm-comparison-material-controls,
  .pm-player-material-strip__tasks {
    flex-wrap: nowrap;
  }

  .pm-player-control-bar__block--transport {
    padding-right: 0.2rem;
  }

  .pm-player-control-bar__block--settings {
    align-content: center;
  }

  .pm-player-summary-cards.is-compare-ready .pm-player-meta-card {
    min-block-size: 100%;
  }

  .pm-player-material-strip__set-inline,
  .pm-player-material-strip__select {
    width: min(100%, 12.75rem);
  }
}

@media (max-width: 719px) {
  .pm-action-row {
    flex-direction: column;
    align-items: stretch;
  }

  .pm-action-row > * {
    width: 100%;
  }

  .pm-media-surface__controls {
    grid-template-columns: auto 1fr;
  }

  .pm-media-surface__controls > :last-child {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .pm-player-page-actions {
    justify-content: flex-start;
  }

  .pm-player-control-bar__actions {
    justify-content: stretch;
  }

  .pm-player-control-bar__row--transport,
  .pm-player-control-bar__row--settings,
  .pm-player-transport-cluster,
  .pm-player-range-field__control {
    flex-wrap: nowrap;
  }
  .pm-player-rate-slider,
  .pm-player-toggle-field,
  .pm-player-panel__header--compare-tools,
  .pm-player-list__trigger {
    grid-template-columns: 1fr;
  }

  .pm-player-list__cell {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }

  .pm-player-list__cell--primary {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .pm-player-list:not(.pm-player-list--text) .pm-player-list__trigger {
    align-items: start;
    row-gap: 0.18rem;
    padding: 0.46rem 0.72rem;
  }

  .pm-player-list:not(.pm-player-list--text) .pm-player-list__text {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

  .pm-player-list:not(.pm-player-list--text) .pm-player-list__meta {
    white-space: normal;
  }

  .pm-player-view-switch {
    justify-content: flex-start;
    min-width: 0;
    overflow-x: auto;
  }

  .pm-player-panel__header--split {
    grid-template-columns: 1fr;
  }

  .pm-player-list--text .pm-player-list__number {
    min-width: 3rem;
    min-height: 2.7rem;
  }

  .pm-player-list--text .pm-player-list__row--text .pm-player-icon-button {
    justify-self: start;
    margin-top: 0.08rem;
  }

  .pm-player-text-flow__sentence {
    gap: 0.34rem;
  }

  .pm-player-text-flow__body {
    gap: 0.28rem;
  }

  .pm-player-text-flow__download {
    inline-size: 1.8rem;
    block-size: 1.8rem;
    min-height: 1.8rem;
  }

  .pm-player-material-strip__set-inline {
    width: 100%;
    justify-content: flex-start;
  }

  .pm-player-material-strip__select {
    min-width: 100%;
    width: 100%;
  }

  .pm-player-session-picker__menu {
    width: min(100%, 24rem);
  }

  .pm-player-rate-field .pm-player-field-label {
    justify-content: flex-start;
  }

  .pm-player-toolbar__toggle {
    inline-size: var(--pm-touch-target-min);
    block-size: var(--pm-touch-target-min);
  }

  .pm-player-toolbar__time {
    justify-content: flex-start;
  }

  .pm-player-list__row {
    gap: 0.55rem;
  }

  .pm-player-list__row--single:not(.pm-player-list__row--text) {
    padding: 0.58rem 0;
  }

  .pm-player-reference-popover__surface {
    top: auto;
    bottom: 0;
    left: 50%;
    width: min(100vw, 42rem);
    max-height: min(82vh, 36rem);
    border-radius: 1.2rem 1.2rem 0 0;
    transform: translateX(-50%);
  }
}

@media (max-width: 899px) {
  .pm-player-transcript__meta {
    gap: 0.34rem;
    padding-top: 0;
  }

  .pm-player-transcript__trigger {
    padding-inline: 0.64rem;
  }

  .pm-player-reference-popover__surface {
    top: auto;
    bottom: 0.6rem;
    left: 50%;
    width: min(calc(100vw - 1rem), 24rem);
    max-height: min(72vh, 26rem);
    border-radius: 1rem;
    transform: translateX(-50%);
  }
}

@media (max-width: 899px) {
  .pm-player-compare-desktop {
    display: none !important;
  }
}

.pm-item-content-text {
  color: var(--book-fg);
  font-family: var(--pm-item-content-font-family);
  font-weight: var(--pm-item-content-font-weight);
  font-size: var(--pm-item-content-font-size);
  line-height: var(--pm-item-content-line-height);
  letter-spacing: 0;
}

.pm-item-content-text--compare {
  font-size: var(--pm-item-content-font-size-compare);
  line-height: var(--pm-item-content-line-height-compare);
}

.pm-research-table__col--recording,
.pm-research-table__head--recording,
.pm-research-table__cell--recording {
  width: 25%;
}

.pm-research-table__col--speaker-type,
.pm-research-table__head--speaker-type,
.pm-research-table__cell--speaker-type {
  width: 15%;
}

.pm-research-table__col--level,
.pm-research-table__head--level,
.pm-research-table__cell--level {
  width: 10%;
}

.pm-research-table__col--l1,
.pm-research-table__head--l1,
.pm-research-table__cell--l1 {
  width: 9%;
}

.pm-research-table__col--gender,
.pm-research-table__head--gender,
.pm-research-table__cell--gender {
  width: 10%;
}

.pm-research-table__col--stay,
.pm-research-table__head--stay,
.pm-research-table__cell--stay {
  width: 16%;
}

.pm-research-table__col--action,
.pm-research-table__head--action,
.pm-research-table__cell--action {
  width: 11%;
}

.pm-research-table--speakers {
  min-width: 52rem;
  table-layout: auto;
}

.pm-research-table__col--speaker,
.pm-research-table__head--speaker,
.pm-research-table__cell--speaker {
  width: 12.5rem;
}

.pm-research-table__col--speaker-group,
.pm-research-table__head--speaker-group,
.pm-research-table__cell--speaker-group {
  width: 8.5rem;
}

.pm-research-table--speakers .pm-research-table__col--level,
.pm-research-table--speakers .pm-research-table__head--level,
.pm-research-table--speakers .pm-research-table__cell--level {
  width: 4.5rem;
}

.pm-research-table__col--detail,
.pm-research-table__head--detail,
.pm-research-table__cell--detail {
  width: 7rem;
}

.pm-research-table--speakers .pm-research-table__col--gender,
.pm-research-table--speakers .pm-research-table__head--gender,
.pm-research-table--speakers .pm-research-table__cell--gender {
  width: 6rem;
}

.pm-research-table__col--stays,
.pm-research-table__head--stays,
.pm-research-table__cell--stays {
  width: 6.5rem;
}

.pm-research-table__col--actions,
.pm-research-table__head--actions,
.pm-research-table__cell--actions {
  width: auto;
}

.pm-research-table--speakers .pm-research-table__action-col,
.pm-research-table--speakers .pm-research-table__action {
  width: auto;
  text-align: left;
}

.pm-research-table--speakers .pm-research-table__head--level,
.pm-research-table--speakers .pm-research-table__cell--level,
.pm-research-table--speakers .pm-research-table__head--detail,
.pm-research-table--speakers .pm-research-table__cell--detail,
.pm-research-table--speakers .pm-research-table__head--gender,
.pm-research-table--speakers .pm-research-table__cell--gender,
.pm-research-table--speakers .pm-research-table__head--stays,
.pm-research-table--speakers .pm-research-table__cell--stays {
  white-space: nowrap;
}

.pm-research-table--speakers .pm-research-table__head--actions,
.pm-research-table--speakers .pm-research-table__cell--actions {
  min-width: 13rem;
}

.pm-profile-metadata__grid,
.pm-player-stub-summary__grid {
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.pm-speaker-card__meta-label,
.pm-speaker-card__meta-value,
.pm-profile-metadata__label,
.pm-profile-metadata__row dd,
.pm-profile-metadata__value,
.pm-player-stub-summary__grid dd,
.pm-profile-related__list {
  margin: 0;
}

.pm-profile-hero__header {
  display: grid;
  gap: 0.3rem;
}

.pm-profile-hero__title {
  margin: 0;
  font-size: clamp(1.45rem, 1.32rem + 0.3vw, 1.7rem);
}

.pm-profile-hero__session {
  margin: 0;
  display: grid;
  gap: 0.14rem;
}

.pm-profile-hero__session-label {
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.72rem;
  letter-spacing: var(--pm-type-meta-tracking);
}

.pm-profile-hero__session-value {
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  overflow-wrap: anywhere;
}

.pm-profile-badge {
  display: inline-flex;
  align-items: center;
  min-height: var(--pm-badge-min-height);
  padding: 0 var(--pm-badge-padding-inline);
  border-radius: 999px;
  border: 1px solid var(--pm-border-subtle);
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 26%, var(--pm-surface-paper) 74%);
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-badge-font-size);
  letter-spacing: var(--pm-type-meta-tracking);
}

.pm-profile-badge-row {
  gap: 0.55rem;
  margin-block: 0.55rem 0.9rem;
}

.pm-speaker-card__meta-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  align-items: center;
}

.pm-profile-task-list {
  display: grid;
  gap: var(--pm-space-sm);
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.pm-profile-session {
  --pm-profile-session-accent: var(--book-accent);
  --pm-profile-session-selected-surface: color-mix(in srgb, var(--pm-profile-session-accent) 7%, var(--pm-surface-paper) 93%);
  --pm-profile-session-selected-badge-surface: color-mix(in srgb, var(--pm-profile-session-accent) 18%, white 82%);
  display: grid;
  gap: var(--pm-space-sm);
  border-top: var(--pm-card-accent-bar-thickness) solid var(--pm-profile-session-accent);
}

.pm-profile-session--a1 {
  --pm-profile-session-accent: var(--pm-research-level-a1);
}

.pm-profile-session--a2 {
  --pm-profile-session-accent: var(--pm-research-level-a2);
}

.pm-profile-session--b1 {
  --pm-profile-session-accent: var(--pm-research-level-b1);
}

.pm-profile-session--b2 {
  --pm-profile-session-accent: var(--pm-research-level-b2);
}

.pm-profile-session--c1 {
  --pm-profile-session-accent: var(--pm-research-level-c1);
}

.pm-profile-session--c2 {
  --pm-profile-session-accent: var(--pm-research-level-c2);
}

.pm-profile-session--native {
  --pm-profile-session-accent: var(--pm-research-native-accent);
}

.pm-profile-session.is-selected {
  background: var(--pm-profile-session-selected-surface);
  box-shadow: 0 0 0 2px var(--pm-profile-session-accent);
}

.pm-profile-session__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--pm-space-xs);
}

.pm-profile-session__title {
  margin: 0;
  font-size: clamp(1.05rem, 1rem + 0.2vw, 1.18rem);
  overflow-wrap: anywhere;
}

.pm-profile-session__selected {
  display: inline-flex;
  align-items: center;
  min-height: 1.85rem;
  padding: 0 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--pm-profile-session-accent);
  background: var(--pm-profile-session-selected-badge-surface);
  color: var(--pm-profile-session-accent);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
}

.pm-profile-task-link {
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0.95rem 1rem;
  border-radius: var(--pm-radius-container);
  flex-direction: column;
  gap: 0.3rem;
}

.pm-profile-metadata__row {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}

.pm-profile-metadata__rich {
  display: grid;
  gap: 0.35rem;
}

.pm-profile-metadata__list {
  display: grid;
  gap: 0.82rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.pm-profile-metadata__list-item {
  display: grid;
  gap: 0.12rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  align-content: start;
}

.pm-profile-metadata__rich--exposure {
  gap: 0;
}

.pm-profile-metadata__list--exposure {
  gap: 1rem;
}

.pm-profile-metadata__list-item--exposure {
  gap: 0;
}

.pm-profile-metadata__entry--exposure {
  display: grid;
  gap: 0.18rem;
  align-content: start;
}

.pm-profile-metadata__entry-line {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.4;
}

.pm-profile-metadata__note {
  margin: 0;
  margin-left: 0.72rem;
  color: var(--book-muted);
  font-size: 0.76rem;
  line-height: 1.38;
  max-width: 34ch;
  overflow-wrap: anywhere;
}

.pm-profile-metadata__entry-note {
  margin-left: 0;
  padding-left: 0.78rem;
  font-size: 0.79rem;
  line-height: 1.42;
  max-width: 38ch;
}

.pm-profile-metadata__value {
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pm-profile-card__section {
  display: grid;
  gap: var(--pm-space-sm);
  padding-top: var(--pm-space-container);
  border-top: 1px solid var(--pm-border-subtle);
}

.pm-profile-navigation,
.pm-profile-actions__footer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pm-space-sm);
}

.pm-profile-related__list {
  padding-left: 1rem;
}

.pm-player-stub-summary__grid div {
  display: grid;
  gap: 0.3rem;
}

@media (max-width: 719px) {
  .pm-research-results-header {
    align-items: start;
  }

  .pm-speakers-view-switch-wrap {
    justify-content: flex-start;
  }

  .pm-profile-task-list {
    grid-template-columns: 1fr;
  }

  .pm-research-table-wrap {
    padding-bottom: 0.2rem;
  }
}

.promat-panel {
  color: var(--book-fg);
}

.promat-panel__inner {
  display: grid;
  gap: var(--pm-panel-stack-gap);
  width: min(100%, var(--pm-layout-panel-width-current));
  margin: 0;
  padding: 0 0 0 var(--promat-shell-axis-offset);
}

.promat-panel--standard .promat-panel__inner {
  position: sticky;
  top: calc(var(--promat-topbar-height) + var(--pm-space-xl));
}

.promat-panel__inner--language {
  gap: var(--pm-panel-stack-gap);
}

.promat-panel__context {
  display: grid;
  gap: var(--pm-panel-context-gap);
  padding: 0 0 var(--pm-panel-context-padding-bottom);
  border-bottom: var(--pm-shell-divider-width) solid var(--pm-panel-context-rule-color);
}

.promat-panel__context--language {
  gap: var(--pm-panel-context-gap);
  padding-bottom: var(--pm-panel-context-padding-bottom);
}

.promat-panel__context:empty {
  display: none;
}

.promat-panel__context[data-section="start"] {
  --pm-panel-section-icon: var(--pm-icon-start);
}

.promat-panel__context[data-section="project"] {
  --pm-panel-section-icon: var(--pm-icon-project);
}

.promat-panel__context[data-section="research"] {
  --pm-panel-section-icon: var(--pm-icon-research);
}

.promat-panel__context[data-section="teaching"] {
  --pm-panel-section-icon: var(--pm-icon-teaching);
}

.promat-panel__context[data-section="rechtliches"] {
  --pm-panel-section-icon: var(--pm-icon-legal);
}

.promat-panel__section-header {
  display: inline-flex;
  align-items: center;
  gap: var(--pm-panel-context-title-gap);
  min-height: var(--pm-panel-context-title-min-height);
  padding-inline-start: 0.08rem;
}

.promat-panel__language-header {
  display: flex;
  align-items: center;
}

.promat-panel__language-link {
  display: inline-flex;
  align-items: center;
  gap: var(--pm-panel-context-title-gap);
  min-width: 0;
  min-height: var(--pm-panel-context-title-min-height);
  color: var(--book-fg);
  text-decoration: none;
}

.promat-panel__language-link:hover,
.promat-panel__language-link:focus-visible {
  background: transparent;
  color: var(--book-fg);
  outline: none;
}

.promat-panel__language-link .pm-panel__section-icon {
  opacity: 1;
}

.pm-breadcrumb__link {
  color: var(--pm-breadcrumb-text);
  text-decoration: none;
}

.pm-breadcrumb__link--current {
  color: var(--pm-breadcrumb-current-text);
}

.pm-breadcrumb__separator {
  color: var(--pm-breadcrumb-separator);
}

.pm-panel__section-icon {
  inline-size: var(--pm-icon-size-sm);
  block-size: var(--pm-icon-size-sm);
  color: inherit;
  opacity: 0.88;
}

.promat-panel__section-header > .pm-panel__section-icon {
  margin-inline-start: -0.14rem;
}

.promat-panel__context-line--accent {
  color: var(--book-title-accent-dark);
}

html[data-theme="dark"] .promat-panel__context-line--accent,
html[data-theme="auto"][data-system-dark="true"] .promat-panel__context-line--accent {
  color: var(--book-title-accent);
}

.promat-panel__nav,
.promat-panel__footer {
  display: grid;
  gap: var(--pm-space-xs);
}

.promat-panel__link,
.promat-panel__footer-link {
  display: block;
  border-radius: var(--pm-nav-item-radius);
}

.promat-panel__footer-link {
  box-sizing: border-box;
  padding: var(--pm-shell-inline-hover-padding-y) var(--pm-shell-inline-hover-padding-x);
  margin-inline: calc(var(--pm-shell-inline-hover-padding-x) * -1);
  border-radius: var(--pm-shell-inline-hover-radius);
}

.pm-nav__item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  min-height: var(--pm-nav-item-min-height);
  margin: 0;
  padding: var(--pm-nav-item-padding-y) var(--pm-nav-item-padding-x);
  border: 0;
  border-radius: var(--pm-nav-item-radius);
  background: transparent;
  color: var(--book-muted);
  box-shadow: none;
  transition: background var(--promat-transition-fast), color var(--promat-transition-fast);
}

.pm-nav__item:hover,
.pm-nav__item:focus-visible {
  background: var(--pm-nav-state-hover-bg);
  color: var(--book-fg);
  text-decoration: none;
}

.promat-panel__link.is-active {
  background: var(--pm-nav-state-active-bg);
  color: var(--pm-nav-state-active-text);
  box-shadow: none;
  text-decoration: none;
}

.promat-panel__item-label {
  min-width: 0;
  flex: 0 1 auto;
}

.promat-panel__item-lock {
  flex: 0 0 auto;
  inline-size: 0.95rem;
  block-size: 0.95rem;
  color: currentColor;
  opacity: 0.88;
}

.pm-nav__item--muted {
  color: var(--pm-state-muted-text-strong);
}

.pm-nav__item--muted:hover,
.pm-nav__item--muted:focus-visible {
  background: var(--pm-state-muted-surface-hover);
  color: var(--book-fg);
}

.promat-panel__footer {
  padding-top: var(--pm-space-container);
  border-top: 1px solid var(--pm-border-subtle);
}

.pm-panel--info {
  display: grid;
  gap: var(--pm-panel-stack-gap-compact);
  padding: 1.45rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-container);
  background: color-mix(in srgb, var(--book-bg) 90%, var(--book-paper));
}

.pm-research-language-root {
  gap: clamp(1.2rem, 2vw, 1.6rem);
}

.pm-research-language-root__paragraph {
  margin: 0;
}

.pm-research-language-root__body {
  display: grid;
  gap: clamp(1rem, 2vw, 1.45rem);
  max-width: 46rem;
}

.pm-research-language-root__copy {
  display: grid;
  gap: 1rem;
}

.pm-research-language-root__paragraph {
  color: var(--book-fg);
  max-width: 44rem;
}

.pm-research-language-root__actions {
  padding-top: 0.2rem;
  align-items: center;
}

.pm-research-language-root__action {
  gap: 0.45rem;
}

.pm-access-request-page__actions {
  align-items: center;
}

.pm-access-request-page__secondary {
  margin-top: 1.1rem;
}

.pm-access-request-form__textarea {
  min-block-size: 8.75rem;
  resize: vertical;
}

.pm-admin-users,
.pm-admin-users__stack,
.pm-admin-toolbar,
.pm-admin-toolbar__row,
.pm-admin-toolbar__search,
.pm-admin-toolbar__sort,
.pm-admin-toolbar__actions,
.pm-admin-table-panel,
.pm-admin-table-panel__header,
.pm-admin-empty,
.pm-admin-dialog__surface,
.pm-admin-dialog__content,
.pm-admin-dialog__section,
.pm-admin-dialog__section-header,
.pm-admin-dialog__form,
.pm-admin-dialog__grid,
.pm-admin-field,
.pm-admin-dialog__actions,
.pm-admin-copy-block,
.pm-admin-copy-block__head,
.pm-admin-copy-block__content,
.pm-admin-code-block,
.pm-admin-alert,
.pm-admin-toast,
.pm-account-grid,
.pm-account-card,
.pm-account-card__header,
.pm-account-form,
.pm-account-form__grid,
.pm-account-actions,
.pm-account-meta,
.pm-account-flash-stack,
.pm-account-security-action,
.pm-admin-analytics,
.pm-admin-analytics__metrics,
.pm-admin-analytics__cell,
.pm-admin-analytics__periods {
  display: grid;
}

.pm-admin-users {
  gap: clamp(1.35rem, 2.6vw, 1.95rem);
}

.pm-admin-users__stack {
  gap: clamp(1.1rem, 2vw, 1.45rem);
}

.pm-admin-analytics {
  gap: clamp(1.1rem, 2vw, 1.45rem);
}

.pm-admin-toolbar,
.pm-admin-table-panel {
  padding: clamp(1rem, 0.9rem + 0.34vw, 1.22rem);
  border: 1px solid var(--pm-border-default);
  border-radius: var(--pm-radius-container);
  background: linear-gradient(180deg, color-mix(in srgb, var(--pm-surface-paper) 97%, var(--pm-surface-neutral) 3%), color-mix(in srgb, var(--pm-surface-paper) 92%, var(--pm-surface-neutral) 8%));
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pm-surface-paper) 64%, transparent 36%);
}

.pm-admin-toolbar {
  gap: 1rem;
}

.pm-admin-toolbar__row {
  gap: 0.85rem;
}

.pm-admin-toolbar__row--primary {
  grid-template-columns: minmax(0, 1.35fr) auto;
  align-items: end;
}

.pm-admin-toolbar__search {
  gap: 0.38rem;
  min-width: 0;
}

.pm-admin-toolbar__sort {
  gap: 0.38rem;
}

.pm-admin-toolbar__search-label,
.pm-admin-dialog__section-eyebrow,
.pm-admin-field__label,
.pm-admin-table-panel__eyebrow,
.pm-admin-copy-block__label,
.pm-admin-toast__eyebrow {
  margin: 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.79rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pm-admin-toolbar__actions {
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 0.75rem;
  justify-content: end;
  align-items: center;
}

.pm-admin-toolbar__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: var(--pm-chip-gap);
}

.pm-admin-toolbar__filters > * {
  align-self: end;
}

.pm-admin-toolbar__filters .pm-filter-chip {
  min-height: max(2.28rem, var(--pm-touch-target-min));
}

.pm-admin-toolbar__filters .pm-filter-chip {
  gap: 0.42rem;
  padding-inline: 0.9rem;
}

.pm-admin-toolbar__filters .pm-filter-chip .material-symbols-rounded,
.pm-admin-toolbar__actions .material-symbols-rounded {
  font-size: 1.1rem;
  line-height: 1;
}

.pm-admin-table-panel {
  gap: 0.9rem;
}

.pm-admin-table-panel__header {
  gap: 0.3rem;
}

.pm-admin-table-panel__title,
.pm-admin-dialog__title,
.pm-admin-dialog__section-title,
.pm-admin-empty__title {
  margin: 0;
  color: var(--book-fg);
  font-family: var(--book-font-display);
  font-size: clamp(1.06rem, 0.98rem + 0.26vw, 1.26rem);
  line-height: 1.16;
}

.pm-admin-table-panel__intro,
.pm-admin-empty__text,
.pm-admin-dialog__intro,
.pm-admin-dialog__section-text,
.pm-admin-copy-block__text,
.pm-admin-copy-block__meta,
.pm-admin-field__hint,
.pm-admin-alert__text,
.pm-admin-toast__text,
.pm-admin-table__meta,
.pm-admin-table__empty {
  margin: 0;
  color: var(--book-muted);
}

.pm-admin-table {
  min-width: 72rem;
}

.pm-admin-table-wrap {
  position: relative;
}

.pm-admin-table-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 2.5rem;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(to left, color-mix(in srgb, var(--pm-surface-paper) 94%, transparent), transparent);
}

.pm-admin-table__scroll-hint {
  display: none;
  margin: 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
}

.pm-admin-table tbody tr:hover {
  background: color-mix(in srgb, var(--pm-surface-hover) 82%, var(--pm-surface-paper) 18%);
}

.pm-admin-table td {
  vertical-align: middle;
}

.pm-admin-table__desktop {
  display: table-cell;
}

.pm-admin-table__email {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.pm-admin-table__primary {
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pm-admin-table__meta {
  font-family: var(--book-font-ui);
  font-size: var(--pm-type-meta-size);
  letter-spacing: var(--pm-type-meta-tracking);
}

.pm-admin-table__actions {
  display: flex;
  justify-content: flex-end;
}

.pm-admin-table__action {
  min-height: max(2rem, var(--pm-touch-target-min));
  padding-inline: 0.72rem;
  gap: 0.42rem;
}

.pm-admin-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  min-height: var(--pm-badge-min-height);
  padding: 0 var(--pm-badge-padding-inline);
  border: 1px solid var(--pm-border-subtle);
  border-radius: 999px;
  background: color-mix(in srgb, var(--pm-surface-paper) 82%, var(--pm-surface-accent-soft) 18%);
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: var(--pm-badge-font-size);
  font-weight: 600;
  letter-spacing: var(--pm-type-meta-tracking);
}

.pm-admin-badge__icon {
  color: currentColor;
  font-size: 0.95rem;
}

.pm-admin-badge--role-admin {
  color: var(--pm-text-accent);
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 88%, var(--pm-surface-paper) 12%);
}

.pm-admin-badge--status-active {
  background: color-mix(in srgb, var(--book-link) 14%, var(--pm-surface-paper) 86%);
}

.pm-admin-badge--status-invited {
  color: var(--pm-text-accent);
  background: color-mix(in srgb, var(--pm-surface-accent-soft) 88%, var(--pm-surface-paper) 12%);
}

.pm-admin-badge--status-deactivated,
.pm-admin-badge--status-expired {
  color: var(--pm-state-muted-text-strong);
  background: color-mix(in srgb, var(--pm-surface-neutral) 82%, var(--pm-surface-paper) 18%);
}

.pm-account-grid {
  grid-template-columns: minmax(0, 1.3fr) minmax(18rem, 0.85fr);
  gap: clamp(1rem, 2vw, 1.45rem);
}

.pm-account-card {
  gap: 1rem;
  padding: clamp(1rem, 0.9rem + 0.34vw, 1.22rem);
  border: 1px solid var(--pm-border-default);
  border-radius: var(--pm-radius-container);
  background: linear-gradient(180deg, color-mix(in srgb, var(--pm-surface-paper) 97%, var(--pm-surface-neutral) 3%), color-mix(in srgb, var(--pm-surface-paper) 92%, var(--pm-surface-neutral) 8%));
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pm-surface-paper) 64%, transparent 36%);
}

.pm-account-card__header {
  gap: 0.28rem;
}

.pm-account-card__title,
.pm-admin-analytics__metric-value {
  margin: 0;
  color: var(--book-fg);
  font-family: var(--book-font-display);
}

.pm-account-card__title {
  font-size: clamp(1.06rem, 0.98rem + 0.26vw, 1.26rem);
  line-height: 1.16;
}

.pm-account-card__intro {
  margin: 0;
  color: var(--book-muted);
}

.pm-account-form,
.pm-account-flash-stack,
.pm-account-security-action {
  gap: 0.95rem;
  justify-items: start;
}

.pm-account-form__grid {
  gap: 0.95rem;
  justify-items: stretch;
}

.pm-account-form__grid > .pm-admin-field {
  width: 100%;
}

.pm-account-form__grid .pm-phenomena-field__input {
  width: 100%;
  box-sizing: border-box;
}

.pm-account-security-action > .pm-nav-pill,
.pm-account-security-action > .pm-action-button {
  justify-self: start;
}

.pm-account-actions {
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 0.75rem;
  justify-content: start;
  align-items: center;
}

.pm-account-meta {
  gap: 0.75rem;
  margin: 0;
}

.pm-account-meta__row {
  display: grid;
  gap: 0.12rem;
}

.pm-account-meta__term,
.pm-account-meta__value {
  margin: 0;
}

.pm-account-meta__term {
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.79rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pm-account-meta__value {
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-weight: 600;
}

.pm-admin-analytics__metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.6vw, 1.1rem);
}

.pm-admin-analytics__metric-value {
  font-size: clamp(1.8rem, 1.35rem + 1vw, 2.45rem);
  line-height: 1;
}

.pm-admin-analytics__cell {
  gap: 0.14rem;
}

.pm-admin-analytics__periods {
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 0.65rem;
}

.pm-admin-empty {
  gap: 0.45rem;
  justify-items: start;
}

.pm-admin-dialog {
  width: min(100%, 100vw);
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
}

.pm-admin-dialog::backdrop {
  background: color-mix(in srgb, var(--book-bg) 46%, transparent 54%);
  -webkit-backdrop-filter: blur(0.18rem);
  backdrop-filter: blur(0.18rem);
}

.pm-admin-dialog__surface {
  width: min(100%, 46rem);
  margin: min(8vh, 4.5rem) auto;
  gap: 1rem;
  padding: clamp(1.1rem, 1rem + 0.38vw, 1.5rem);
  border: 1px solid var(--pm-border-default);
  border-radius: calc(var(--pm-radius-container) + 0.14rem);
  background: linear-gradient(180deg, color-mix(in srgb, var(--pm-surface-paper) 98%, var(--pm-surface-neutral) 2%), color-mix(in srgb, var(--pm-surface-paper) 94%, var(--pm-surface-neutral) 6%));
  box-shadow: 0 1.2rem 3rem color-mix(in srgb, var(--book-bg) 16%, transparent 84%);
}

.pm-admin-dialog--wide .pm-admin-dialog__surface {
  width: min(100%, 54rem);
}

.pm-admin-dialog__content,
.pm-admin-dialog__form,
.pm-admin-dialog__section {
  gap: 0.95rem;
}

.pm-admin-dialog__section {
  padding-top: 0.95rem;
  border-top: 1px solid var(--pm-border-subtle);
}

.pm-admin-dialog__section:first-of-type {
  padding-top: 0;
  border-top: 0;
}

.pm-admin-dialog__section-header {
  gap: 0.28rem;
}

.pm-admin-dialog__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.pm-admin-field {
  gap: 0.38rem;
}

.pm-admin-field--full {
  grid-column: 1 / -1;
}

.pm-admin-field__textarea {
  min-height: 9rem;
  resize: vertical;
}

.pm-admin-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-container);
  background: color-mix(in srgb, var(--pm-surface-paper) 92%, var(--pm-surface-neutral) 8%);
}

.pm-admin-switch__copy {
  display: grid;
  gap: 0.16rem;
}

.pm-admin-switch__label {
  margin: 0;
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-weight: 600;
}

.pm-admin-switch__hint {
  margin: 0;
  color: var(--book-muted);
  font-size: 0.9rem;
}

.pm-admin-switch__control {
  inline-size: 1.1rem;
  block-size: 1.1rem;
  accent-color: var(--promat-wordmark-accent);
}

.pm-admin-dialog__actions {
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 0.75rem;
  justify-content: end;
  align-items: center;
  padding-top: 0.4rem;
}

.pm-admin-copy-block {
  gap: 0.5rem;
}

.pm-admin-copy-block__head {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
}

.pm-admin-copy-block__content {
  gap: 0.55rem;
}

.pm-admin-code-block {
  gap: 0.55rem;
  padding: 0.95rem 1rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-container);
  background: color-mix(in srgb, var(--pm-surface-paper) 92%, var(--pm-surface-neutral) 8%);
}

.pm-admin-code-block__value {
  margin: 0;
  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: 0.9rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.pm-admin-alert {
  gap: 0.38rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--book-danger, #b54747);
  border-radius: var(--pm-radius-container);
  background: color-mix(in srgb, var(--book-danger, #b54747) 6%, var(--pm-surface-paper) 94%);
}

.pm-admin-alert[hidden] {
  display: none;
}

.pm-admin-alert__title {
  margin: 0;
  color: var(--book-danger, #b54747);
  font-family: var(--book-font-ui);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pm-admin-toast {
  position: fixed;
  right: max(var(--pm-space-container), 1.2rem);
  bottom: max(var(--pm-space-container), 1.2rem);
  z-index: 2147483647;
  gap: 0.18rem;
  min-width: min(22rem, calc(100vw - 2rem));
  padding: 0.9rem 1rem;
  border: 1px solid var(--pm-border-subtle);
  border-radius: var(--pm-radius-container);
  background: var(--pm-surface-paper);
  box-shadow: 0 1rem 2.4rem color-mix(in srgb, var(--book-bg) 14%, transparent 86%);
}

.pm-admin-toast--error {
  border-color: var(--book-danger, #b54747);
}

.pm-admin-toast__text {
  color: var(--book-fg);
}

.pm-admin-toast__action {
  justify-self: end;
}

@media (max-width: 699px) {
  .pm-auth-actions {
    align-items: stretch;
  }

  .pm-auth-submit {
    margin-left: 0;
  }

  .pm-auth-secondary__actions {
    justify-content: flex-start;
  }

  .pm-auth-secondary__action-link {
    margin-left: 0;
  }

  .pm-access-request-form__grid {
    grid-template-columns: 1fr;
  }

  .pm-admin-toolbar__row--primary,
  .pm-account-grid,
  .pm-admin-analytics__metrics,
  .pm-admin-dialog__grid,
  .pm-admin-copy-block__head {
    grid-template-columns: 1fr;
  }

  .pm-admin-toolbar__actions,
  .pm-admin-dialog__actions,
  .pm-account-actions,
  .pm-admin-analytics__periods {
    grid-auto-flow: row;
    grid-auto-columns: 1fr;
    justify-content: stretch;
  }

  .pm-admin-dialog__surface {
    margin: 0.9rem;
    width: auto;
  }

  .pm-admin-table__desktop {
    display: none;
  }
}

.promat-panel-dialog {
  position: fixed;
  inset: 0;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: transparent;
}

.promat-panel-dialog::backdrop {
  background: rgba(17, 23, 29, 0.26);
  opacity: 0;
  transition: opacity var(--pm-drawer-motion-duration) var(--pm-drawer-motion-easing);
}

.promat-panel-dialog[open]::backdrop,
.promat-panel-dialog.is-open::backdrop,
.promat-panel-dialog.is-closing::backdrop {
  opacity: 1;
}

.promat-panel--modal {
  height: 100%;
  width: min(22rem, calc(100vw - 1.2rem));
  margin-right: auto;
  background: var(--book-bg);
  border-right: 1px solid var(--book-border);
  box-shadow: none;
  overflow: hidden;
  transform: translateX(calc(-100% - 1.5rem));
  transition: transform var(--pm-drawer-motion-duration) var(--pm-drawer-motion-easing);
  will-change: transform;
}

.promat-panel-dialog.is-open .promat-panel--modal {
  transform: translateX(0);
}

.promat-panel__mobile-shell {
  min-height: 100%;
  overflow-y: auto;
  padding: max(var(--pm-drawer-mobile-padding-top), env(safe-area-inset-top)) var(--pm-space-container) var(--pm-space-lg);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.promat-panel__mobile-main {
  display: grid;
  align-content: start;
  gap: 1.72rem;
  flex: 1 0 auto;
}

.promat-panel__mobile-head,
.promat-panel__mobile-section {
  display: grid;
  gap: var(--pm-space-xs);
}

.promat-panel__mobile-head {
  gap: 1.72rem;
}

.promat-panel__brand-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  color: var(--book-fg);
  text-decoration: none;
  line-height: 1.1;
}

.promat-panel__brand-link:hover,
.promat-panel__brand-link:focus-visible {
  color: var(--book-fg);
  text-decoration: none;
}

.promat-panel__brand-wordmark {
  gap: 0.28rem;
  letter-spacing: var(--pm-type-brand-tracking);
  font-weight: 700;
  line-height: 1;
}

.promat-panel__brand-prefix {
  color: var(--book-fg);
}

.promat-panel__primary-tabs {
  display: flex;
  align-items: flex-end;
  gap: var(--pm-drawer-primary-tab-gap);
  margin: 0;
  padding: 0 0 0.15rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.promat-panel__primary-tabs::-webkit-scrollbar {
  display: none;
}

.promat-panel__primary-tab {
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  flex: 0 0 auto;
  min-height: var(--pm-touch-target-min);
  padding: 0 0 var(--pm-drawer-primary-tab-offset-bottom);
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.promat-panel__primary-tab:hover,
.promat-panel__primary-tab:focus-visible {
  color: var(--book-fg);
  text-decoration: none;
}

.promat-panel__primary-tab.is-active {
  color: var(--book-fg);
}

.promat-panel__primary-tab.is-active::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: -1px;
  block-size: var(--pm-drawer-primary-tab-indicator-thickness);
  border-radius: 999px;
  background: var(--promat-wordmark-accent);
}

.promat-panel__primary-tab-label {
  white-space: nowrap;
}

.promat-panel__section-label {
  margin: 0;
  color: var(--pm-text-muted-strong);
  font-family: var(--book-font-ui);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.promat-panel__section-label--utility {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
}

.promat-panel__block-divider {
  height: 1px;
  background: var(--pm-border-subtle);
}

.promat-panel__mobile-section--context {
  gap: 0.18rem;
}

.promat-panel__mobile-context-title {

  color: var(--book-fg);
  font-family: var(--book-font-ui);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.24;
}

.promat-panel__nav--mobile-context {
  gap: var(--pm-drawer-local-nav-gap);
  margin-inline-start: 0.18rem;
}

.promat-panel__nav--mobile-context .pm-nav__item {
  color: var(--book-muted);
  min-height: max(2.5rem, var(--pm-touch-target-min));
  padding-inline: 0.68rem 0.74rem;
  border-radius: var(--pm-radius-container);
  font-size: 0.92rem;
}

.promat-panel__nav--mobile-context .promat-panel__link.is-active {
  background: var(--pm-drawer-local-active-bg);
  color: var(--pm-nav-state-active-text);
}

.promat-panel__nav--mobile-context .promat-panel__link.is-active .promat-panel__item-label {
  font-weight: 600;
}

.promat-panel__mobile-utilities {
  display: grid;
  gap: var(--pm-drawer-utility-section-gap);
  margin-top: auto;
}

.promat-panel__utility-group {
  display: grid;
  gap: var(--pm-drawer-utility-label-gap);
}

.promat-panel__utility-list {
  display: grid;
  gap: 0;
}

.promat-panel__utility-link {
  display: inline-flex;
  align-items: center;
  min-height: var(--pm-touch-target-min);
  width: fit-content;
  max-width: 100%;
  padding: 0.08rem 0;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.84rem;
  line-height: 1.3;
  text-decoration: none;
}

.promat-panel__utility-link:hover,
.promat-panel__utility-link:focus-visible {
  color: var(--book-fg);
  text-decoration: none;
}

.promat-panel__theme-toggle {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  min-height: var(--pm-touch-target-min);
  justify-content: flex-start;
  padding: 0.08rem 0;
  border: 1px solid transparent;
  border-radius: var(--pm-radius-pill);
  background: transparent;
  color: var(--book-muted);
  font-family: var(--book-font-ui);
  font-size: 0.84rem;
}

.promat-panel__theme-toggle:hover,
.promat-panel__theme-toggle:focus-visible,
.promat-panel__theme-toggle[aria-pressed="true"] {
  color: var(--book-fg);
}

.promat-panel__theme-toggle[aria-pressed="true"] {
  border-color: transparent;
}

.promat-panel__theme-toggle-label {
  white-space: nowrap;
}

@media (max-width: 22.5rem) {
  .promat-panel__mobile-shell {
    padding-inline: max(1rem, calc(var(--pm-space-container) - 0.4rem));
  }

  .promat-panel__primary-tabs {
    gap: 0.95rem;
  }

  .promat-panel__primary-tab {
    font-size: 0.92rem;
  }

}

.promat-footer {
  margin-top: var(--pm-footer-margin-top);
  border-top: 1px solid var(--pm-border-subtle);
  background: var(--pm-surface-footer);
  color: var(--book-muted);
}

.promat-footer__content {
  display: grid;
  gap: var(--pm-footer-row-gap);
  width: min(100%, var(--pm-layout-shell-max-width-current));
  max-width: var(--pm-layout-shell-max-width-current);
  margin: 0 auto;
  padding: var(--pm-footer-padding-y) var(--promat-content-offset);
}

.promat-footer__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: var(--pm-footer-column-gap);
  align-items: baseline;
}

.promat-footer__row--secondary {
  align-items: start;
}

.promat-footer__title,
.promat-footer__version,
.promat-footer__meta {
  margin: 0;
  color: inherit;
}

.promat-footer__nav {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--pm-footer-nav-gap);
  margin: 0;
}

.promat-footer__link {
  display: inline-flex;
  align-items: baseline;
  justify-content: flex-start;
  min-width: 0;
  min-height: 0;
  color: inherit;
  text-decoration-line: underline;
  text-decoration-thickness: var(--pm-link-underline-thickness, from-font);
  text-underline-offset: var(--pm-link-underline-offset, 0.14em);
}

.promat-footer__link:hover,
.promat-footer__link:focus-visible {
  color: var(--book-fg);
  text-decoration-line: underline;
}

.promat-footer__nav .promat-footer__link + .promat-footer__link::before {
  content: "·";
  margin-inline: 0.42rem;
  color: var(--book-border-strong);
}

.promat-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0 var(--space-4);
  border-radius: 999px;
  border: 1px solid var(--book-border);
}

.promat-inline-link--primary {
  background: var(--book-accent);
  color: var(--promat-on-primary);
  border-color: transparent;
}

.promat-inline-link--primary:hover {
  background: var(--book-link-hover);
  color: var(--promat-on-primary);
}

.promat-inline-link--subtle {
  background: transparent;
}

.md3-button,
.md3-button--filled,
.md3-button--tonal,
.md3-button--outlined,
.md3-button--text {
  border-radius: 999px;
  box-shadow: none;
}

.md3-button--filled {
  background: var(--book-accent);
  color: var(--promat-on-primary);
}

.md3-button--tonal {
  background: var(--promat-secondary-container);
  color: var(--book-fg);
}

.md3-button--outlined {
  background: var(--pm-surface-paper);
  border-color: var(--book-border-strong);
  color: var(--book-fg);
}

.md3-button--text {
  color: var(--book-muted);
}

.md3-auth-card,
.md3-hero--card,
.md3-dialog__surface {
  background: var(--pm-surface-paper);
  border-color: var(--book-border);
}

@media (min-width: 980px) {
  .promat-topbar__menu {
    display: none;
  }

  .promat-panel-dialog {
    display: none;
  }
}

@media (max-width: 979px) {
  .promat-topbar__inner {
    gap: 0;
    padding-top: var(--pm-space-xs);
    padding-bottom: 0;
  }

  .promat-topbar__row--primary {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 0.28rem;
    min-height: calc(var(--promat-topbar-height) - var(--pm-space-xs));
    align-items: center;
  }

  .promat-topbar__brand {
    display: grid;
    grid-template-columns: var(--pm-topbar-action-size) minmax(0, 1fr);
    align-items: center;
    gap: 0.22rem;
    padding-inline-start: 0;
  }

  .promat-site-title {
    min-width: 0;
    font-size: clamp(0.8rem, 3.1vw, var(--pm-topbar-mobile-brand-size));
    line-height: 1.1;
    overflow: hidden;
  }

  .promat-site-title__text {
    gap: 0.18rem;
    transform: scaleX(0.94);
    transform-origin: left center;
  }

  .promat-topbar__actions {
    gap: var(--pm-topbar-utility-gap);
    justify-content: flex-end;
  }

  .promat-topbar__language-switch {
    gap: 0;
    padding-inline: 0;
    border-color: transparent;
    border-radius: 0;
  }

  .promat-topbar__language-link {
    min-width: var(--pm-topbar-language-mobile-min-inline);
    padding-inline: 0.12rem;
    font-size: var(--pm-topbar-language-mobile-font-size);
    border-radius: 0.7rem;
  }

  .promat-topbar__language-separator {
    font-size: 0.74rem;
    opacity: 0.68;
  }

  .promat-topbar__nav,
  .promat-panel--standard {
    display: none;
  }

  .promat-topbar__secondary-utilities {
    display: none;
  }

  .promat-topbar__action-label {
    display: none;
  }

  .promat-footer__row {
    column-gap: var(--pm-space-sm);
  }
}

@media (max-width: 767px) {
  .promat-topbar__row--primary {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    row-gap: 0;
  }

  .promat-topbar__brand {
    align-self: center;
    min-width: 0;
  }

  .promat-site-title,
  .promat-site-title__text {
    min-width: 0;
  }

  .promat-site-title__line {
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
  }

  .promat-topbar__meta {
    min-width: 0;
    max-width: 100%;
    justify-self: end;
  }

  .promat-topbar__actions {
    flex-wrap: nowrap;
    justify-content: flex-end;
    min-width: 0;
  }

  .promat-user-menu__dropdown {
    right: 0;
    left: auto;
  }

  .promat-footer__content {
    gap: var(--pm-footer-mobile-row-gap);
    padding-top: var(--pm-footer-mobile-padding-y);
    padding-bottom: var(--pm-footer-mobile-padding-y);
  }

  .promat-footer__row {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.18rem;
  }

  .promat-footer__row--primary,
  .promat-footer__meta-secondary {
    display: none;
  }

  .promat-footer__meta,
  .promat-footer__nav {
    font-size: var(--pm-footer-mobile-font-size);
    line-height: 1.35;
  }

  .promat-footer__nav {
    justify-content: flex-start;
    gap: 0;
  }

  .pm-comparison-inline-help__body {
    right: 0;
    left: auto;
    min-width: min(14rem, var(--pm-overlay-max-inline));
  }

  .pm-phenomena-overflow__menu {
    min-width: min(11rem, var(--pm-overlay-max-inline));
  }

  .pm-player-material-strip__bar,
  .pm-player-material-strip .pm-comparison-material-controls,
  .pm-player-material-strip__tasks,
  .pm-player-control-bar__row--transport,
  .pm-player-control-bar__row--settings,
  .pm-player-transport-cluster,
  .pm-player-range-field__control {
    flex-wrap: wrap;
    min-width: 0;
  }

  .pm-player-material-strip__set-inline,
  .pm-player-material-strip__set-help,
  .pm-player-material-strip__select,
  .pm-player-view-switch {
    min-width: 0;
    width: 100%;
    justify-content: flex-start;
  }

  .pm-player-view-switch__option {
    min-height: var(--pm-touch-target-min);
  }

  .pm-admin-table-wrap {
    padding-bottom: 0.2rem;
  }

  .pm-admin-table__scroll-hint {
    display: block;
  }
}

@media (max-width: 430px) {
  .promat-topbar__inner {
    padding-inline: 0.62rem;
  }

  .promat-topbar__row--primary {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 0.14rem;
  }

  .promat-topbar__brand {
    gap: 0.12rem;
  }

  .promat-topbar__language-switch {
    padding-inline: 0;
  }

  .promat-topbar__language-link {
    min-width: 1.72rem;
    padding-inline: 0.04rem;
    font-size: 0.72rem;
  }

  .promat-topbar__language-separator {
    font-size: 0.68rem;
    opacity: 0.56;
  }
}

@media (max-width: 360px) {
  .promat-topbar__inner {
    padding-inline: 0.5rem;
  }

  .promat-topbar__row--primary {
    column-gap: 0.18rem;
  }

  .promat-topbar__brand {
    gap: 0.16rem;
  }

  .promat-topbar__language-switch {
    gap: 0;
    padding-inline: 0;
  }

  .promat-topbar__language-link {
    min-width: 1.58rem;
    padding-inline: 0.02rem;
    font-size: 0.68rem;
  }
}

@media (max-width: 360px) {
  .promat-topbar__language-switch {
    margin-right: auto;
  }

  .pm-player-material-strip__set-inline {
    align-items: flex-start;
  }

  .pm-player-material-strip__set-help {
    width: auto;
  }

  .pm-player-control-bar__row--settings,
  .pm-player-range-field__control,
  .pm-player-rate-slider,
  .pm-comparison-toolbar .pm-player-control-bar__row--settings,
  .pm-comparison-toolbar .pm-player-range-field__control,
  .pm-comparison-toolbar .pm-player-rate-slider {
    grid-template-columns: 1fr;
  }

  .pm-player-field-label {
    white-space: normal;
  }

  .pm-player-meta-card__action,
  .pm-player-meta-card__profile-link {
    min-height: var(--pm-touch-target-min);
  }
}

@media (prefers-reduced-motion: reduce) {
  .promat-panel-dialog::backdrop,
  .promat-panel--modal {
    transition-duration: 1ms;
  }
}
