/* Qaz.pet public token layer.
   This file owns the final public palette and shell geometry for routes that
   also load product-polish.css. Keep component selectors out of this file. */

:root {
  --font-sans: "Onest", "Inter", "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Onest", "Inter", "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --background: 42 22% 97%;
  --foreground: 216 19% 14%;
  --card: 0 0% 100%;
  --card-foreground: 216 19% 14%;
  --border-token: 36 14% 86%;
  --muted: 40 17% 93%;
  --muted-foreground: 214 8% 39%;
  --primary: 32 90% 37%;
  --primary-foreground: 0 0% 100%;
  --secondary: 151 18% 91%;
  --secondary-foreground: 154 25% 19%;
  --ring: 32 90% 37%;
  --accent-hover: hsl(30 92% 31%);
  --accent-light: hsl(37 90% 94%);
  --border-light: hsl(38 17% 91%);
  --product-ink: hsl(216 19% 14%);
  --product-sage: hsl(151 28% 33%);
  --product-sage-soft: hsl(148 30% 94%);
  --product-sky: hsl(202 42% 36%);
  --product-sky-soft: hsl(202 48% 95%);
  --product-coral: hsl(8 65% 48%);
  --product-coral-soft: hsl(8 74% 96%);
  --product-violet: hsl(257 28% 43%);
  --product-violet-soft: hsl(257 42% 96%);
  --shadow-sm: 0 1px 2px hsl(216 19% 14% / 0.04), 0 8px 24px hsl(216 19% 14% / 0.04);
  --shadow-md: 0 2px 4px hsl(216 19% 14% / 0.05), 0 16px 36px hsl(216 19% 14% / 0.08);
  --shadow-lg: 0 4px 8px hsl(216 19% 14% / 0.06), 0 24px 56px hsl(216 19% 14% / 0.12);
  /* Product-owned task-frame rhythm; mapped to the AVDS compact/section scale. */
  --qpet-space-task-inline: 12px;
  --qpet-space-task-block: 24px;
  --qpet-space-task-section: 32px;
  --header-h: 64px;
  /* Layer registry: components may use these names, never ad-hoc integers. */
  --z-sunken: 0;
  --z-raised: 1;
  --z-content-overlay: 2;
  --z-card-badge: 5;
  --z-card-action: 10;
  --z-card-utility: 12;
  --z-filter-sticky: 50;
  --z-header: 100;
  --z-mobile-backdrop: 180;
  --z-mobile-sheet: 190;
  --z-navigation: 200;
  --z-install-banner: 1200;
  --z-quiz-backdrop: 1400;
  --z-quiz-dialog: 1450;
  --z-modal: 1500;
  --z-toast: 2000;
}

/* AV DS map theme: calm cartographic surfaces with the same semantic roles
   as the institutional shell. It is intentionally token-only until a
   synchronized map/list surface is introduced. */
:root[data-theme="map"] {
  --background: 206 42% 96%;
  --foreground: 213 32% 18%;
  --card: 0 0% 100%;
  --card-foreground: 213 32% 18%;
  --border-token: 207 26% 82%;
  --muted: 207 30% 91%;
  --muted-foreground: 213 18% 39%;
  --primary: 202 72% 36%;
  --primary-foreground: 0 0% 100%;
  --secondary: 151 24% 88%;
  --secondary-foreground: 154 28% 20%;
  --ring: 202 72% 36%;
  --accent-hover: hsl(202 74% 29%);
  --accent-light: hsl(202 70% 92%);
  --product-sky: hsl(202 72% 36%);
  --product-sky-soft: hsl(202 68% 93%);
  --map-land: hsl(93 30% 82%);
  --map-water: hsl(201 58% 84%);
  --map-route: hsl(202 72% 36%);
  --map-pin: hsl(8 65% 48%);
}

@media (max-width: 760px) {
  :root {
    --header-h: calc(56px + env(safe-area-inset-top, 0px));
  }
}

@media (max-width: 719px) {
  :root {
    --header-h: calc(54px + env(safe-area-inset-top, 0px));
    --bottom-nav-h: 64px;
  }
}
