/*
 * The licensed Vuexy layer is the visual authority. Route styles provide the
 * operational details first; the canonical bridge is intentionally evaluated
 * after them so a page cannot silently replace the shell, card or grid model.
 */
@layer vuexy-important-overrides, vuexy-vendor, v2-reset, v2-tokens, v2-shell, v2-components, vuexy-integration, v2-pages, v2-player, vuexy-canonical, v2-utilities, vuexy-modal-system;

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/vendor/vuexy/fonts/montserrat/Montserrat-Latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/vendor/vuexy/fonts/montserrat/Montserrat-LatinExt.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/vendor/vuexy/fonts/montserrat/Montserrat-Italic-Latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/vendor/vuexy/fonts/montserrat/Montserrat-Italic-LatinExt.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@layer v2-reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  html {
    min-height: 100%;
    font-size: 16px;
    background: #0f1422;
    scroll-behavior: smooth;
    text-size-adjust: 100%;
  }

  html[data-theme-mode="light"] {
    background: #f8f8f8;
  }

  body.v2-body {
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    font-synthesis: none;
    line-height: 1.5;
    color: var(--v2-text);
    background: var(--v2-page);
    -webkit-font-smoothing: antialiased;
  }

  .v2-body button,
  .v2-body input,
  .v2-body select,
  .v2-body textarea {
    font: inherit;
  }

  .v2-body button,
  .v2-body summary,
  .v2-body select {
    cursor: pointer;
  }

  .v2-body img,
  .v2-body svg {
    display: block;
    max-width: 100%;
  }

  .v2-body a {
    color: inherit;
    text-decoration: none;
  }

  .v2-body h1,
  .v2-body h2,
  .v2-body h3,
  .v2-body p {
    margin-block-start: 0;
  }

  .v2-body :focus-visible {
    outline: 3px solid var(--v2-focus-ring);
    outline-offset: 3px;
  }
}

@layer v2-utilities {
  .v2-body [hidden],
  .v2-body .is-hidden {
    display: none;
  }
}

