:root {
  --ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --overlay-ui-font: var(--ui-font);
  --type-title-size: clamp(2rem, 4.8vw, 3.2rem);
  --type-subtitle-size: clamp(1rem, 1.35vw, 1.08rem);
  --type-body-size: 1rem;
  --type-title-weight: 700;
  --type-subtitle-weight: 600;
  --type-body-weight: 400;
}
[hidden] { display: none !important; }
button, input, select { font-family: var(--ui-font); }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
body { font-family: var(--ui-font); font-size: var(--type-body-size); }
h2, h3 { font-size: var(--type-subtitle-size); font-weight: 700; }
button, .dock-chip, a.back { min-height: 44px; }
button:disabled { opacity: .6; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
