/* Campylot · v1.1.0 · fonte legível em tokens.json.
   Importe depois de carregar as fontes locais. Tokens não aplicam reset global. */
:root {
  --cp-white: #FFFFFF;
  --cp-navy-950: #0B1124;
  --cp-navy-900: #101B3D;
  --cp-navy-850: #111B35;
  --cp-navy-800: #182643;
  --cp-blue-50: #E9F0FF;
  --cp-blue-100: #D8E4FF;
  --cp-blue-300: #8EACFF;
  --cp-blue-400: #6C92FF;
  --cp-blue-600: #245BFF;
  --cp-blue-700: #1642C7;
  --cp-blue-800: #12359C;
  --cp-paper: #F6F8FC;
  --cp-ink-muted: #55627C;
  --cp-line: #DCE3F1;
  --cp-control: #7887A4;
  --cp-amber: #FFC861;
  --cp-mint: #B9F3DC;
  --cp-green-700: #146C4B;
  --cp-red-700: #B4233D;
  --cp-amber-800: #8A5100;
  --cp-violet-600: #7551C2;
  --cp-teal-700: #007D87;
  --cp-font-display: "Sora", "Manrope", system-ui, sans-serif;
  --cp-font-ui: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --cp-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  --cp-weight-regular: 400;
  --cp-weight-medium: 500;
  --cp-weight-semibold: 600;
  --cp-weight-bold: 700;
  --cp-text-xs: 0.75rem;
  --cp-text-sm: 0.875rem;
  --cp-text-md: 1rem;
  --cp-text-lg: 1.125rem;
  --cp-text-xl: 1.5rem;
  --cp-text-2xl: 2rem;
  --cp-text-3xl: 2.75rem;
  --cp-text-4xl: 3.75rem;
  --cp-text-display: clamp(2.75rem, 6vw, 5.5rem);
  --cp-leading-tight: 1.1;
  --cp-leading-heading: 1.2;
  --cp-leading-ui: 1.4;
  --cp-leading-body: 1.6;
  --cp-tracking-display: -0.045em;
  --cp-tracking-heading: -0.03em;
  --cp-tracking-body: 0;
  --cp-tracking-label: 0.06em;
  --cp-space-0: 0;
  --cp-space-1: 0.25rem;
  --cp-space-2: 0.5rem;
  --cp-space-3: 0.75rem;
  --cp-space-4: 1rem;
  --cp-space-5: 1.25rem;
  --cp-space-6: 1.5rem;
  --cp-space-8: 2rem;
  --cp-space-10: 2.5rem;
  --cp-space-12: 3rem;
  --cp-space-16: 4rem;
  --cp-space-20: 5rem;
  --cp-space-24: 6rem;
  --cp-space-32: 8rem;
  --cp-radius-xs: 0.25rem;
  --cp-radius-sm: 0.375rem;
  --cp-radius-md: 0.625rem;
  --cp-radius-lg: 0.875rem;
  --cp-radius-xl: 1.25rem;
  --cp-radius-2xl: 1.75rem;
  --cp-radius-pill: 999px;
  --cp-border-width: 1px;
  --cp-border-strong: 2px;
  --cp-control-sm: 2rem;
  --cp-control-md: 2.5rem;
  --cp-control-lg: 3rem;
  --cp-control-touch: 2.75rem;
  --cp-layout-sidebar: 15rem;
  --cp-layout-rail: 4.5rem;
  --cp-layout-content-max: 80rem;
  --cp-layout-copy-max: 65ch;
  --cp-layout-copilot-min: 20rem;
  --cp-layout-gutter: clamp(1rem, 3vw, 3rem);
  --cp-breakpoint-sm: 40rem;
  --cp-breakpoint-md: 48rem;
  --cp-breakpoint-lg: 64rem;
  --cp-breakpoint-xl: 80rem;
  --cp-duration-instant: 0ms;
  --cp-duration-fast: 120ms;
  --cp-duration-normal: 180ms;
  --cp-duration-slow: 280ms;
  --cp-duration-entrance: 420ms;
  --cp-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --cp-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --cp-ease-entrance: cubic-bezier(0, 0, 0.2, 1);
  --cp-z-base: 0;
  --cp-z-sticky: 10;
  --cp-z-dropdown: 20;
  --cp-z-popover: 30;
  --cp-z-drawer: 40;
  --cp-z-overlay: 50;
  --cp-z-modal: 60;
  --cp-z-toast: 70;
  --cp-z-tooltip: 80;
  --cp-focus-width: 2px;
  --cp-focus-offset: 3px;
}