@layer v2-tokens {
  .v2-body {
    --v2-accent: #d6bb18;
    --v2-success: #28c76f;
    --v2-warning: #ff9f43;
    --v2-danger: #ea5455;
    --v2-info: #00cfe8;
    --v2-accent-text: #d6bb18;
    --v2-success-text: #5ee897;
    --v2-warning-text: #ffb66e;
    --v2-danger-text: #ff8586;
    --v2-info-text: #56e6f5;
    --v2-accent-border: #d6bb18;
    --v2-focus-ring: #d6bb18;
    --v2-page: #161d31;
    --v2-shell: #283046;
    --v2-surface: #283046;
    --v2-surface-raised: #30384f;
    --v2-surface-soft: #20283a;
    --v2-border: #3b4253;
    --v2-border-soft: rgba(231, 234, 243, 0.09);
    --v2-text: #d0d2d6;
    --v2-heading: #f3f4f8;
    --v2-muted: #b4b7bd;
    --v2-faint: #a6a9b0;
    --v2-on-accent: #000000;
    --v2-overlay: rgba(6, 9, 18, 0.72);
    --v2-shadow-sm: 0 4px 24px rgba(34, 41, 47, 0.24);
    --v2-shadow-md: 0 8px 28px rgba(0, 0, 0, 0.26);
    --v2-shadow-lg: 0 18px 55px rgba(0, 0, 0, 0.34);
    --v2-radius-sm: 0.357rem;
    --v2-radius-md: 0.428rem;
    --v2-radius-lg: 0.428rem;
    --v2-radius-xl: 0.5rem;
    --v2-sidebar-width-expanded: 260px;
    --v2-sidebar-width-collapsed: 80px;
    --v2-sidebar-width: var(--v2-sidebar-width-expanded);
    --v2-topbar-height: 4.45rem;
    --v2-topbar-offset: 1.3rem;
    --v2-sticky-top-base: calc(var(--v2-topbar-offset) + var(--v2-topbar-height) + 0.75rem);
    --v2-content-max: none;
    --v2-space-1: 0.25rem;
    --v2-space-2: 0.5rem;
    --v2-space-3: 0.75rem;
    --v2-space-4: 1rem;
    --v2-space-5: 1.25rem;
    --v2-space-6: 1.5rem;
    --v2-space-8: 2rem;
    --v2-space-10: 2.5rem;
    --v2-transition: 300ms ease;
  }

  html[data-theme-mode="light"] .v2-body {
    --v2-accent-text: #746400;
    --v2-success-text: #08783e;
    --v2-warning-text: #8a4800;
    --v2-danger-text: #b42324;
    --v2-info-text: #006b78;
    --v2-accent-border: #746400;
    --v2-focus-ring: #746400;
    --v2-page: #f8f8f8;
    --v2-shell: #ffffff;
    --v2-surface: #ffffff;
    --v2-surface-raised: #ffffff;
    --v2-surface-soft: #f3f2f7;
    --v2-border: #ebe9f1;
    --v2-border-soft: rgba(47, 43, 61, 0.08);
    --v2-text: #5e5873;
    --v2-heading: #2f2b3d;
    --v2-muted: #625f6e;
    --v2-faint: #666273;
    --v2-overlay: rgba(34, 30, 51, 0.46);
    --v2-shadow-sm: 0 4px 24px rgba(34, 41, 47, 0.12);
    --v2-shadow-md: 0 8px 25px rgba(34, 41, 47, 0.1);
    --v2-shadow-lg: 0 18px 55px rgba(34, 41, 47, 0.16);
  }

  html[data-theme-mode="dark"] .v2-body {
    --v2-accent-text: var(--v2-theme-dark-accent-text, #d6bb18);
    --v2-accent-border: var(--v2-theme-dark-accent-border, #d6bb18);
    --v2-focus-ring: var(--v2-theme-dark-focus-ring, #d6bb18);
    --v2-page: var(--v2-theme-dark-page, #161d31);
    --v2-shell: var(--v2-theme-dark-shell, #283046);
    --v2-surface: var(--v2-theme-dark-surface, #283046);
    --v2-surface-raised: var(--v2-theme-dark-raised, #30384f);
    --v2-surface-soft: var(--v2-theme-dark-soft, #20283a);
  }

  html[data-theme-mode="light"] .v2-body {
    --v2-accent-text: var(--v2-theme-light-accent-text, #746400);
    --v2-accent-border: var(--v2-theme-light-accent-border, #746400);
    --v2-focus-ring: var(--v2-theme-light-focus-ring, #746400);
    --v2-page: var(--v2-theme-light-page, #f8f8f8);
    --v2-shell: var(--v2-theme-light-shell, #ffffff);
    --v2-surface: var(--v2-theme-light-surface, #ffffff);
    --v2-surface-raised: var(--v2-theme-light-raised, #ffffff);
    --v2-surface-soft: var(--v2-theme-light-soft, #f3f2f7);
  }

  html[data-theme-skin="bordered"] .v2-body {
    --v2-shadow-sm: none;
    --v2-shadow-md: none;
    --v2-shadow-lg: 0 10px 36px color-mix(in srgb, var(--v2-overlay) 18%, transparent);
  }

  html[data-theme-density="compact"] .v2-body {
    --v2-topbar-height: 3.85rem;
    --v2-space-3: 0.6rem;
    --v2-space-4: 0.8rem;
    --v2-space-5: 1rem;
    --v2-space-6: 1.2rem;
    --v2-space-8: 1.6rem;
  }

  .v2-body[data-motion-reduced="true"] *,
  .v2-body[data-motion-reduced="true"] *::before,
  .v2-body[data-motion-reduced="true"] *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }

  @media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto;
    }

    .v2-body *,
    .v2-body *::before,
    .v2-body *::after {
      scroll-behavior: auto;
      transition-duration: 0.01ms;
      animation-duration: 0.01ms;
      animation-iteration-count: 1;
    }
  }
}
