/* Generated text scale: scripts/generate-design-tokens.js. */
:root {
  --prologa-text-factor: 1;
  --prologa-text-19: 19px;
  --prologa-text-20: 20px;
  --prologa-text-21: 21px;
  --prologa-text-22: 22px;
  --prologa-text-24: 24px;
  --prologa-text-25: 25px;
  --prologa-text-26: 26px;
  --prologa-text-27: 27px;
  --prologa-text-28: 28px;
  --prologa-text-32: 32px;
  --prologa-text-36: 36px;
  --prologa-text-38: 38px;
  --prologa-text-40: 40px;
  --prologa-role-meta: 15px;
  --prologa-role-label: 16px;
  --prologa-role-body: 18px;
}
:root[data-text-size="larger"] {
  --prologa-text-factor: 1.15;
  --prologa-text-19: 22px;
  --prologa-text-20: 23px;
  --prologa-text-21: 24px;
  --prologa-text-22: 25.5px;
  --prologa-text-24: 27.5px;
  --prologa-text-25: 28.5px;
  --prologa-text-26: 30px;
  --prologa-text-27: 31px;
  --prologa-text-28: 32px;
  --prologa-text-32: 37px;
  --prologa-text-36: 41.5px;
  --prologa-text-38: 43.5px;
  --prologa-text-40: 46px;
  --prologa-role-meta: 17.5px;
  --prologa-role-label: 18.5px;
  --prologa-role-body: 20.5px;
}
:root[data-text-size="largest"] {
  --prologa-text-factor: 1.3;
  --prologa-text-19: 24.5px;
  --prologa-text-20: 26px;
  --prologa-text-21: 27.5px;
  --prologa-text-22: 28.5px;
  --prologa-text-24: 31px;
  --prologa-text-25: 32.5px;
  --prologa-text-26: 34px;
  --prologa-text-27: 35px;
  --prologa-text-28: 36.5px;
  --prologa-text-32: 41.5px;
  --prologa-text-36: 47px;
  --prologa-text-38: 49.5px;
  --prologa-text-40: 52px;
  --prologa-role-meta: 19.5px;
  --prologa-role-label: 21px;
  --prologa-role-body: 23.5px;
}
:root {
  --prologa-text-9: var(--prologa-role-meta);
  --prologa-text-9_5: var(--prologa-role-meta);
  --prologa-text-10: var(--prologa-role-meta);
  --prologa-text-10_5: var(--prologa-role-meta);
  --prologa-text-11: var(--prologa-role-meta);
  --prologa-text-11_5: var(--prologa-role-meta);
  --prologa-text-12: var(--prologa-role-meta);
  --prologa-text-12_5: var(--prologa-role-meta);
  --prologa-text-13: var(--prologa-role-meta);
  --prologa-text-13_5: var(--prologa-role-meta);
  --prologa-text-14: var(--prologa-role-label);
  --prologa-text-14_5: var(--prologa-role-label);
  --prologa-text-15: var(--prologa-role-label);
  --prologa-text-15_5: var(--prologa-role-label);
  --prologa-text-16: var(--prologa-role-body);
  --prologa-text-17: var(--prologa-role-body);
  --prologa-text-18: var(--prologa-role-body);
}
body { font-size: var(--prologa-role-label); }
/* Prevent iPhone input focus zoom; every step is already >= 16px. */
input, textarea, select { font-size: max(16px, var(--prologa-role-body)) !important; }
.text-size-choice { color: inherit; display: flex; flex-direction: column; gap: 8px; margin: 16px 0; font: inherit; font-size: var(--prologa-role-label); }
.text-size-note { font-size: var(--prologa-role-meta); opacity: .85; }
.text-size-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.text-size-buttons button { max-width: 100%; overflow-wrap: anywhere; min-height: 48px; padding: 10px 16px; border: 1px solid #9FA9A2; border-radius: 12px; color: #F0EEE6; background: #111B1D; font: inherit; cursor: pointer; }
.text-size-buttons button[aria-pressed="true"] { border-color: #2ED9AC; box-shadow: inset 0 0 0 1px #2ED9AC; }
.text-size-buttons button[aria-pressed="true"]::before { content: "✓ "; }
.text-size-buttons button:focus-visible { outline: 3px solid #2ED9AC; outline-offset: 3px; }
.text-size-choice [role="status"]:empty { display: none; }
.shell > .text-size-choice { padding: 0 22px; }

/* Reduce authored display sizes on narrow screens; browser and OS zoom stay available. */
@media (max-width: 375px) {
  .prologa-display { font-size: calc(1.5rem * var(--prologa-text-factor)) !important; line-height: 1.35 !important; }
}