:root, [data-theme="light"] {
  color-scheme: light;
  --cp-color-brand: #245BFF;
  --cp-color-brand-hover: #1642C7;
  --cp-color-brand-active: #12359C;
  --cp-color-on-brand: #FFFFFF;
  --cp-color-brand-subtle: #E9F0FF;
  --cp-color-bg: #F6F8FC;
  --cp-color-surface: #FFFFFF;
  --cp-color-surface-raised: #FFFFFF;
  --cp-color-surface-subtle: #E9F0FF;
  --cp-color-surface-hover: #F0F4FC;
  --cp-color-surface-active: #E1E9FA;
  --cp-color-surface-inverse: #101B3D;
  --cp-color-text: #101B3D;
  --cp-color-text-muted: #55627C;
  --cp-color-text-subtle: #61708A;
  --cp-color-text-inverse: #FFFFFF;
  --cp-color-link: #1642C7;
  --cp-color-border: #DCE3F1;
  --cp-color-border-strong: #7887A4;
  --cp-color-focus: #245BFF;
  --cp-color-focus-gap: #FFFFFF;
  --cp-color-selection: #D8E4FF;
  --cp-color-success: #146C4B;
  --cp-color-success-text: #146C4B;
  --cp-color-success-subtle: #E9F8F1;
  --cp-color-warning: #8A5100;
  --cp-color-warning-text: #8A5100;
  --cp-color-warning-subtle: #FFF4D8;
  --cp-color-danger: #B4233D;
  --cp-color-danger-hover: #8F1B30;
  --cp-color-danger-text: #B4233D;
  --cp-color-danger-subtle: #FFF0F2;
  --cp-color-on-danger: #FFFFFF;
  --cp-color-info: #1743B5;
  --cp-color-info-text: #1743B5;
  --cp-color-info-subtle: #E9F0FF;
  --cp-color-disabled-bg: #E8ECF4;
  --cp-color-disabled-text: #68758D;
  --cp-color-overlay: rgb(11 17 36 / 48%);
  --cp-color-chart-1: #245BFF;
  --cp-color-chart-2: #007D87;
  --cp-color-chart-3: #7551C2;
  --cp-color-chart-4: #A45A00;
  --cp-color-chart-5: #B4233D;
  --cp-color-chart-grid: #DCE3F1;
  --cp-shadow-xs: 0 1px 2px rgb(16 27 61 / 4%);
  --cp-shadow-sm: 0 2px 8px rgb(16 27 61 / 6%);
  --cp-shadow-md: 0 8px 28px rgb(16 27 61 / 9%);
  --cp-shadow-lg: 0 20px 64px rgb(16 27 61 / 14%);
}

