/* SPEC-UI-1 §1: raw values live only here. No Bootstrap variable overrides. */
:root, [data-sky-palette="light"] {
  --sky-guest-sea: linear-gradient(100deg,#145477,#009b90);
  --sky-guest-root: clamp(1rem,min(.833333vw,1.481481vh),2rem);
  --sky-guest-frame-gap: calc(var(--sky-btn-md) + var(--sky-space-6) * 2);
  --sky-guest-boat-standard: 10% 50%;
  --sky-guest-boat-wide: 0% 50%;
  --sky-guest-boat-ultrawide: 0% 35%;
  --sky-guest-boat-crop-width: 125%;
  --sky-guest-art-offset: 26rem;
  --sky-font-touch: max(1rem,16px);
  --sky-z-below: -1;
  --sky-guest-overlay: transparent;
  --sky-guest-mobile-overlay: rgba(248,250,252,.22);
  --sky-brand-50: #eef5fc;
  --sky-brand-100: #d9e9f8;
  --sky-brand-200: #b4d3f1;
  --sky-brand-300: #82b5e6;
  --sky-brand-500: #2479c9;
  --sky-brand-600: #1668b5;
  --sky-brand-700: #11579a;
  --sky-brand-800: #0f477d;
  --sky-accent: #21bcdd;
  --sky-white: #ffffff;
  --sky-black: #121820;
  --sky-bg: #f7f9fb;
  --sky-surface: #ffffff;
  --sky-fill: #f1f4f7;
  --sky-fill-hover: #f7f9fb;
  --sky-fill-active: #e6ebf0;
  --sky-divider: #e6ebf0;
  --sky-border: #d8dfe6;
  --sky-border-strong: #bcc6d0;
  --sky-text: #1f2833;
  --sky-text-strong: #121820;
  --sky-text-2: #5f6b78;
  --sky-text-3: #808b98;
  --sky-success-50: #eaf7f0;
  --sky-success-200: #b5e3c9;
  --sky-success-600: #138a52;
  --sky-success-700: #0f6e42;
  --sky-warning-50: #fdf5e7;
  --sky-warning-200: #f4d79e;
  --sky-warning-600: #b26b00;
  --sky-warning-700: #8c5400;
  --sky-danger-50: #fdeef0;
  --sky-danger-100: #f9dce1;
  --sky-danger-200: #f5c0c8;
  --sky-danger-600: #c9314a;
  --sky-danger-700: #a32539;
  --sky-info-50: var(--sky-brand-50);
  --sky-info-200: var(--sky-brand-200);
  --sky-info-600: var(--sky-brand-600);
  --sky-info-700: var(--sky-brand-700);
  --sky-primary: var(--sky-brand-600);
  --sky-primary-hover: var(--sky-brand-700);
  --sky-primary-active: var(--sky-brand-800);
  --sky-primary-ink: var(--sky-white);
  --sky-link: var(--sky-brand-700);
  --sky-candidate-a: #377dff;
  --sky-candidate-ap: #2f6fe6;
  --sky-candidate-ap-hover: #235fcb;
  --sky-candidate-ap-active: #1a4ea9;
  --sky-danger-hover: #b32c42;
  --sky-danger-solid: #c9314a;
  --sky-danger-active: #992438;
  --sky-danger-ink: var(--sky-white);
  --sky-font-family: "Sky Inter Latin", "Sky Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans", sans-serif;
  --sky-font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --sky-weight-regular: 400;
  --sky-weight-medium: 500;
  --sky-weight-semibold: 600;
  --sky-weight-bold: 700;
  --sky-space-label: 0.375rem;
  --sky-space-inline: 0.5rem;
  --sky-space-icon-small: 0.375rem;
  --sky-space-section: 2rem;
  --sky-space-page: 1.5rem;
  --sky-space-card: 1.25rem;
  --sky-radius-xs: 4px;
  --sky-radius-sm: 6px;
  --sky-radius-md: 8px;
  --sky-radius-lg: 12px;
  --sky-radius-xl: 16px;
  --sky-radius-pill: 999px;
  --sky-shadow-0: none;
  --sky-shadow-selected: inset 0 0 0 1px var(--sky-primary);
  --sky-space-pixel: 1px;
  --sky-offset-below: 100%;
  --sky-shadow-1: 0 1px 2px rgba(16,24,40,.05);
  --sky-shadow-2: 0 4px 12px rgba(16,24,40,.08);
  --sky-shadow-3: 0 16px 40px rgba(16,24,40,.14);
  --sky-focus-ring: 0 0 0 3px rgba(22,104,181,.35);
  --sky-focus-color: var(--sky-brand-600);
  --sky-duration-instant: 80ms;
  --sky-duration-fast: 150ms;
  --sky-duration-base: 200ms;
  --sky-duration-slow: 280ms;
  --sky-duration-progress: 400ms;
  --sky-duration-reduced: 100ms;
  --sky-duration-spin: 1000ms;
  --sky-spin-slow: 2400ms;
  --sky-duration-shimmer: 1400ms;
  --sky-duration-zero: 0ms;
  --sky-ease-standard: cubic-bezier(.2,0,0,1);
  --sky-ease-exit: cubic-bezier(.3,0,1,1);
  --sky-ease-linear: linear;
  --sky-sidebar-width: 15.5rem;
  --sky-header-height: 4rem;
  --sky-header-mobile-height: 3.5rem;
  --sky-content-max: 120rem;
  --sky-btn-sm: 2rem;
  --sky-btn-md: 2.5rem;
  --sky-btn-lg: 3rem;
  --sky-touch-min: 2.5rem;
  --sky-icon-xs: 0.875rem;
  --sky-icon-sm: 1rem;
  --sky-icon-md: 1.125rem;
  --sky-icon-lg: 1.25rem;
  --sky-icon-xl: 1.5rem;
  --sky-icon-block: 2.25rem;
  --sky-progress-height: 0.375rem;
  --sky-z-sticky: 1020;
  --sky-z-sidebar: 1030;
  --sky-z-drawer: 1045;
  --sky-z-drawer-backdrop: calc(var(--sky-z-drawer) - 1);
  --sky-z-modal: 1055;
  --sky-z-dropdown: 1070;
  --sky-z-toast: 1090;
  --sky-z-base: 0;
  --sky-z-raised: 1;
  --sky-overlay: rgba(15,23,32,.48);
  --sky-gradient-brand: linear-gradient(135deg,#002b57,#1168ad);
  --sky-transparent: transparent;
  --sky-disabled-opacity: 1;
  --sky-muted-opacity: .55;
  --sky-font-size-hero: clamp(2rem,4vw,3rem);
  --sky-line-hero: 1.2;
  --sky-letter-normal: 0;
  --sky-letter-heading: -.02em;
  --sky-opacity-hidden: 0;
  --sky-opacity-visible: 1;
  --sky-motion-lift: -0.125rem;
  --sky-motion-menu: 0.25rem;
  --sky-motion-toast: -0.5rem;
  --sky-motion-scale: .96;
  --sky-motion-drawer: -100%;
  --sky-motion-flip: 180deg;
  --sky-motion-full-turn: 360deg;
  --sky-space-1: 0.25rem;
  --sky-space-2: 0.5rem;
  --sky-space-3: 0.75rem;
  --sky-space-4: 1rem;
  --sky-space-5: 1.25rem;
  --sky-space-6: 1.5rem;
  --sky-space-7: 2rem;
  --sky-space-8: 2.5rem;
  --sky-space-9: 3rem;
  --sky-space-10: 4rem;
  --sky-font-xs: 0.75rem;
  --sky-line-xs: 1rem;
  --sky-font-sm: 0.8125rem;
  --sky-line-sm: 1.25rem;
  --sky-font-md: 0.875rem;
  --sky-font-input-mobile: 1rem;
  --sky-line-md: 1.375rem;
  --sky-font-lg: 1rem;
  --sky-line-lg: 1.5rem;
  --sky-font-xl: 1.125rem;
  --sky-line-xl: 1.625rem;
  --sky-font-2xl: 1.25rem;
  --sky-line-2xl: 1.75rem;
  --sky-font-3xl: 1.5rem;
  --sky-line-3xl: 2rem;
  --sky-font-4xl: 1.875rem;
  --sky-line-4xl: 2.375rem;
  --sky-font-5xl: 2.25rem;
  --sky-line-5xl: 2.75rem;
  --sky-line-price: 2.8125rem;
}
/* Minimal import/unsubscribe documents have deliberately no theme-storage script.
   Their default palette follows the OS without new requests or persistence. */
@media (prefers-color-scheme: dark) {
  html.sky-guest-ds:not([data-sky-resolved-theme]) {
    --sky-bg: #0e141b; --sky-surface: #151d26; --sky-fill: #1c2632;
    --sky-border: #2a3746; --sky-divider: #222d39;
    --sky-text: #e7edf3; --sky-text-strong: #e7edf3; --sky-text-2: #a3b0bd;
    --sky-primary: #2a74c4; --sky-primary-hover: #2465ac; --sky-primary-active: #1e568f;
    --sky-link: #6eb0ee; --sky-brand-50: rgba(110,176,238,.14);
    --sky-focus-color: #6eb0ee; --sky-focus-ring: 0 0 0 3px rgba(110,176,238,.45);
  }
}
html[data-sky-resolved-theme="dark"], [data-sky-palette="dark"] {
  --sky-guest-overlay: rgba(14,20,27,.55);
  --sky-guest-mobile-overlay: rgba(14,20,27,.72);
  --sky-bg: #0e141b;
  --sky-surface: #151d26;
  --sky-fill: #1c2632;
  --sky-fill-hover: #233040;
  --sky-fill-active: #2a3746;
  --sky-divider: #222d39;
  --sky-border: #2a3746;
  --sky-border-strong: #3a4858;
  --sky-text: #e7edf3;
  --sky-text-strong: #e7edf3;
  --sky-text-2: #a3b0bd;
  --sky-text-3: #7c8a98;
  --sky-primary: #2a74c4;
  --sky-primary-hover: #2465ac;
  --sky-primary-active: #1e568f;
  --sky-link: #6eb0ee;
  --sky-focus-color: #6eb0ee;
  --sky-focus-ring: 0 0 0 3px rgba(110,176,238,.45);
  --sky-brand-50: rgba(110,176,238,.14);
  --sky-brand-100: rgba(110,176,238,.24);
  --sky-brand-200: rgba(110,176,238,.32);
  --sky-brand-700: #6eb0ee;
  --sky-brand-300: #6eb0ee;
  --sky-success-50: rgba(76,194,138,.14);
  --sky-success-200: rgba(76,194,138,.32);
  --sky-success-600: #4cc28a;
  --sky-success-700: #4cc28a;
  --sky-warning-50: rgba(232,168,56,.14);
  --sky-warning-200: rgba(232,168,56,.32);
  --sky-warning-600: #e8a838;
  --sky-warning-700: #e8a838;
  --sky-danger-50: rgba(240,106,126,.14);
  --sky-danger-100: rgba(240,106,126,.17);
  --sky-danger-200: rgba(240,106,126,.32);
  --sky-danger-600: #f06a7e;
  --sky-danger-700: #f06a7e;
  --sky-shadow-1: 0 1px 2px rgba(0,0,0,.1);
  --sky-shadow-2: 0 4px 12px rgba(0,0,0,.16);
  --sky-shadow-3: 0 16px 40px rgba(0,0,0,.28);
  --sky-overlay: rgba(15,23,32,.64);
}
:where(.sky-ds)[data-primary="ap"], :where(.sky-ds) [data-primary="ap"] {
  --sky-primary: var(--sky-candidate-ap);
  --sky-primary-hover: var(--sky-candidate-ap-hover);
  --sky-primary-active: var(--sky-candidate-ap-active);
}
/* A is deliberately nonconforming reference only, never an enabled site default. */
:where(.sky-ds) [data-primary="a"] {
  --sky-primary: var(--sky-candidate-a);
  --sky-primary-hover: var(--sky-candidate-a);
  --sky-primary-active: var(--sky-candidate-a);
}
@media (max-width: 767.98px) {
  :root { --sky-space-section: 1.5rem; --sky-space-page: 1rem; --sky-space-card: 1rem; }
}
@media (prefers-color-scheme: dark) {
  html:not([data-sky-resolved-theme]) {
  --sky-bg: #0e141b;
  --sky-surface: #151d26;
  --sky-fill: #1c2632;
  --sky-fill-hover: #233040;
  --sky-fill-active: #2a3746;
  --sky-divider: #222d39;
  --sky-border: #2a3746;
  --sky-border-strong: #3a4858;
  --sky-text: #e7edf3;
  --sky-text-strong: #e7edf3;
  --sky-text-2: #a3b0bd;
  --sky-text-3: #7c8a98;
  --sky-primary: #2a74c4;
  --sky-primary-hover: #2465ac;
  --sky-primary-active: #1e568f;
  --sky-link: #6eb0ee;
  --sky-focus-color: #6eb0ee;
  --sky-focus-ring: 0 0 0 3px rgba(110,176,238,.45);
  --sky-brand-50: rgba(110,176,238,.14);
  --sky-brand-100: rgba(110,176,238,.24);
  --sky-brand-200: rgba(110,176,238,.32);
  --sky-brand-700: #6eb0ee;
  --sky-brand-300: #6eb0ee;
  --sky-success-50: rgba(76,194,138,.14);
  --sky-success-200: rgba(76,194,138,.32);
  --sky-success-600: #4cc28a;
  --sky-success-700: #4cc28a;
  --sky-warning-50: rgba(232,168,56,.14);
  --sky-warning-200: rgba(232,168,56,.32);
  --sky-warning-600: #e8a838;
  --sky-warning-700: #e8a838;
  --sky-danger-50: rgba(240,106,126,.14);
  --sky-danger-100: rgba(240,106,126,.17);
  --sky-danger-200: rgba(240,106,126,.32);
  --sky-danger-600: #f06a7e;
  --sky-danger-700: #f06a7e;
  --sky-shadow-1: 0 1px 2px rgba(0,0,0,.1);
  --sky-shadow-2: 0 4px 12px rgba(0,0,0,.16);
  --sky-shadow-3: 0 16px 40px rgba(0,0,0,.28);
  --sky-overlay: rgba(15,23,32,.64);
  }
}
