* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: #e8ebf1; }
body { font-family: var(--pm-font); color: var(--pm-ink); -webkit-font-smoothing: antialiased; overscroll-behavior: none; }
button, input { font: inherit; }
button { color: inherit; border: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible { outline: 3px solid rgba(36, 92, 214, 0.3); outline-offset: 2px; }
button:disabled { cursor: default; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin: 0; }
svg { display: block; }
.pm-skip-link { position: fixed; left: 16px; top: -60px; z-index: 999; padding: 12px 16px; border-radius: 12px; background: white; color: var(--pm-blue); }
.pm-skip-link:focus { top: 16px; }
.pm-boot { position: fixed; inset: 0; display: grid; place-content: center; gap: 16px; text-align: center; color: var(--pm-ink); }
.pm-boot span { width: 48px; height: 48px; justify-self: center; border: 3px solid rgba(23, 70, 176, .18); border-top-color: var(--pm-blue); border-radius: 50%; animation: pm-spin .8s linear infinite; }
.pm-icon { flex: 0 0 auto; }
@keyframes pm-spin { to { transform: rotate(360deg); } }
