/* GUI Compatibility Foundation 1.0
   Reusable for future Valkyr Apex / Market Evidence webapps.
   Layout is based on the current app window in CSS pixels, never device names. */
:root {
  --gui-hit-aa: 24px;
  --gui-hit-preferred: 44px;
  --gui-readable-measure: 78ch;
  --gui-safe-top: env(safe-area-inset-top, 0px);
  --gui-safe-right: env(safe-area-inset-right, 0px);
  --gui-safe-bottom: env(safe-area-inset-bottom, 0px);
  --gui-safe-left: env(safe-area-inset-left, 0px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
img, svg, video, canvas { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, [role="button"] { touch-action: manipulation; }
.gui-readable { max-inline-size: var(--gui-readable-measure); }
.gui-grid > *, .gui-flex > *, .gui-responsive-item { min-inline-size: 0; }
@media (max-width: 767px) {
  input, select, textarea { font-size: max(1rem, 16px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
@media (forced-colors: active) {
  button, input, select, textarea, [role="button"] { forced-color-adjust: auto; }
}