[data-theme="dark"] {
  color-scheme: dark;
  --cp-color-brand: #8EACFF;
  --cp-color-brand-hover: #B0C4FF;
  --cp-color-brand-active: #6C92FF;
  --cp-color-on-brand: #101B3D;
  --cp-color-brand-subtle: #172F5F;
  --cp-color-bg: #0B1124;
  --cp-color-surface: #111B35;
  --cp-color-surface-raised: #182643;
  --cp-color-surface-subtle: #172847;
  --cp-color-surface-hover: #1D3052;
  --cp-color-surface-active: #28436C;
  --cp-color-surface-inverse: #E9F0FF;
  --cp-color-text: #F4F7FF;
  --cp-color-text-muted: #ADBBD8;
  --cp-color-text-subtle: #9AAACA;
  --cp-color-text-inverse: #101B3D;
  --cp-color-link: #B0C5FF;
  --cp-color-border: #2D3C5E;
  --cp-color-border-strong: #677C9F;
  --cp-color-focus: #B0C5FF;
  --cp-color-focus-gap: #111B35;
  --cp-color-selection: #28436C;
  --cp-color-success: #8AE0B6;
  --cp-color-success-text: #8AE0B6;
  --cp-color-success-subtle: #12392E;
  --cp-color-warning: #FFD27A;
  --cp-color-warning-text: #FFD27A;
  --cp-color-warning-subtle: #3C2D14;
  --cp-color-danger: #FFA3AF;
  --cp-color-danger-hover: #FFBEC6;
  --cp-color-danger-text: #FFA3AF;
  --cp-color-danger-subtle: #411E2A;
  --cp-color-on-danger: #411E2A;
  --cp-color-info: #B0C5FF;
  --cp-color-info-text: #B0C5FF;
  --cp-color-info-subtle: #172F5F;
  --cp-color-disabled-bg: #23304C;
  --cp-color-disabled-text: #8A9AB9;
  --cp-color-overlay: rgb(0 0 0 / 64%);
  --cp-color-chart-1: #8EACFF;
  --cp-color-chart-2: #75D9DC;
  --cp-color-chart-3: #C5A9FF;
  --cp-color-chart-4: #FFD27A;
  --cp-color-chart-5: #FFA3AF;
  --cp-color-chart-grid: #2D3C5E;
  --cp-shadow-xs: 0 1px 2px rgb(0 0 0 / 12%);
  --cp-shadow-sm: 0 2px 8px rgb(0 0 0 / 18%);
  --cp-shadow-md: 0 8px 28px rgb(0 0 0 / 26%);
  --cp-shadow-lg: 0 20px 64px rgb(0 0 0 / 36%);
}

