/* Font faces — served locally from Wise clone */

@font-face {
  font-family: 'Wise Sans';
  src: url('/static/fonts/WiseSans-Heavy.woff2') format('woff2');
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('/static/fonts/Inter-variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Base reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  background: #121511;
  font-family: 'Inter', -apple-system, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: -0.006em;
  color: #ffffff;
}

/* Bottom nav — safe area handled in CSS so env() resolves (CSSOM/inline styles ignore env()) */
.bottom-nav { padding-bottom: env(safe-area-inset-bottom, 8px); }

/* Scrollbar hidden globally */
* { scrollbar-width: none; -ms-overflow-style: none; }
*::-webkit-scrollbar { display: none; }

/* Skeleton shimmer — shared animation */
@keyframes visorShimmer {
  0%   { background-position: -200% 0 }
  100% { background-position:  200% 0 }
}

/* CC near-limit pulse */
@keyframes visorPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239,68,68,0.55) }
  50%      { box-shadow: 0 0 0 4px rgba(239,68,68,0) }
}

/* Screen-label overlay — fade+slide in, hold, fade out */
@keyframes visorScreenLabel {
  0%   { opacity: 0; transform: translate(-50%, -4px); }
  12%  { opacity: 1; transform: translate(-50%, 0); }
  78%  { opacity: 1; transform: translate(-50%, 0); }
  100% { opacity: 0; transform: translate(-50%, -2px); }
}

/* Global focus ring — keyboard-only, replaces inconsistent browser defaults */
button:focus { outline: none; }
button:focus-visible {
  outline: 2px solid #60a5fa;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Respect user motion preference (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
