/* Web-only design layer.
   =========================================================================
   Loads AFTER theme.css, which is a verbatim copy of the extension's design
   system and the source of truth for every shared colour (product law 6,
   enforced by tools/sync-theme.mjs and the static checks).

   Nothing here redefines a canonical colour. This file adds only what a
   marketing site needs and an extension popup does not: display type, radii,
   elevation, glows, and the page gradient. Every value below is either new,
   or derived from a canonical token so the two can never disagree.

   If you want a different blue, or a deeper dark background, change it in
   attention_pro_extension/theme.css so all three surfaces move together.
   Overriding it here would make the website the odd one out.
   ========================================================================= */

/* ---------- self-hosted type ----------
   Served from our own origin, never a font CDN. A third-party request on
   every page view would leak the visitor's IP to another company, which is a
   strange thing for a site whose main claim is that detection runs on your
   own device. These are the latin variable subsets; if a file is ever
   missing the stacks below fall through to the system fonts and the page is
   still perfectly readable. */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('fonts/inter-var-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
  src: url('fonts/outfit-var-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url('fonts/jetbrains-mono-var-latin.woff2') format('woff2');
}

:root {
  /* Inter and Outfit lead; the tail is the extension's stack verbatim, so a
     missing font file lands exactly where the extension already lives. */
  --font: 'Inter', -apple-system, "Segoe UI Variable", "Segoe UI", system-ui, Roboto, sans-serif;
  --font-display: 'Outfit', 'Inter', -apple-system, "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  --mono: 'JetBrains Mono', "Cascadia Code", ui-monospace, "SF Mono", Consolas, monospace;

  /* Surfaces the site needs beyond the extension's two. */
  --surface-3: #e2e5e9;
  --surface-card: var(--surface);
  --surface-glass: rgba(255, 255, 255, 0.85);
  --border-light: rgba(226, 229, 233, 0.6);
  --border-glow: rgba(47, 111, 237, 0.3);

  /* Interactive + glow, derived from the canonical accent (#2f6fed). */
  --accent-hover: #2558c4;
  --accent-glow: rgba(47, 111, 237, 0.18);
  --green-glow: rgba(26, 158, 92, 0.15);
  --amber-glow: rgba(181, 126, 16, 0.15);
  --red-glow: rgba(217, 61, 66, 0.15);

  /* Elevation. --shadow itself stays as theme.css defines it. */
  --shadow-sm: 0 1px 2px rgba(20, 24, 33, 0.05);
  --shadow-lg: 0 4px 16px rgba(20, 24, 33, 0.08), 0 24px 48px rgba(20, 24, 33, 0.08);
  --shadow-glow: 0 0 40px rgba(47, 111, 237, 0.15);

  /* The page wash. Fades to the canonical --bg (#f6f7f9) at alpha 0. */
  --bg-gradient:
    radial-gradient(circle at 50% 0%, rgba(47, 111, 237, 0.08) 0%, rgba(246, 247, 249, 0) 70%),
    radial-gradient(circle at 100% 30%, rgba(26, 158, 92, 0.05) 0%, rgba(246, 247, 249, 0) 50%);

  /* Geometry. 999 pills and 14px cards are the law; the rest is web scale. */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;

  --transition-fast: 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-normal: 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-smooth: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Dark values for the web-only tokens. Written once as a custom property
   block per selector, mirroring how theme.css handles its three states:
   system default, then the two explicit overrides. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface-3: #303640;
    --surface-glass: rgba(28, 31, 37, 0.85);
    --border-light: rgba(46, 51, 60, 0.6);
    --border-glow: rgba(91, 141, 239, 0.35);
    --accent-hover: #739ff3;
    --accent-glow: rgba(91, 141, 239, 0.25);
    --green-glow: rgba(61, 204, 133, 0.2);
    --amber-glow: rgba(224, 168, 62, 0.2);
    --red-glow: rgba(242, 102, 105, 0.2);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5), 0 32px 64px rgba(0, 0, 0, 0.5);
    --shadow-glow: 0 0 50px rgba(91, 141, 239, 0.22);
    --bg-gradient:
      radial-gradient(circle at 50% 0%, rgba(91, 141, 239, 0.12) 0%, rgba(19, 21, 25, 0) 70%),
      radial-gradient(circle at 100% 30%, rgba(61, 204, 133, 0.07) 0%, rgba(19, 21, 25, 0) 50%);
  }
}

html[data-theme="dark"] {
  --surface-3: #303640;
  --surface-glass: rgba(28, 31, 37, 0.85);
  --border-light: rgba(46, 51, 60, 0.6);
  --border-glow: rgba(91, 141, 239, 0.35);
  --accent-hover: #739ff3;
  --accent-glow: rgba(91, 141, 239, 0.25);
  --green-glow: rgba(61, 204, 133, 0.2);
  --amber-glow: rgba(224, 168, 62, 0.2);
  --red-glow: rgba(242, 102, 105, 0.2);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5), 0 32px 64px rgba(0, 0, 0, 0.5);
  --shadow-glow: 0 0 50px rgba(91, 141, 239, 0.22);
  --bg-gradient:
    radial-gradient(circle at 50% 0%, rgba(91, 141, 239, 0.12) 0%, rgba(19, 21, 25, 0) 70%),
    radial-gradient(circle at 100% 30%, rgba(61, 204, 133, 0.07) 0%, rgba(19, 21, 25, 0) 50%);
}

/* ---------- base ---------- */

html {
  scroll-behavior: smooth;
  color-scheme: light dark;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

body {
  background-image: var(--bg-gradient);
  background-attachment: fixed;
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
  -moz-osx-font-smoothing: grayscale;
}

/* The extension's timers are thin, tabular and count up. Same here. */
.tabular-nums {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