[data-theme="graphite"] {
  color-scheme: dark;
  --cp-color-brand: #8EACFF;
  --cp-color-brand-hover: #B0C4FF;
  --cp-color-brand-active: #6C92FF;
  --cp-color-on-brand: #171717;
  --cp-color-brand-subtle: #282D38;
  --cp-color-bg: #101010;
  --cp-color-surface: #191919;
  --cp-color-surface-raised: #242424;
  --cp-color-surface-subtle: #222222;
  --cp-color-surface-hover: #2C2C2C;
  --cp-color-surface-active: #353535;
  --cp-color-surface-inverse: #F2F2F2;
  --cp-color-text: #F4F4F4;
  --cp-color-text-muted: #B8B8B8;
  --cp-color-text-subtle: #A3A3A3;
  --cp-color-text-inverse: #171717;
  --cp-color-link: #B0C5FF;
  --cp-color-border: #383838;
  --cp-color-border-strong: #808080;
  --cp-color-focus: #B0C5FF;
  --cp-color-focus-gap: #191919;
  --cp-color-selection: #384151;
  --cp-color-success: #8AE0B6;
  --cp-color-success-text: #8AE0B6;
  --cp-color-success-subtle: #12392E;
  --cp-color-warning: #FFD27A;
  --cp-color-warning-text: #FFD27A;
  --cp-color-warning-subtle: #3C2D14;
  --cp-color-danger: #FFA3AF;
  --cp-color-danger-hover: #FFBEC6;
  --cp-color-danger-text: #FFA3AF;
  --cp-color-danger-subtle: #411E2A;
  --cp-color-on-danger: #411E2A;
  --cp-color-info: #B0C5FF;
  --cp-color-info-text: #B0C5FF;
  --cp-color-info-subtle: #172F5F;
  --cp-color-disabled-bg: #303030;
  --cp-color-disabled-text: #A0A0A0;
  --cp-color-overlay: rgb(0 0 0 / 64%);
  --cp-color-chart-1: #8EACFF;
  --cp-color-chart-2: #75D9DC;
  --cp-color-chart-3: #C5A9FF;
  --cp-color-chart-4: #FFD27A;
  --cp-color-chart-5: #FFA3AF;
  --cp-color-chart-grid: #383838;
  --cp-shadow-xs: 0 1px 2px rgb(0 0 0 / 12%);
  --cp-shadow-sm: 0 2px 8px rgb(0 0 0 / 18%);
  --cp-shadow-md: 0 8px 28px rgb(0 0 0 / 26%);
  --cp-shadow-lg: 0 20px 64px rgb(0 0 0 / 36%);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --cp-color-brand: #8EACFF;
    --cp-color-brand-hover: #B0C4FF;
    --cp-color-brand-active: #6C92FF;
    --cp-color-on-brand: #101B3D;
    --cp-color-brand-subtle: #172F5F;
    --cp-color-bg: #0B1124;
    --cp-color-surface: #111B35;
    --cp-color-surface-raised: #182643;
    --cp-color-surface-subtle: #172847;
    --cp-color-surface-hover: #1D3052;
    --cp-color-surface-active: #28436C;
    --cp-color-surface-inverse: #E9F0FF;
    --cp-color-text: #F4F7FF;
    --cp-color-text-muted: #ADBBD8;
    --cp-color-text-subtle: #9AAACA;
    --cp-color-text-inverse: #101B3D;
    --cp-color-link: #B0C5FF;
    --cp-color-border: #2D3C5E;
    --cp-color-border-strong: #677C9F;
    --cp-color-focus: #B0C5FF;
    --cp-color-focus-gap: #111B35;
    --cp-color-selection: #28436C;
    --cp-color-success: #8AE0B6;
    --cp-color-success-text: #8AE0B6;
    --cp-color-success-subtle: #12392E;
    --cp-color-warning: #FFD27A;
    --cp-color-warning-text: #FFD27A;
    --cp-color-warning-subtle: #3C2D14;
    --cp-color-danger: #FFA3AF;
    --cp-color-danger-hover: #FFBEC6;
    --cp-color-danger-text: #FFA3AF;
    --cp-color-danger-subtle: #411E2A;
    --cp-color-on-danger: #411E2A;
    --cp-color-info: #B0C5FF;
    --cp-color-info-text: #B0C5FF;
    --cp-color-info-subtle: #172F5F;
    --cp-color-disabled-bg: #23304C;
    --cp-color-disabled-text: #8A9AB9;
    --cp-color-overlay: rgb(0 0 0 / 64%);
    --cp-color-chart-1: #8EACFF;
    --cp-color-chart-2: #75D9DC;
    --cp-color-chart-3: #C5A9FF;
    --cp-color-chart-4: #FFD27A;
    --cp-color-chart-5: #FFA3AF;
    --cp-color-chart-grid: #2D3C5E;
    --cp-shadow-xs: 0 1px 2px rgb(0 0 0 / 12%);
    --cp-shadow-sm: 0 2px 8px rgb(0 0 0 / 18%);
    --cp-shadow-md: 0 8px 28px rgb(0 0 0 / 26%);
    --cp-shadow-lg: 0 20px 64px rgb(0 0 0 / 36%);
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --cp-duration-fast: 0ms;
    --cp-duration-normal: 0ms;
    --cp-duration-slow: 0ms;
    --cp-duration-entrance: 0ms;
  }
}

/* Classes opt-in: nenhuma alteração automática na aplicação existente. */
.cp-focusable:focus-visible {
  outline: var(--cp-focus-width) solid var(--cp-color-focus);
  outline-offset: var(--cp-focus-offset);
}
.cp-tabular { font-variant-numeric: tabular-nums; }
.cp-visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  .cp-motion, .cp-motion::before, .cp-motion::after {
    animation: none !important; transition: none !important; scroll-behavior: auto !important;
  }
}
