/* PROMAT canonical design tokens */

:root {
  --book-accent: #2b4460;
  --book-accent-2: #4e95d9;
  --book-title-accent: #7ab0e8;
  --book-title-accent-dark: #2f6fb3;
  --promat-wordmark-accent: #a15a95;
  --promat-wordmark-accent-rgb: 161 90 149;
  --book-radius: 14px;
  --book-radius-sm: 8px;
  --book-shadow: none;
  --book-shadow-md: none;
  --book-focus: 0 0 0 3px rgba(78, 149, 217, 0.35);
  --book-adm-tint-light: 93%;
  --book-adm-tint-dark: 90%;
  --book-paper: #fbfaf8;

  --book-font-body: "Source Serif 4", Georgia, "Times New Roman", "Noto Serif", serif;
  --book-font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --book-font-code: "JetBrains Mono", "Cascadia Code", "Fira Code", Consolas, "Liberation Mono", ui-monospace, monospace;

  --promat-primary: var(--book-accent);
  --promat-secondary: var(--book-accent-2);
  --promat-primary-rgb: 43 68 96;
  --promat-secondary-rgb: 78 149 217;

  --promat-font-ui: var(--book-font-ui);
  --promat-font-content: var(--book-font-body);

  --promat-text-xs: 0.8125rem;
  --promat-text-sm: 0.9375rem;
  --promat-text-md: 1rem;
  --promat-text-lg: 1.125rem;
  --promat-text-xl: 1.375rem;
  --promat-text-2xl: 1.8rem;
  --promat-text-3xl: clamp(2.2rem, 2rem + 0.5vw, 2.75rem);

  --promat-leading-ui: 1.45;
  --promat-leading-content: 1.75;
  --promat-leading-tight: 1;

  --promat-space-1: 0.25rem;
  --promat-space-2: 0.5rem;
  --promat-space-3: 0.75rem;
  --promat-space-4: 1rem;
  --promat-space-5: 1.5rem;
  --promat-space-6: 2rem;
  --promat-space-7: 3rem;
  --promat-space-8: 4rem;
  --promat-space-9: 5rem;

  --promat-radius-sm: 0.45rem;
  --promat-radius-md: 0.8rem;
  --promat-radius-lg: 1.25rem;

  --pm-surface-neutral: transparent;
  --pm-surface-paper: color-mix(in srgb, var(--book-surface-1) 34%, var(--book-bg));
  --pm-surface-raised: color-mix(in srgb, #ffffff 10%, var(--book-bg));
  --pm-surface-tinted: color-mix(in srgb, var(--book-bg) 82%, var(--book-surface-1));
  --pm-surface-selection: color-mix(in srgb, var(--book-bg) 93%, var(--book-accent));
  --pm-surface-material: color-mix(in srgb, var(--book-bg) 76%, var(--book-paper));
  --pm-surface-interactive: color-mix(in srgb, var(--book-bg) 88%, var(--book-surface-1));
  --pm-surface-hover: color-mix(in srgb, var(--book-bg) 78%, var(--book-surface-1));
  --pm-surface-accent-hover: color-mix(in srgb, var(--book-bg) 95%, var(--promat-wordmark-accent));
  --pm-surface-accent-soft: color-mix(in srgb, var(--book-bg) 91%, var(--promat-wordmark-accent));
  --pm-surface-footer: color-mix(in srgb, var(--book-bg) 86%, var(--book-surface-1));
  --pm-teaching-audio-surface: #fff;
  --pm-teaching-audio-card-surface: #fcfcfc;
  --pm-teaching-audio-section-border: #e5e5e5;
  --pm-teaching-audio-card-border: #e8e8e8;
  --pm-teaching-audio-quote-border: #e6e6e6;
  --pm-teaching-audio-section-accent: #c7d7e8;
  --pm-teaching-audio-icon-color: #2f5f8f;
  --pm-teaching-audio-token-color: #777;
  --pm-teaching-audio-subtitle-color: #666;
  --pm-teaching-audio-linked-progress-bg: color-mix(in srgb, var(--pm-surface-paper) 84%, var(--promat-wordmark-accent) 16%);
  --pm-teaching-audio-linked-progress-bg-strong: color-mix(in srgb, var(--pm-surface-paper) 70%, var(--promat-wordmark-accent) 30%);
  --pm-teaching-audio-transcript-active-bg: color-mix(in srgb, var(--pm-teaching-audio-surface) 84%, var(--promat-wordmark-accent) 16%);
  --pm-teaching-audio-transcript-active-border: color-mix(in srgb, var(--pm-teaching-audio-quote-border) 54%, var(--promat-wordmark-accent) 46%);
  --pm-teaching-audio-transcript-active-glow: rgb(var(--promat-wordmark-accent-rgb) / 0.18);
  --pm-surface-context: color-mix(in srgb, var(--book-bg) var(--book-adm-tint-light), var(--book-adm-context));
  --pm-surface-regel: color-mix(in srgb, var(--book-bg) var(--book-adm-tint-light), var(--book-adm-regel));
  --pm-surface-tip: color-mix(in srgb, var(--book-bg) var(--book-adm-tint-light), var(--book-adm-tip));
  --pm-surface-praxis: color-mix(in srgb, var(--book-bg) var(--book-adm-tint-light), var(--book-adm-praxis));
  --pm-surface-oton: color-mix(in srgb, var(--book-bg) var(--book-adm-tint-light), var(--book-adm-oton));
  --pm-surface-expand: color-mix(in srgb, var(--book-bg) var(--book-adm-tint-light), var(--book-adm-expand));
  --pm-surface-hoermal: color-mix(in srgb, var(--book-bg) var(--book-adm-tint-light), var(--book-adm-hoermal));
  --pm-surface-weiterlesen: color-mix(in srgb, var(--book-bg) 90%, var(--book-paper));
  --pm-surface-cite: color-mix(in srgb, var(--book-bg) 32%, var(--book-adm-cite));

  --pm-icon-admonition-audio: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9v6h4l5 4V5l-5 4H5Z'/%3E%3Cpath d='M18 9.5a4.5 4.5 0 0 1 0 5'/%3E%3Cpath d='M19.8 7a7.5 7.5 0 0 1 0 10'/%3E%3C/svg%3E");
  --pm-icon-admonition-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 12.5l2 2 4-5'/%3E%3Cpath d='M12 3.75l6.5 2.35v5.34c0 4.07-2.56 7.72-6.5 8.81-3.94-1.09-6.5-4.74-6.5-8.81V6.1L12 3.75Z'/%3E%3C/svg%3E");
  --pm-icon-admonition-lightbulb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M9.8 21h4.4'/%3E%3Cpath d='M8.6 14.8c-1.28-.95-2.1-2.48-2.1-4.2a5.5 5.5 0 1 1 11 0c0 1.72-.82 3.25-2.1 4.2-.54.4-.9.99-.9 1.67V17h-5v-.53c0-.68-.36-1.27-.9-1.67Z'/%3E%3C/svg%3E");
  --pm-icon-admonition-clipboard: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4.75h6'/%3E%3Cpath d='M10 3h4a1 1 0 0 1 1 1v1.25H9V4a1 1 0 0 1 1-1Z'/%3E%3Cpath d='M8 6.25h8a2 2 0 0 1 2 2V19a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V8.25a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M9.5 12.5h5'/%3E%3Cpath d='M9.5 15.5h5'/%3E%3C/svg%3E");
  --pm-icon-admonition-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.25'/%3E%3Cpath d='M12 10.25v6'/%3E%3Cpath d='M12 7.6h.01'/%3E%3C/svg%3E");
  --pm-icon-admonition-compass: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.25'/%3E%3Cpath d='M14.9 9.1l-1.8 5.2-5.2 1.8 1.8-5.2 5.2-1.8Z'/%3E%3Cpath d='M11 13l2-2'/%3E%3C/svg%3E");
  --pm-icon-admonition-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.5 9.25c-1.5.48-2.5 1.82-2.5 3.5V16h4v-4H9.9c.1-1.01.73-1.84 1.85-2.3l-1.25-.45Z'/%3E%3Cpath d='M18.5 9.25c-1.5.48-2.5 1.82-2.5 3.5V16h4v-4h-2.1c.1-1.01.73-1.84 1.85-2.3l-1.25-.45Z'/%3E%3C/svg%3E");
  --pm-icon-admonition-book-open: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6.5c-1.55-1.1-3.47-1.65-5.75-1.65-1.02 0-1.75.82-1.75 1.85V18.6c0 .88.72 1.6 1.6 1.6 2.14 0 4.12.56 5.9 1.58V6.5Z'/%3E%3Cpath d='M12 6.5c1.55-1.1 3.47-1.65 5.75-1.65 1.02 0 1.75.82 1.75 1.85V18.6c0 .88-.72 1.6-1.6 1.6-2.14 0-4.12.56-5.9 1.58V6.5Z'/%3E%3Cpath d='M12 7.1v14.68'/%3E%3C/svg%3E");
  --pm-admonition-title-font: var(--pm-type-nav-family);
  --pm-admonition-title-size: var(--pm-type-ui-title-size);
  --pm-admonition-title-weight: 600;
  --pm-admonition-title-line-height: 1;
  --pm-admonition-title-color: var(--book-fg);
  --pm-admonition-body-font: var(--pm-type-nav-family);
  --pm-admonition-body-size: 1.08rem;
  --pm-admonition-body-line-height: 1.68;
  --pm-admonition-body-color: var(--book-fg);
  --pm-admonition-footer-size: 0.92rem;
  --pm-admonition-footer-line-height: 1.55;
  --pm-admonition-padding-inline: clamp(1rem, 0.96rem + 0.18vw, 1.2rem);
  --pm-admonition-padding-block-start: clamp(0.92rem, 0.9rem + 0.12vw, 1.06rem);
  --pm-admonition-padding-block-end: clamp(0.94rem, 0.92rem + 0.14vw, 1.1rem);
  --pm-admonition-radius: var(--pm-radius-container);
  --pm-admonition-border-width: 1px;
  --pm-admonition-border-left-width: 3px;
  --pm-admonition-header-gap: 0.82rem;
  --pm-admonition-body-gap: 0.82rem;
  --pm-admonition-footer-gap: 0.78rem;
  --pm-admonition-header-margin: 0;
  --pm-admonition-header-divider-width: 0;
  --pm-admonition-header-divider-color: transparent;
  --pm-admonition-header-divider-space-after: 0;
  --pm-admonition-header-divider-space-before: 0;
  --pm-admonition-icon-size: 1.5rem;
  --pm-admonition-icon-box-size: 1.5rem;
  --pm-admonition-action-size: max(var(--pm-touch-target-min), 2.5rem);
  --pm-admonition-action-icon-size: 1.5rem;

  --pm-admonition-hoermal-bg: color-mix(in srgb, var(--pm-surface-paper) 96%, var(--book-adm-hoermal) 4%);
  --pm-admonition-hoermal-border: color-mix(in srgb, var(--pm-border-default) 92%, var(--book-adm-hoermal) 8%);
  --pm-admonition-hoermal-accent: var(--book-adm-hoermal);
  --pm-admonition-hoermal-icon: var(--pm-icon-admonition-audio);
  --pm-admonition-hoermal-icon-color: color-mix(in srgb, var(--book-fg) 30%, var(--book-adm-hoermal) 70%);
  --pm-admonition-hoermal-title-color: var(--book-fg);
  --pm-admonition-regel-bg: color-mix(in srgb, var(--pm-surface-paper) 96%, var(--book-adm-regel) 4%);
  --pm-admonition-regel-border: color-mix(in srgb, var(--pm-border-default) 92%, var(--book-adm-regel) 8%);
  --pm-admonition-regel-accent: var(--book-adm-regel);
  --pm-admonition-regel-icon: var(--pm-icon-admonition-check);
  --pm-admonition-regel-icon-color: color-mix(in srgb, var(--book-fg) 34%, var(--book-adm-regel) 66%);
  --pm-admonition-regel-title-color: var(--book-fg);
  --pm-admonition-tip-bg: color-mix(in srgb, var(--pm-surface-paper) 96%, var(--book-adm-tip) 4%);
  --pm-admonition-tip-border: color-mix(in srgb, var(--pm-border-default) 92%, var(--book-adm-tip) 8%);
  --pm-admonition-tip-accent: var(--book-adm-tip);
  --pm-admonition-tip-icon: var(--pm-icon-admonition-lightbulb);
  --pm-admonition-tip-icon-color: color-mix(in srgb, var(--book-fg) 32%, var(--book-adm-tip) 68%);
  --pm-admonition-tip-title-color: var(--book-fg);
  --pm-admonition-praxis-bg: color-mix(in srgb, var(--pm-surface-paper) 96%, var(--book-adm-praxis) 4%);
  --pm-admonition-praxis-border: color-mix(in srgb, var(--pm-border-default) 92%, var(--book-adm-praxis) 8%);
  --pm-admonition-praxis-accent: var(--book-adm-praxis);
  --pm-admonition-praxis-icon: var(--pm-icon-admonition-clipboard);
  --pm-admonition-praxis-icon-color: color-mix(in srgb, var(--book-fg) 34%, var(--book-adm-praxis) 66%);
  --pm-admonition-praxis-title-color: var(--book-fg);
  --pm-admonition-context-bg: color-mix(in srgb, var(--pm-surface-paper) 97%, var(--book-adm-context) 3%);
  --pm-admonition-context-border: color-mix(in srgb, var(--pm-border-default) 92%, var(--book-adm-context) 8%);
  --pm-admonition-context-accent: var(--book-adm-context);
  --pm-admonition-context-icon: var(--pm-icon-admonition-info);
  --pm-admonition-context-icon-color: color-mix(in srgb, var(--book-fg) 42%, var(--book-adm-context) 58%);
  --pm-admonition-context-title-color: var(--book-fg);
  --pm-overview-bg: color-mix(in srgb, var(--pm-surface-paper) 86%, var(--promat-wordmark-accent) 14%);
  --pm-overview-accent: color-mix(in srgb, var(--promat-wordmark-accent) 70%, var(--book-fg) 30%);
  --pm-overview-title-color: var(--book-fg);
  --pm-overview-body-color: color-mix(in srgb, var(--book-fg) 88%, var(--book-muted) 12%);
  --pm-overview-divider-color: color-mix(in srgb, var(--promat-wordmark-accent) 18%, transparent);
  --pm-overview-bullet-color: var(--pm-overview-accent);
  --pm-admonition-overview-bg: var(--pm-overview-bg);
  --pm-admonition-overview-border: transparent;
  --pm-admonition-overview-accent: var(--pm-overview-accent);
  --pm-admonition-overview-icon: var(--pm-icon-admonition-compass);
  --pm-admonition-overview-icon-color: color-mix(in srgb, var(--promat-wordmark-accent) 76%, var(--book-fg) 24%);
  --pm-admonition-overview-title-color: var(--pm-overview-title-color);
  --pm-admonition-cite-bg: color-mix(in srgb, var(--pm-surface-paper) 95%, var(--book-adm-cite) 5%);
  --pm-admonition-cite-border: color-mix(in srgb, var(--pm-border-default) 91%, var(--book-adm-cite) 9%);
  --pm-admonition-cite-accent: var(--book-adm-cite);
  --pm-admonition-cite-icon: var(--pm-icon-admonition-quote);
  --pm-admonition-cite-icon-color: color-mix(in srgb, var(--book-fg) 40%, var(--book-adm-cite) 60%);
  --pm-admonition-cite-title-color: var(--book-fg);
  --pm-admonition-citation-bg: var(--pm-surface-paper);
  --pm-admonition-citation-border: color-mix(in srgb, var(--pm-border-default) 72%, transparent);
  --pm-admonition-citation-accent: color-mix(in srgb, var(--pm-border-default) 82%, transparent);
  --pm-admonition-citation-icon: var(--pm-icon-admonition-quote);
  --pm-admonition-citation-icon-color: color-mix(in srgb, var(--book-muted) 68%, var(--book-fg) 32%);
  --pm-admonition-citation-title-color: var(--book-fg);
  --pm-admonition-summary-bg: color-mix(in srgb, var(--pm-surface-paper) 98%, var(--book-bg) 2%);
  --pm-admonition-summary-border: color-mix(in srgb, var(--pm-border-default) 88%, transparent);
  --pm-admonition-summary-accent: color-mix(in srgb, var(--pm-border-default) 78%, transparent);
  --pm-admonition-summary-icon: var(--pm-icon-admonition-compass);
  --pm-admonition-summary-icon-color: color-mix(in srgb, var(--book-muted) 78%, var(--book-fg) 22%);
  --pm-admonition-summary-title-color: var(--book-fg);
  --pm-admonition-weiterlesen-bg: color-mix(in srgb, var(--pm-surface-paper) 98%, var(--book-paper) 2%);
  --pm-admonition-weiterlesen-border: color-mix(in srgb, var(--pm-border-default) 86%, transparent);
  --pm-admonition-weiterlesen-accent: color-mix(in srgb, var(--book-fg) 48%, var(--pm-border-default) 52%);
  --pm-admonition-weiterlesen-icon: var(--pm-icon-admonition-book-open);
  --pm-admonition-weiterlesen-icon-color: color-mix(in srgb, var(--book-fg) 76%, var(--book-muted) 24%);
  --pm-admonition-weiterlesen-title-color: color-mix(in srgb, var(--book-fg) 94%, var(--book-muted));
  --pm-teaching-further-reading-inline-width: 85%;
  --pm-teaching-further-reading-max-width: 56rem;
  --pm-teaching-further-reading-surface: var(--pm-admonition-weiterlesen-bg);
  --pm-teaching-further-reading-border: var(--pm-admonition-weiterlesen-border);
  --pm-teaching-further-reading-title-color: var(--pm-admonition-weiterlesen-title-color);
  --pm-teaching-further-reading-description-color: color-mix(in srgb, var(--book-fg) 70%, var(--book-muted) 30%);
  --pm-teaching-further-reading-icon-color: var(--pm-admonition-weiterlesen-icon-color);
  --pm-teaching-further-reading-divider-color: color-mix(in srgb, var(--pm-teaching-further-reading-border) 82%, transparent);
  --pm-teaching-further-reading-card-surface: var(--pm-surface-paper);
  --pm-teaching-further-reading-card-border: color-mix(in srgb, var(--pm-border-default) 90%, transparent);
  --pm-teaching-further-reading-card-accent: color-mix(in srgb, var(--pm-border-default) 82%, transparent);
  --pm-audio-section-title-font: var(--pm-admonition-title-font);
  --pm-audio-section-title-size: var(--pm-admonition-title-size);
  --pm-audio-section-title-weight: var(--pm-admonition-title-weight);
  --pm-audio-section-title-line-height: var(--pm-admonition-title-line-height);
  --pm-audio-section-title-gap: var(--pm-admonition-header-gap);
  --pm-audio-section-icon-size: var(--pm-admonition-icon-size);

  --pm-border-default: var(--book-border);
  --pm-border-fine: color-mix(in srgb, var(--book-border) 78%, transparent);
  --pm-border-strong: var(--book-border-strong);
  --pm-border-subtle: color-mix(in srgb, var(--book-border) 70%, transparent);
  --pm-border-rail-expand: var(--book-adm-expand);
  --pm-border-rail-hoermal: var(--book-adm-hoermal);
  --pm-border-rail-weiterlesen: var(--book-adm-weiterlesen);

  --pm-radius-sm: 7px;
  --pm-radius-container: 8px;
  --pm-radius-pill: 24px;
  --pm-teaching-audio-section-radius: 12px;
  --pm-teaching-audio-card-radius: 10px;

  --pm-space-xs: 12px;
  --pm-space-sm: 16px;
  --pm-space-text: 20px;
  --pm-space-container: 24px;
  --pm-space-grid: 28px;
  --pm-space-lg: 32px;
  --pm-space-xl: 48px;
  --pm-space-xxl: 60px;
  --pm-admonition-stack-max-width: var(--pm-layout-reading-width);
  --pm-admonition-stack-gap: var(--pm-space-container);
  --pm-divider-space-before: var(--pm-space-sm);
  --pm-divider-space-after: var(--pm-space-sm);
  --pm-divider-block-gap: var(--pm-divider-space-after);
  --pm-text-muted-strong: color-mix(in srgb, var(--book-muted) 28%, var(--pm-surface-paper) 72%);
  --pm-state-muted-surface: color-mix(in srgb, var(--pm-surface-neutral) 88%, var(--pm-surface-paper) 12%);
  --pm-state-muted-surface-hover: color-mix(in srgb, var(--pm-surface-neutral) 76%, var(--pm-surface-paper) 24%);
  --pm-state-muted-border: var(--pm-border-subtle);
  --pm-state-muted-text: var(--book-muted);
  --pm-state-muted-text-strong: var(--pm-text-muted-strong);
  --pm-state-selected-surface: color-mix(in srgb, var(--pm-surface-accent-soft) 28%, var(--pm-surface-paper) 72%);
  --pm-state-selected-surface-strong: color-mix(in srgb, var(--pm-surface-accent-soft) 78%, var(--pm-surface-paper) 22%);
  --pm-state-selected-border: color-mix(in srgb, var(--book-accent) 14%, transparent);
  --pm-state-selected-text: var(--book-fg);
  --pm-state-selected-accent: var(--book-accent);
  --pm-status-neutral-surface: color-mix(in srgb, var(--pm-surface-neutral) 74%, var(--pm-surface-paper) 26%);
  --pm-status-neutral-text: var(--book-muted);
  --pm-status-curated-surface: color-mix(in srgb, var(--book-accent) 14%, var(--pm-surface-paper) 86%);
  --pm-status-curated-text: var(--book-accent);
  --pm-status-custom-surface: color-mix(in srgb, var(--pm-surface-accent-soft) 34%, var(--pm-surface-paper) 66%);
  --pm-status-custom-text: var(--pm-text-accent);
  --pm-status-saved-surface: color-mix(in srgb, var(--pm-research-native-accent) 17%, var(--pm-surface-paper) 83%);
  --pm-status-saved-text: var(--pm-research-native-accent);
  --pm-status-unsaved-surface: color-mix(in srgb, var(--book-adm-danger) 16%, var(--pm-surface-paper) 84%);
  --pm-status-unsaved-text: var(--book-adm-danger);
  --pm-control-checkbox-bg: var(--pm-surface-paper);
  --pm-control-checkbox-border: var(--pm-border-subtle);
  --pm-control-checkbox-hover-bg: var(--pm-surface-hover);
  --pm-control-checkbox-hover-border: var(--pm-border-default);
  --pm-control-checkbox-checked-bg: var(--pm-surface-accent-soft);
  --pm-control-checkbox-checked-border: var(--pm-text-accent);
  --pm-control-checkbox-check: var(--pm-text-accent);
  --pm-control-checkbox-focus-outline: var(--book-accent-2);
  --pm-control-checkbox-error-bg: var(--pm-surface-paper);
  --pm-control-checkbox-error-border: var(--book-danger, #b54747);

  --pm-type-brand-family: var(--book-font-ui);
  --pm-type-brand-size: clamp(1.2rem, 1.08rem + 0.32vw, 1.42rem);
  --pm-type-brand-line: 1;
  --pm-type-brand-tracking: -0.015em;
  --pm-type-brand-weight: 700;

  --pm-type-nav-family: var(--book-font-ui);
  --pm-type-nav-size: 1rem;
  --pm-type-nav-line: 1.3;
  --pm-type-nav-tracking: 0.005em;
  --pm-type-nav-weight: 500;
  --pm-type-ui-title-size: 1.5rem;

  --pm-type-panel-family: var(--book-font-ui);
  --pm-type-panel-size: 0.95rem;
  --pm-type-panel-line: 1.35;
  --pm-type-panel-tracking: 0;
  --pm-type-panel-weight: 500;
  --pm-type-panel-section-size: 0.95rem;
  --pm-type-panel-section-line: var(--pm-type-panel-line);
  --pm-type-panel-section-tracking: 0.01em;
  --pm-type-panel-section-weight: 600;
  --pm-type-panel-language-size: 1.05rem;
  --pm-type-panel-language-line: 1.18;
  --pm-type-panel-language-tracking: 0;
  --pm-type-panel-language-weight: 600;

  --pm-type-meta-family: var(--book-font-ui);
  --pm-type-meta-size: 0.82rem;
  --pm-type-meta-line: 1.35;
  --pm-type-meta-tracking: 0.02em;
  --pm-type-meta-weight: 500;
  --pm-type-breadcrumb-family: var(--pm-type-meta-family);
  --pm-type-breadcrumb-size: var(--pm-type-meta-size);
  --pm-type-breadcrumb-line: var(--pm-type-meta-line);
  --pm-type-breadcrumb-tracking: var(--pm-type-meta-tracking);
  --pm-type-breadcrumb-weight: var(--pm-type-meta-weight);
  --pm-type-footer-title-size: 0.98rem;
  --pm-type-footer-title-line: 1.2;
  --pm-type-footer-title-weight: 600;
  --pm-type-footer-meta-size: var(--pm-type-meta-size);
  --pm-type-footer-meta-line: 1.45;
  --pm-type-footer-meta-weight: var(--pm-type-meta-weight);
  --pm-type-footer-version-size: var(--pm-type-meta-size);
  --pm-type-footer-version-line: 1.2;
  --pm-type-footer-version-weight: 500;

  --pm-type-display-family: var(--book-font-ui);
  --pm-type-display-size: clamp(2.2rem, 2rem + 0.5vw, 2.75rem);
  --pm-type-display-line: 1;
  --pm-type-display-tracking: -0.03em;
  --pm-type-display-weight: 600;

  --pm-type-reading-family: var(--book-font-body);
  --pm-type-reading-size: clamp(1.03rem, 1rem + 0.1vw, 1.1rem);
  --pm-type-reading-line: 1.72;
  --pm-type-reading-tracking: 0;
  --pm-type-reading-weight: 400;
  --pm-type-intro-family: var(--pm-type-meta-family);
  --pm-type-intro-size: clamp(0.98rem, 0.96rem + 0.08vw, 1.04rem);
  --pm-type-intro-line: 1.55;
  --pm-type-intro-tracking: 0.004em;
  --pm-type-intro-weight: 450;
  --pm-type-reading-h2-size: clamp(1.52rem, 1.42rem + 0.26vw, 1.84rem);
  --pm-type-reading-h2-line: 1.3;
  --pm-type-reading-h2-tracking: -0.012em;
  --pm-type-reading-h2-weight: 600;
  --pm-type-reading-h3-size: clamp(1.18rem, 1.14rem + 0.18vw, 1.34rem);
  --pm-type-reading-h3-line: 1.38;
  --pm-type-reading-h3-tracking: -0.006em;
  --pm-type-reading-h3-weight: 600;
  --pm-type-reading-eyebrow-size: 0.93rem;
  --pm-type-reading-eyebrow-line: 1.45;
  --pm-type-reading-eyebrow-tracking: 0.02em;
  --pm-type-reading-eyebrow-weight: 600;

  --pm-type-card-family: var(--book-font-body);
  --pm-type-card-title-size: clamp(1.08rem, 1.04rem + 0.12vw, 1.16rem);
  --pm-type-card-title-line: 1.35;
  --pm-type-card-title-tracking: -0.008em;
  --pm-type-card-title-weight: 600;
  --pm-type-card-body-size: 1rem;
  --pm-type-card-body-line: 1.62;
  --pm-type-card-body-tracking: 0;
  --pm-type-card-body-weight: 400;
  --pm-type-card-link-family: var(--book-font-body);
  --pm-type-card-link-size: 0.98rem;
  --pm-type-card-link-line: 1.42;
  --pm-type-card-link-tracking: 0;
  --pm-type-card-link-weight: 600;
  --pm-type-card-eyebrow-size: 0.88rem;
  --pm-type-card-eyebrow-line: 1.4;
  --pm-type-card-eyebrow-tracking: 0.02em;
  --pm-type-card-eyebrow-weight: 600;
  --pm-card-max-inline: 22rem;
  --pm-card-max-inline-selection: 20rem;
  --pm-card-max-inline-entry: 24rem;

  --pm-type-flow-size: var(--pm-type-reading-size);
  --pm-type-flow-line: calc(var(--pm-type-reading-size) * var(--pm-type-reading-line));
  --pm-type-container-size: var(--pm-type-card-body-size);
  --pm-type-container-line: calc(var(--pm-type-card-body-size) * var(--pm-type-card-body-line));
  --pm-type-container-title-size: var(--pm-type-card-title-size);
  --pm-type-container-title-line: calc(var(--pm-type-card-title-size) * var(--pm-type-card-title-line));
  --pm-item-content-font-family: var(--book-font-body, var(--book-font-display));
  --pm-item-content-font-weight: 500;
  --pm-item-content-font-size: 1.2em;
  --pm-item-content-line-height: 1.38;
  --pm-item-content-font-size-compare: 1.08em;
  --pm-item-content-line-height-compare: 1.34;
  --pm-focus-ring: var(--book-focus);
  --pm-shadow-card-subtle: 0 1px 2px rgba(0, 0, 0, 0.04);

  --pm-button-radius: 999px;
  --pm-button-border-width: 1px;
  --pm-button-min-touch-target: 2.75rem;
  --pm-touch-target-min: 44px;
  --pm-topbar-action-size: 44px;
  --pm-topbar-utility-gap: 8px;
  --pm-shell-top-offset: 64px;
  --pm-page-inline-padding: 16px;
  --pm-section-block-gap: 32px;
  --pm-grid-gap: 16px;
  --pm-card-grid-min-column: 100%;
  --pm-overlay-max-inline: calc(100vw - 16px);
  --pm-form-control-min-block: 44px;
  --pm-footer-link-min-block: 44px;
  --pm-button-height-large: 3.125rem;
  --pm-button-height-medium: 2.75rem;
  --pm-button-height-small: 2.25rem;
  --pm-button-padding-inline-large: 1.35rem;
  --pm-button-padding-inline-medium: 1.05rem;
  --pm-button-padding-inline-small: 0.8rem;
  --pm-button-gap: 0.5rem;
  --pm-button-icon-gap: 0.42rem;
  --pm-button-icon-size: 1.05rem;
  --pm-button-font-size-large: 1rem;
  --pm-button-font-size-medium: 0.94rem;
  --pm-button-font-size-small: 0.82rem;
  --pm-button-font-weight: 600;
  --pm-button-line-height: 1.15;
  --pm-button-transition-duration: 140ms;
  --pm-button-focus-ring-width: 3px;
  --pm-button-focus-ring-offset: 2px;
  --pm-button-focus-ring-color: color-mix(in srgb, var(--book-accent-2) 42%, transparent);
  --pm-button-group-gap-inline: var(--pm-space-sm);
  --pm-button-group-gap-block: 0.72rem;
  --pm-button-form-gap-inline: var(--pm-space-sm);
  --pm-button-form-gap-block: 0.72rem;
  --pm-button-card-gap-inline: 0.66rem;
  --pm-button-card-gap-block: 0.58rem;
  --pm-button-toolbar-gap-inline: 0.72rem;
  --pm-button-toolbar-gap-block: 0.58rem;

  --pm-button-primary-bg: var(--book-accent);
  --pm-button-primary-fg: #f8fbff;
  --pm-button-primary-border: color-mix(in srgb, var(--book-accent) 88%, var(--book-accent-2));
  --pm-button-primary-hover-bg: color-mix(in srgb, var(--book-accent) 88%, var(--book-accent-2) 12%);
  --pm-button-primary-hover-border: color-mix(in srgb, var(--book-accent) 78%, var(--book-accent-2) 22%);
  --pm-button-primary-active-bg: color-mix(in srgb, var(--book-accent) 92%, #101f33 8%);
  --pm-button-primary-active-border: color-mix(in srgb, var(--book-accent) 78%, #101f33 22%);

  --pm-button-secondary-bg: color-mix(in srgb, var(--pm-surface-paper) 92%, var(--book-bg) 8%);
  --pm-button-secondary-fg: var(--book-fg);
  --pm-button-secondary-border: var(--pm-border-subtle);
  --pm-button-secondary-hover-bg: color-mix(in srgb, var(--pm-surface-paper) 74%, var(--pm-surface-hover) 26%);
  --pm-button-secondary-hover-border: var(--pm-border-default);
  --pm-button-secondary-active-bg: color-mix(in srgb, var(--pm-surface-paper) 64%, var(--pm-surface-hover) 36%);
  --pm-button-secondary-active-border: color-mix(in srgb, var(--pm-border-default) 86%, var(--book-accent) 14%);

  --pm-button-tertiary-bg: transparent;
  --pm-button-tertiary-fg: color-mix(in srgb, var(--book-fg) 88%, var(--book-muted));
  --pm-button-tertiary-border: transparent;
  --pm-button-tertiary-hover-bg: color-mix(in srgb, var(--pm-surface-paper) 64%, var(--pm-surface-hover) 36%);
  --pm-button-tertiary-hover-border: transparent;
  --pm-button-tertiary-active-bg: color-mix(in srgb, var(--pm-surface-paper) 54%, var(--pm-surface-hover) 46%);
  --pm-button-tertiary-active-border: transparent;

  --pm-button-card-bg: color-mix(in srgb, var(--pm-surface-paper) 72%, var(--pm-surface-accent-soft) 28%);
  --pm-button-card-fg: var(--pm-text-accent);
  --pm-button-card-border: var(--pm-border-subtle);
  --pm-button-card-hover-bg: color-mix(in srgb, var(--pm-surface-paper) 56%, var(--pm-surface-accent-soft) 44%);
  --pm-button-card-hover-border: color-mix(in srgb, var(--pm-border-default) 74%, var(--promat-wordmark-accent) 26%);
  --pm-button-card-active-bg: color-mix(in srgb, var(--pm-surface-paper) 48%, var(--pm-surface-accent-soft) 52%);
  --pm-button-card-active-border: color-mix(in srgb, var(--pm-border-default) 62%, var(--promat-wordmark-accent) 38%);

  --pm-button-disabled-bg: color-mix(in srgb, var(--pm-surface-paper) 84%, var(--pm-surface-neutral) 16%);
  --pm-button-disabled-fg: var(--pm-text-muted-strong);
  --pm-button-disabled-border: color-mix(in srgb, var(--pm-border-subtle) 78%, transparent);

  --pm-interaction-preview-section-gap: var(--pm-space-xl);
  --pm-interaction-preview-row-gap-inline: 0.75rem;
  --pm-interaction-preview-row-gap-block: 0.58rem;
  --pm-interaction-preview-form-gap-inline: 0.8rem;
  --pm-interaction-preview-form-gap-block: 0.62rem;
  --pm-interaction-preview-toolbar-gap-inline: 0.7rem;
  --pm-interaction-preview-toolbar-gap-block: 0.58rem;
  --pm-interaction-preview-card-gap-inline: 0.62rem;
  --pm-interaction-preview-card-gap-block: 0.56rem;
  --pm-interaction-preview-cta-gap-inline: 0.95rem;
  --pm-interaction-preview-cta-card-margin-top: 0.45rem;

  --pm-action-button-height-large: 2.625rem;
  --pm-action-button-height-medium: 2.3rem;
  --pm-action-button-height-small: 1.98rem;
  --pm-action-button-padding-inline-large: 1.1rem;
  --pm-action-button-padding-inline-medium: 0.92rem;
  --pm-action-button-padding-inline-small: 0.72rem;
  --pm-action-button-icon-size-medium: 0.96rem;
  --pm-action-button-icon-size-small: 0.84rem;
  --pm-action-button-gap: 0.4rem;
  --pm-action-button-radius: 999px;
  --pm-action-button-border-width: 1px;
  --pm-action-button-font-size-large: 0.95rem;
  --pm-action-button-font-size-medium: 0.88rem;
  --pm-action-button-font-size-small: 0.79rem;
  --pm-action-button-font-weight: 600;
  --pm-action-button-line-height: 1.12;

  --pm-action-button-primary-bg: color-mix(in srgb, var(--book-accent) 90%, var(--book-accent-2) 10%);
  --pm-action-button-primary-fg: #f7fbff;
  --pm-action-button-primary-border: color-mix(in srgb, var(--book-accent) 82%, var(--book-accent-2) 18%);
  --pm-action-button-primary-hover-bg: color-mix(in srgb, var(--book-accent) 86%, var(--book-accent-2) 14%);
  --pm-action-button-primary-hover-border: color-mix(in srgb, var(--book-accent) 78%, var(--book-accent-2) 22%);
  --pm-action-button-primary-active-bg: color-mix(in srgb, var(--book-accent) 91%, #142437 9%);
  --pm-action-button-primary-active-border: color-mix(in srgb, var(--book-accent) 82%, #142437 18%);
  --pm-action-button-secondary-bg: color-mix(in srgb, var(--pm-surface-paper) 94%, var(--book-bg) 6%);
  --pm-action-button-secondary-fg: color-mix(in srgb, var(--book-fg) 94%, var(--book-muted));
  --pm-action-button-secondary-border: color-mix(in srgb, var(--pm-border-subtle) 88%, transparent);
  --pm-action-button-secondary-hover-bg: color-mix(in srgb, var(--pm-surface-paper) 82%, var(--pm-surface-hover) 18%);
  --pm-action-button-secondary-hover-border: color-mix(in srgb, var(--pm-border-default) 88%, transparent);
  --pm-action-button-secondary-active-bg: color-mix(in srgb, var(--pm-surface-paper) 76%, var(--pm-surface-hover) 24%);
  --pm-action-button-secondary-active-border: color-mix(in srgb, var(--pm-border-default) 76%, var(--book-accent) 24%);
  --pm-action-button-tertiary-bg: transparent;
  --pm-action-button-tertiary-fg: color-mix(in srgb, var(--book-fg) 72%, var(--book-muted));
  --pm-action-button-tertiary-border: transparent;
  --pm-action-button-tertiary-hover-bg: color-mix(in srgb, var(--pm-surface-paper) 78%, var(--pm-surface-hover) 22%);
  --pm-action-button-tertiary-hover-border: transparent;
  --pm-action-button-tertiary-active-bg: color-mix(in srgb, var(--pm-surface-paper) 70%, var(--pm-surface-hover) 30%);
  --pm-action-button-tertiary-active-border: transparent;

  --pm-nav-pill-height-medium: 2rem;
  --pm-nav-pill-height-small: 1.78rem;
  --pm-nav-pill-padding-inline-medium: 0.86rem;
  --pm-nav-pill-padding-inline-small: 0.66rem;
  --pm-nav-pill-font-size-medium: 0.85rem;
  --pm-nav-pill-font-size-small: 0.76rem;
  --pm-nav-pill-font-weight: 600;
  --pm-nav-pill-line-height: 1.1;
  --pm-nav-pill-gap: 0.3rem;
  --pm-nav-pill-arrow-gap: 0.18rem;
  --pm-nav-pill-icon-size-medium: 0.82rem;
  --pm-nav-pill-icon-size-small: 0.76rem;
  --pm-nav-pill-border-width: 1px;
  --pm-nav-pill-radius: 999px;
  --pm-nav-pill-bg: color-mix(in srgb, var(--pm-surface-paper) 90%, var(--pm-surface-accent-soft) 10%);
  --pm-nav-pill-fg: color-mix(in srgb, var(--book-fg) 88%, var(--book-muted));
  --pm-nav-pill-border: color-mix(in srgb, var(--pm-border-subtle) 92%, transparent);
  --pm-nav-pill-hover-bg: color-mix(in srgb, var(--pm-surface-paper) 82%, var(--pm-surface-hover) 18%);
  --pm-nav-pill-hover-border: color-mix(in srgb, var(--pm-border-default) 82%, transparent);
  --pm-nav-pill-active-bg: color-mix(in srgb, var(--pm-surface-paper) 76%, var(--pm-surface-hover) 24%);
  --pm-nav-pill-active-border: color-mix(in srgb, var(--pm-border-default) 72%, var(--book-accent) 28%);

  --pm-cta-link-font-size: 0.94rem;
  --pm-cta-link-font-weight: 600;
  --pm-cta-link-line-height: 1.35;
  --pm-cta-link-gap: 0.3rem;
  --pm-cta-link-arrow-gap: 0.12rem;
  --pm-link-underline-offset: 0.14em;
  --pm-link-underline-thickness: from-font;
  --pm-cta-link-primary: var(--book-fg);
  --pm-cta-link-secondary-accent: var(--book-fg);
  --pm-cta-link-hover: var(--pm-text-accent);
  --pm-cta-link-hover-accent: var(--pm-text-accent);

  --pm-interaction-disabled-bg: color-mix(in srgb, var(--pm-surface-paper) 88%, var(--pm-surface-neutral) 12%);
  --pm-interaction-disabled-fg: var(--pm-text-muted-strong);
  --pm-interaction-disabled-border: color-mix(in srgb, var(--pm-border-subtle) 76%, transparent);
  --pm-interaction-focus-ring-width: 3px;
  --pm-interaction-focus-ring-offset: 2px;
  --pm-interaction-focus-ring-color: color-mix(in srgb, var(--book-accent-2) 38%, transparent);
  --pm-interaction-hover-duration: 140ms;
  --pm-interaction-active-duration: 110ms;

  --pm-nav-item-min-height: var(--pm-touch-target-min);
  --pm-nav-item-padding-y: 0.52rem;
  --pm-nav-item-padding-x: 0.72rem;
  --pm-nav-item-radius: 10px;
  --pm-nav-state-hover-bg: var(--pm-surface-accent-hover);
  --pm-nav-state-hover-border: transparent;
  --pm-nav-state-active-bg: var(--pm-surface-accent-soft);
  --pm-nav-state-active-border: transparent;
  --pm-nav-state-active-line: transparent;
  --pm-nav-state-active-text: var(--pm-text-accent);
  --pm-text-accent: var(--promat-wordmark-accent);
  --pm-text-intro: var(--book-muted);
  --pm-breadcrumb-text: var(--book-muted);
  --pm-breadcrumb-current-text: var(--book-fg);
  --pm-breadcrumb-separator: color-mix(in srgb, var(--book-muted) 48%, transparent);
  --pm-breadcrumb-link-hover: var(--promat-wordmark-accent);
  --pm-panel-stack-gap: var(--pm-space-lg);
  --pm-panel-stack-gap-compact: var(--pm-space-sm);
  --pm-panel-context-gap: 0.5rem;
  --pm-panel-context-gap-compact: var(--promat-space-1);
  --pm-panel-context-padding-bottom: 0.72rem;
  --pm-panel-context-padding-bottom-compact: var(--promat-space-2);
  --pm-panel-context-title-gap: 0.44rem;
  --pm-panel-context-title-min-height: 1.62rem;
  --pm-panel-context-rule-color: var(--pm-border-subtle);
  --pm-content-header-breadcrumb-gap: var(--promat-space-2);
  --pm-content-header-breadcrumb-item-gap: var(--promat-space-2);
  --pm-content-header-back-link-gap: var(--pm-space-sm);
  --pm-content-header-breadcrumb-title-gap: var(--pm-space-sm);
  --pm-content-header-title-intro-gap: var(--promat-space-3);
  --pm-content-header-padding-bottom: var(--pm-space-container);
  --pm-content-header-actions-gap: var(--pm-space-sm);
  --pm-reading-paragraph-gap: var(--promat-space-3);
  --pm-reading-heading-gap-before-h2: var(--pm-space-container);
  --pm-reading-heading-gap-after-h2: 1.2rem;
  --pm-reading-heading-gap-before-h3: var(--pm-space-text);
  --pm-reading-heading-gap-after-h3: var(--promat-space-2);
  --pm-reading-list-item-gap: var(--promat-space-2);
  --pm-literature-indent: 1.5rem;
  --pm-literature-item-gap: 0.65rem;
  --pm-literature-abbreviation-width: 5.5rem;
  --pm-literature-abbreviation-gap: 0.5rem;
  --pm-literature-abbreviation-item-gap: 0.18rem;
  --pm-card-hover-border-color: var(--pm-border-strong);
  --pm-card-hover-shadow: var(--pm-shadow-card-subtle);
  --pm-card-hover-surface: color-mix(in srgb, var(--pm-card-background) 92%, var(--pm-surface-paper));
  --pm-shell-block-start: var(--pm-space-xl);
  --pm-shell-block-start-inner: var(--pm-space-xxl);
  --pm-shell-block-start-research: var(--pm-shell-block-start-inner);
  --pm-shell-block-start-current: var(--pm-shell-block-start);
  --pm-shell-mobile-block-start: var(--pm-section-block-gap);
  --pm-shell-divider-width: 1px;
  --pm-shell-divider-color: var(--pm-border-fine);
  --pm-shell-inline-hover-padding-y: 0.34rem;
  --pm-shell-inline-hover-padding-x: 0.5rem;
  --pm-shell-inline-hover-radius: var(--pm-nav-item-radius);

  --pm-icon-size-sm: 0.95rem;
  --pm-icon-size-md: 1rem;
  --pm-icon-size-lg: 1.1rem;
  --pm-icon-stroke-color: currentColor;
  --pm-icon-menu: url('data:image/svg+xml;charset=utf-8,<svg 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"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></svg>');
  --pm-icon-theme-light: url('data:image/svg+xml;charset=utf-8,<svg 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"><circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/></svg>');
  --pm-icon-theme-dark: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/><path d="M19 3v4"/><path d="M21 5h-4"/></svg>');
  --pm-icon-login: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"/><polyline points="10 17 15 12 10 7"/><line x1="15" y1="12" x2="3" y2="12"/></svg>');
  --pm-icon-account: url('data:image/svg+xml;charset=utf-8,<svg 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"><circle cx="12" cy="8" r="4"/><path d="M6 20a6 6 0 0 1 12 0"/></svg>');
  --pm-icon-back: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="m15 18-6-6 6-6"/><path d="M9 12h10"/></svg>');
  --pm-icon-language: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Z"/><path d="M3 12h18"/><path d="M12 3a14.5 14.5 0 0 1 4 9 14.5 14.5 0 0 1-4 9 14.5 14.5 0 0 1-4-9 14.5 14.5 0 0 1 4-9Z"/></svg>');
  --pm-icon-project: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M3 7.5A2.5 2.5 0 0 1 5.5 5H10l2 2h6.5A2.5 2.5 0 0 1 21 9.5v8A2.5 2.5 0 0 1 18.5 20h-13A2.5 2.5 0 0 1 3 17.5z"/><path d="M3 9h18"/></svg>');
  --pm-icon-research: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M6 18h8"/><path d="M3 22h18"/><path d="M14 22a7 7 0 1 0 0-14h-1"/><path d="M9 14h2"/><path d="M9 11h4"/><path d="M9 8h6"/></svg>');
  --pm-icon-teaching: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M12 7v14"/><path d="M3 18V5a2 2 0 0 1 2-2h7"/><path d="M21 18V5a2 2 0 0 0-2-2h-7"/><path d="M3 18a2 2 0 0 0 2 2h7"/><path d="M21 18a2 2 0 0 1-2 2h-7"/></svg>');
  --pm-icon-start: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M3 11.5 12 4l9 7.5"/><path d="M5 10.5V20h14v-9.5"/></svg>');
  --pm-icon-lock: url('data:image/svg+xml;charset=utf-8,<svg 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"><rect x="5" y="11" width="14" height="10" rx="2" ry="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></svg>');
  --pm-icon-legal: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><path d="M14 2v6h6"/><path d="M8 13h8"/><path d="M8 17h5"/></svg>');
  --pm-icon-play: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"><path d="M8 5.14v13.72a1 1 0 0 0 1.53.85l10.3-6.86a1 1 0 0 0 0-1.66L9.53 4.29A1 1 0 0 0 8 5.14Z"/></svg>');
  --pm-icon-pause: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"><rect x="6" y="5" width="4" height="14" rx="1"/><rect x="14" y="5" width="4" height="14" rx="1"/></svg>');
  --pm-icon-download: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M12 3v12"/><path d="m7 10 5 5 5-5"/><path d="M5 21h14"/></svg>');
  --pm-icon-volume: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M11 5 6 9H3v6h3l5 4z"/><path d="M15.5 8.5a5 5 0 0 1 0 7"/><path d="M18.5 5.5a9 9 0 0 1 0 13"/></svg>');
  --pm-icon-speed: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M4 19a8 8 0 1 1 16 0"/><path d="M12 13l4-4"/><path d="M12 7h.01"/></svg>');
  --pm-icon-switch: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M7 7h11"/><path d="m14 4 4 3-4 3"/><path d="M17 17H6"/><path d="m10 14-4 3 4 3"/></svg>');
  --pm-icon-edit: url('data:image/svg+xml;charset=utf-8,<svg 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"><path d="M12 20h9"/><path d="M16.5 3.5a2.12 2.12 0 1 1 3 3L7 19l-4 1 1-4z"/></svg>');
  --pm-icon-settings: url('data:image/svg+xml;charset=utf-8,<svg 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"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09a1.65 1.65 0 0 0 1.51-1 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33h.01a1.65 1.65 0 0 0 .99-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51h.01a1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82v.01a1.65 1.65 0 0 0 1.51.99H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>');

  --pm-layout-reading-width: 72ch;
  --pm-layout-panel-width-current: var(--promat-panel-width);
  --pm-layout-content-width-current: var(--promat-content-width);
  --pm-layout-shell-gap-current: var(--promat-shell-gap);
  --pm-layout-shell-max-width-current: calc(var(--pm-layout-panel-width-current) + var(--pm-layout-content-width-current) + var(--pm-layout-shell-gap-current) + (2 * var(--promat-shell-inline-padding)));
  --pm-layout-feature-width: var(--pm-layout-content-width-current);
  --pm-layout-section-gap: var(--pm-space-xl);
  --pm-inner-shell-panel-width: 16rem;
  --pm-inner-shell-content-width: 68rem;
  --pm-inner-shell-gap: var(--pm-space-xxl);
  --pm-inner-shell-max-width: calc(var(--pm-inner-shell-panel-width) + var(--pm-inner-shell-content-width) + var(--pm-inner-shell-gap) + (2 * var(--promat-shell-inline-padding)));
  --pm-research-sidebar-width: var(--pm-inner-shell-panel-width);
  --pm-research-content-width: var(--pm-inner-shell-content-width);
  --pm-research-shell-gap: var(--pm-inner-shell-gap);
  --pm-research-shell-max-width: var(--pm-inner-shell-max-width);
  --pm-research-grid-min: 16rem;
  --pm-research-speaker-card-min: 16.5rem;
  --pm-research-speaker-card-max: 18.75rem;
  --pm-research-table-action-width: 10rem;
  --pm-research-task-panel-min: 15rem;
  --pm-filter-grid-min: 14rem;
  --pm-chip-min-height: 1.82rem;
  --pm-chip-padding-inline: 0.7rem;
  --pm-chip-font-size: 0.82rem;
  --pm-chip-gap: 0.45rem;
  --pm-chip-zone-padding-block: 0.15rem 0.4rem;
  --pm-badge-min-height: 2rem;
  --pm-badge-padding-inline: 0.72rem;
  --pm-badge-font-size: var(--pm-type-meta-size);
  --pm-card-accent-bar-thickness: 0.5rem;
  --pm-research-native-accent: #18677A;
  --pm-research-level-a1: #D8BED2;
  --pm-research-level-a2: #C896BC;
  --pm-research-level-b1: #B26FA4;
  --pm-research-level-b2: #A15A95;
  --pm-research-level-c1: #8A477E;
  --pm-research-level-c2: #6F3565;
  --pm-speaker-level-a1: var(--pm-research-level-a1);
  --pm-speaker-level-a2: var(--pm-research-level-a2);
  --pm-speaker-level-b1: var(--pm-research-level-b1);
  --pm-speaker-level-b2: var(--pm-research-level-b2);
  --pm-speaker-level-c1: var(--pm-research-level-c1);
  --pm-speaker-level-c2: var(--pm-research-level-c2);
  --pm-research-level-badge-text: #4A2D47;
  --pm-inner-shell-sidebar-offset: var(--pm-space-lg);
  --pm-inner-shell-divider-gap: var(--pm-space-lg);
  --pm-research-sidebar-offset: var(--pm-inner-shell-sidebar-offset);
  --pm-research-sidebar-divider-gap: var(--pm-inner-shell-divider-gap);

  --promat-shell-gap: var(--pm-space-xl);
  --promat-shell-inline-padding: var(--promat-content-offset);
  --promat-shell-axis-offset: var(--pm-space-xs);
  --pm-topbar-row-gap: 0;
  --pm-topbar-padding-top: var(--promat-space-3);
  --pm-topbar-padding-bottom: var(--pm-space-sm);
  --pm-topbar-primary-min-height: calc(2.3rem + var(--pm-space-xs));
  --pm-topbar-column-gap: var(--pm-space-xl);
  --pm-topbar-brand-gap: var(--pm-space-sm);
  --pm-topbar-nav-gap: var(--pm-space-lg);
  --pm-topbar-nav-zone-padding-inline: var(--pm-space-xl);
  --pm-topbar-border-width: 1px;
  --pm-topbar-border-color: var(--book-border);
  --pm-topbar-secondary-min-height: 1.85rem;
  --pm-topbar-link-offset-bottom: 0.18rem;
  --pm-topbar-active-line-thickness: 2px;
  --pm-topbar-mobile-brand-size: clamp(1.25rem, 5vw, 1.45rem);
  --pm-mobile-brand-font-size: var(--pm-topbar-mobile-brand-size);
  --pm-mobile-brand-word-gap: 0.21em;
  --pm-mobile-brand-line-height: 1.05;
  --pm-mobile-brand-scale-x: 0.94;
  --pm-topbar-language-mobile-font-size: 0.78rem;
  --pm-topbar-language-mobile-min-inline: 2rem;
  --pm-drawer-mobile-padding-top: 2.1rem;
  --pm-drawer-brand-size: 1.46rem;
  --pm-drawer-primary-tab-gap: clamp(1.25rem, 3vw, 1.35rem);
  --pm-drawer-primary-tab-offset-bottom: var(--pm-topbar-link-offset-bottom);
  --pm-drawer-primary-tab-indicator-thickness: 2px;
  --pm-drawer-local-nav-gap: 0.08rem;
  --pm-drawer-local-active-bg: color-mix(in srgb, var(--pm-surface-accent-soft) 72%, var(--pm-surface-paper) 28%);
  --pm-drawer-utility-section-gap: 0.58rem;
  --pm-drawer-utility-label-gap: 0.16rem;
  --pm-drawer-utility-gap: 0.16rem;
  --pm-drawer-motion-duration: 220ms;
  --pm-drawer-motion-easing: cubic-bezier(0.22, 1, 0.36, 1);
  --pm-footer-margin-top: var(--pm-space-xxl);
  --pm-footer-padding-y: var(--pm-space-container);
  --pm-footer-row-gap: var(--promat-space-2);
  --pm-footer-column-gap: var(--pm-space-container);
  --pm-footer-nav-gap: var(--promat-space-2);
  --pm-footer-mobile-font-size: 0.84375rem;
  --pm-footer-mobile-padding-y: var(--pm-space-sm);
  --pm-footer-mobile-row-gap: var(--promat-space-1);
  --promat-topbar-height-desktop: calc(var(--pm-topbar-padding-top) + var(--pm-topbar-primary-min-height) + var(--pm-topbar-padding-bottom));
  --promat-topbar-height-mobile: 4rem;
  --promat-topbar-height: var(--promat-topbar-height-desktop);
  --promat-topbar-blur: 0.4rem;
  --promat-topbar-z-index: 4;
  --promat-panel-width: 14.5rem;
  --promat-content-width: 60rem;
  --promat-reading-width: var(--pm-layout-reading-width);
  --promat-content-offset: clamp(1rem, 2vw, 2rem);
  --promat-shell-max-width: calc(var(--promat-panel-width) + var(--promat-content-width) + var(--promat-shell-gap) + (2 * var(--promat-shell-inline-padding)));

  --promat-transition-fast: 160ms ease;
  --promat-transition-slow: 240ms ease;
}

@media (min-width: 980px) {
  :root {
    --promat-shell-inline-padding: max(var(--promat-content-offset), var(--pm-space-container));
  }
}

@media (max-width: 979px) {
  :root {
    --promat-topbar-height: var(--promat-topbar-height-mobile);
    --promat-shell-axis-offset: 0px;
    --promat-shell-inline-padding: var(--pm-page-inline-padding);
    --pm-shell-block-start-current: var(--pm-shell-mobile-block-start);
  }
}

@media (max-width: 430px) {
  :root {
    --pm-mobile-brand-font-size: clamp(1.16rem, 4.65vw, 1.3rem);
    --pm-mobile-brand-word-gap: 0.19em;
    --pm-mobile-brand-scale-x: 0.92;
  }
}

@media (max-width: 360px) {
  :root {
    --pm-mobile-brand-font-size: clamp(1.125rem, 5.05vw, 1.18rem);
    --pm-mobile-brand-word-gap: 0.18em;
    --pm-mobile-brand-scale-x: 0.89;
  }
}

:root,
html[data-theme="light"],
html[data-theme="auto"][data-system-dark="false"] {
  --book-bg: #f7f6f3;
  --book-surface-1: #eeecea;
  --book-surface-2: #e3e0db;
  --book-fg: #1c1c1c;
  --book-muted: #5a5855;
  --book-border: #d5d2cc;
  --book-border-strong: #bcb9b4;
  --book-accent-strong: #3a5a7a;
  --nav-active-bg: rgba(43, 68, 96, 0.1);
  --nav-hover-bg: rgba(43, 68, 96, 0.06);
  --code-bg: #ece9e4;
  --code-inline-bg: rgba(0, 0, 0, 0.05);
  --book-link: #2b4460;
  --book-link-hover: #4e95d9;
  --book-link-dark: #1e324a;
  --hairline-color: rgba(0, 0, 0, 0.08);
  --book-adm-info: #1a6d8e;
  --book-adm-note: #2b4460;
  --book-adm-success: #27a577;
  --book-adm-warning: #8a5f18;
  --book-adm-danger: #8a2020;
  --book-adm-details: #4e95d9;
  --book-adm-context: #2b5f78;
  --book-adm-regel: #2e6440;
  --book-adm-tip: #1e7a4e;
  --book-adm-praxis: #7a4e18;
  --book-adm-hoermal: #4f6b88;
  --book-adm-expand: #3f6a72;
  --book-adm-expand-tint: #d9d4c8;
  --book-adm-oton: #7a2e52;
  --book-adm-cite: #e6eaeb;
  --book-adm-weiterlesen: #1c1a20;
  --promat-topbar-bg-solid: rgba(253, 252, 252, 0.94);
  --promat-topbar-bg-blur: rgba(253, 252, 252, 0.7);
  --pm-admonition-citation-bg: #fff;
  --pm-admonition-citation-border: #e5e5e5;
  --pm-admonition-citation-accent: #e5e5e5;
}

html[data-theme="dark"],
html[data-theme="auto"][data-system-dark="true"] {
  --book-bg: #1a1d22;
  --book-surface-1: #20242b;
  --book-surface-2: #262b34;
  --book-fg: #e7e9ee;
  --book-muted: rgba(231, 233, 238, 0.74);
  --book-border: rgba(255, 255, 255, 0.1);
  --book-border-strong: rgba(255, 255, 255, 0.16);
  --book-accent: #7ab0e8;
  --book-accent-strong: #9cc9f3;
  --book-accent-2: #5a9fd4;
  --nav-active-bg: rgba(122, 176, 232, 0.14);
  --nav-hover-bg: rgba(122, 176, 232, 0.09);
  --code-bg: #15171c;
  --code-inline-bg: rgba(255, 255, 255, 0.06);
  --book-link: #7ab0e8;
  --book-link-hover: #a8ccf0;
  --book-link-dark: #5a96d8;
  --hairline-color: rgba(255, 255, 255, 0.08);
  --book-adm-info: #5ab0d0;
  --book-adm-note: #7ab0e8;
  --book-adm-success: #3dbf8a;
  --book-adm-warning: #c49040;
  --book-adm-danger: #c45050;
  --book-adm-details: #7ab0e8;
  --book-adm-context: #5a9ab8;
  --book-adm-regel: #5aa870;
  --book-adm-tip: #4aad78;
  --book-adm-praxis: #c48840;
  --book-adm-hoermal: #82a4c7;
  --book-adm-expand: #9a88c4;
  --book-adm-expand-tint: #3a3832;
  --book-adm-oton: #c078a0;
  --book-adm-cite: #706e6c;
  --book-adm-weiterlesen: #c8c6d4;
  --promat-topbar-bg-solid: rgba(26, 29, 34, 0.94);
  --promat-topbar-bg-blur: rgba(26, 29, 34, 0.72);
  --pm-admonition-citation-bg: color-mix(in srgb, var(--book-surface-2) 86%, var(--book-bg) 14%);
  --pm-admonition-citation-border: color-mix(in srgb, var(--book-border) 94%, transparent);
  --pm-admonition-citation-accent: color-mix(in srgb, var(--book-border-strong) 90%, transparent);
  --pm-teaching-audio-surface: color-mix(in srgb, var(--book-surface-2) 86%, var(--book-bg) 14%);
  --pm-teaching-audio-card-surface: color-mix(in srgb, var(--book-surface-2) 74%, var(--book-bg) 26%);
  --pm-teaching-audio-section-border: color-mix(in srgb, var(--book-border-strong) 76%, transparent);
  --pm-teaching-audio-card-border: color-mix(in srgb, var(--book-border) 90%, transparent);
  --pm-teaching-audio-quote-border: color-mix(in srgb, var(--book-border) 84%, transparent);
  --pm-teaching-audio-section-accent: color-mix(in srgb, var(--book-accent) 58%, var(--book-surface-2) 42%);
  --pm-teaching-audio-icon-color: color-mix(in srgb, var(--book-accent) 88%, white 12%);
  --pm-teaching-audio-token-color: var(--book-muted);
  --pm-teaching-audio-subtitle-color: var(--book-muted);
  --pm-teaching-audio-linked-progress-bg: color-mix(in srgb, var(--pm-surface-paper) 76%, var(--promat-wordmark-accent) 24%);
  --pm-teaching-audio-linked-progress-bg-strong: color-mix(in srgb, var(--pm-surface-paper) 56%, var(--promat-wordmark-accent) 44%);
  --pm-teaching-audio-transcript-active-bg: color-mix(in srgb, var(--pm-teaching-audio-surface) 74%, var(--promat-wordmark-accent) 26%);
  --pm-teaching-audio-transcript-active-border: color-mix(in srgb, var(--pm-teaching-audio-quote-border) 36%, var(--promat-wordmark-accent) 64%);
  --pm-teaching-audio-transcript-active-glow: rgb(var(--promat-wordmark-accent-rgb) / 0.24);
  --pm-nav-state-hover-bg: var(--pm-surface-accent-hover);
  --pm-nav-state-hover-border: transparent;
  --pm-nav-state-active-bg: var(--pm-surface-accent-soft);
  --pm-nav-state-active-border: transparent;
  --pm-nav-state-active-line: transparent;
}

:root {
  --promat-bg: var(--book-bg);
  --promat-surface: var(--book-surface-1);
  --promat-surface-strong: var(--book-surface-2);
  --promat-surface-raised: var(--pm-surface-raised);
  --promat-panel-surface: var(--book-bg);
  --promat-fg: var(--book-fg);
  --promat-fg-soft: var(--book-muted);
  --promat-outline: color-mix(in srgb, var(--book-border) 72%, transparent);
  --promat-outline-strong: var(--book-border-strong);
  --promat-hairline: var(--hairline-color);
  --promat-link: var(--book-link);
  --promat-link-hover: var(--book-link-hover);
  --promat-focus: var(--book-accent-2);
  --promat-selection: color-mix(in srgb, var(--book-bg) 84%, var(--book-accent));
  --promat-shadow-soft: none;
  --promat-shadow-panel: none;
  --promat-workbench-tint: var(--pm-surface-interactive);
  --promat-material-tint: var(--pm-surface-material);
  --app-theme-color: var(--book-bg);
  --promat-on-primary: #ffffff;
  --promat-primary-container: color-mix(in srgb, var(--book-accent) 14%, var(--pm-surface-paper));
  --promat-on-primary-container: var(--book-fg);
  --promat-secondary-container: color-mix(in srgb, var(--book-accent-2) 16%, var(--pm-surface-paper));
  --promat-on-secondary-container: var(--book-fg);

  --space-1: var(--promat-space-1);
  --space-2: var(--promat-space-2);
  --space-3: var(--promat-space-3);
  --space-4: var(--promat-space-4);
  --space-5: var(--promat-space-5);
  --space-6: var(--promat-space-6);
  --space-8: var(--promat-space-7);
  --space-10: var(--promat-space-8);
  --space-12: var(--promat-space-9);

  --radius-sm: var(--promat-radius-sm);
  --radius-md: var(--promat-radius-md);
  --radius-lg: var(--promat-radius-lg);

  --elev-1: var(--promat-shadow-soft);
  --elev-2: var(--promat-shadow-soft);
  --elev-3: var(--promat-shadow-panel);
  --elev-4: var(--promat-shadow-panel);
  --elev-5: var(--promat-shadow-panel);

  --md-sys-color-primary: var(--promat-primary);
  --md-sys-color-on-primary: var(--promat-on-primary);
  --md-sys-color-primary-container: var(--promat-primary-container);
  --md-sys-color-on-primary-container: var(--promat-on-primary-container);
  --md-sys-color-secondary: var(--book-accent-2);
  --md-sys-color-on-secondary: var(--promat-on-primary);
  --md-sys-color-secondary-container: var(--promat-secondary-container);
  --md-sys-color-on-secondary-container: var(--promat-on-secondary-container);
  --md-sys-color-background: var(--promat-bg);
  --md-sys-color-on-background: var(--promat-fg);
  --md-sys-color-surface: var(--promat-surface);
  --md-sys-color-on-surface: var(--promat-fg);
  --md-sys-color-surface-bright: var(--promat-surface-raised);
  --md-sys-color-surface-variant: var(--promat-surface-strong);
  --md-sys-color-on-surface-variant: var(--promat-fg-soft);
  --md-sys-color-outline: var(--promat-outline-strong);
  --md-sys-color-outline-variant: var(--promat-outline);
  --md-sys-color-surface-container-lowest: var(--promat-surface-raised);
  --md-sys-color-surface-container-low: color-mix(in srgb, var(--promat-surface) 76%, var(--promat-surface-raised));
  --md-sys-color-surface-container: var(--promat-surface-strong);
  --md-sys-color-surface-container-high: color-mix(in srgb, var(--promat-surface-strong) 82%, var(--promat-surface-raised));
  --md-sys-color-surface-container-highest: color-mix(in srgb, var(--promat-surface-strong) 70%, var(--promat-outline));
  --md-sys-color-error: #b75548;
  --md-sys-color-on-error: #ffffff;
  --md-sys-color-error-container: color-mix(in srgb, #b75548 18%, var(--promat-surface-raised));
  --md-sys-color-on-error-container: var(--promat-fg);
  --md-sys-color-warning: #9b6d28;
  --md-sys-color-on-warning: #ffffff;
  --md-sys-color-warning-container: color-mix(in srgb, #9b6d28 18%, var(--promat-surface-raised));
  --md-sys-color-on-warning-container: var(--promat-fg);
  --md-sys-color-info: var(--promat-primary);
  --md-sys-color-on-info: var(--promat-on-primary);
  --md-sys-color-info-container: color-mix(in srgb, var(--promat-primary) 18%, var(--promat-surface-raised));
  --md-sys-color-on-info-container: var(--promat-fg);
  --md-sys-color-success: #5d7b53;
  --md-sys-color-on-success: #ffffff;
  --md-sys-color-success-container: color-mix(in srgb, #5d7b53 18%, var(--promat-surface-raised));
  --md-sys-color-on-success-container: var(--promat-fg);
  --md-sys-color-inverse-surface: var(--promat-fg);
  --md-sys-color-inverse-on-surface: var(--promat-surface-raised);

  --md-sys-typescale-base-font-family: var(--book-font-ui);
  --md-sys-typescale-base-font-weight-regular: 400;
  --md-sys-typescale-base-font-weight-medium: 500;
  --md-sys-typescale-headline-medium-font-family: var(--book-font-ui);
  --md-sys-typescale-headline-medium-font-weight: 600;
  --md-sys-typescale-headline-medium-font-size: clamp(1.75rem, 1.45rem + 0.5vw, 2.15rem);
  --md-sys-typescale-headline-medium-line-height: 1.16;
  --md-sys-typescale-title-large-font-family: var(--book-font-ui);
  --md-sys-typescale-title-large-font-size: 1.125rem;
  --md-sys-typescale-body-large-font-family: var(--book-font-body);
  --md-sys-typescale-body-large-line-height: 1.7;
  --md-sys-typescale-body-medium-font-family: var(--book-font-body);
  --md-sys-typescale-body-medium-line-height: 1.68;
  --md-sys-typescale-label-large-font-family: var(--book-font-ui);
  --md-sys-typescale-label-medium-font-family: var(--book-font-ui);
  --md-sys-typescale-label-small-font-family: var(--book-font-ui);

  --app-background: var(--book-bg);
  --app-color-login-bg: var(--md-sys-color-surface-container-low);
  --app-textfield-label-bg: var(--md-sys-color-surface);
  --drawer-width: var(--promat-panel-width);
  --text-page-max-width: var(--promat-reading-width);
}