/* ═══════════════════════════════════════════════════════════════════
   Front desk demo — tokens + base
   The Apple "one focal object" register approved 2026-07-30:
   white air, navy #2540A8, Geist / Geist Mono / Instrument Serif italic.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --navy:#2540A8;
  --navy-deep:#182A6E;
  --glow:#5E7BE2;
  --peri:#9fb2f0;
  --ok:#34D399;
  --declined:#B3382C;          /* failure only — disqualifying facts, declined stamps */
  --ink:#111;
  --mut:#595959;
  --faint:#B7BDD1;
  --hair:#EDEEF3;
  --hair-soft:#F4F5F9;
  --e:cubic-bezier(.16,1,.3,1);
  --safe-b:env(safe-area-inset-bottom,0px);
}

*{box-sizing:border-box;margin:0;padding:0}

/* Load-bearing: flex/grid display on panels would silently override the
   `hidden` attribute. Without this, hiding a channel panel does nothing. */
[hidden]{display:none !important}

html{height:100%;
  /* iOS Safari "font boosting" inflates body text ~1.7x on pages that don't
     opt out — headings collided with the chrome and the page panned sideways
     on real iPhones while emulators showed nothing. Never remove this. */
  -webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  min-height:100%;
  font-family:'Geist',system-ui,sans-serif;
  background:#fff;color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
.mono{font-family:'Geist Mono',ui-monospace,monospace}
.serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400}
button{font:inherit;color:inherit}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

::selection{background:var(--navy);color:#fff}
:focus-visible{outline:2px solid var(--glow);outline-offset:2px;border-radius:4px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
