@dataengineeringformachinelearning/viking-ui 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +7 -5
  2. package/dist/README.md +7 -5
  3. package/dist/deml-components.css +23 -0
  4. package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs +182 -23
  5. package/dist/fesm2022/dataengineeringformachinelearning-viking-ui.mjs.map +1 -1
  6. package/dist/package.json +7 -1
  7. package/dist/src/web/card/viking-card-wc.ts +5 -1
  8. package/dist/src/web/core/styles.ts +125 -2
  9. package/dist/src/web/suite-header/viking-suite-header-wc.ts +15 -0
  10. package/dist/types/dataengineeringformachinelearning-viking-ui.d.ts +2 -1
  11. package/dist/viking-components.css +425 -31
  12. package/dist/viking-ui-elements.js +180 -42
  13. package/dist/viking-ui.css +1 -1
  14. package/dist/web-components.js +145 -3
  15. package/package.json +7 -1
  16. package/src/index.ts +1 -1
  17. package/src/lib/auth-panel/auth-panel.ts +9 -9
  18. package/src/lib/button/button.scss +23 -0
  19. package/src/lib/card/card.ts +33 -5
  20. package/src/lib/site-drakkar/site-navbar.ts +14 -4
  21. package/src/styles/_buttons.scss +92 -7
  22. package/src/styles/_layout-enforcement.scss +66 -3
  23. package/src/styles/components/icon-inline.scss +23 -0
  24. package/src/styles/components.scss +276 -9
  25. package/src/styles/static-navbar.scss +43 -4
  26. package/src/styles/surfaces/backend.scss +22 -10
  27. package/src/styles/surfaces/docs-shell.scss +40 -15
  28. package/src/styles/surfaces/docs-showcase.scss +132 -30
  29. package/src/styles/surfaces/marketing-landing.scss +311 -45
  30. package/src/styles/surfaces/swagger-ui.scss +9 -8
  31. package/src/styles/viking-ui.scss +12 -12
  32. package/src/web/card/viking-card-wc.ts +5 -1
  33. package/src/web/core/styles.ts +125 -2
  34. package/src/web/suite-header/viking-suite-header-wc.ts +15 -0
@@ -1 +1 @@
1
- @font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/inter/InterVariable.woff2") format("woff2 supports variations"),url("fonts/inter/InterVariable.woff2") format("woff2-variations")}@font-face{font-family:"Inter";font-style:italic;font-weight:100 900;font-display:swap;src:url("fonts/inter/InterVariable-Italic.woff2") format("woff2 supports variations"),url("fonts/inter/InterVariable-Italic.woff2") format("woff2-variations")}html{font-family:var(--viking-font-family);font-size:var(--viking-font-size, 16px);line-height:var(--viking-line-height-relaxed, 1.625);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,.viking-ui-body{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:var(--viking-font-weight-regular, 400);color:var(--viking-text);background-color:var(--viking-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-semibold, 600);line-height:var(--viking-line-height-tight, 1.25);letter-spacing:var(--viking-letter-spacing-tight, -0.02em)}h1{font-size:var(--viking-font-size-2xl, 30px);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-tighter, -0.03em)}h2{font-size:var(--viking-font-size-xl, 24px)}h3{font-size:var(--viking-font-size-lg, 20px)}h4{font-size:var(--viking-font-size-md, 18px)}h5,h6{font-size:var(--viking-font-size, 16px);font-weight:var(--viking-font-weight-medium, 500)}p{line-height:var(--viking-line-height-relaxed, 1.625)}code,pre,kbd,samp,.viking-font-mono{font-family:var(--viking-font-family-mono)}button,input,select,textarea{font-family:inherit}.viking-font-display{font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-caps, 0.08em);text-transform:uppercase}.viking-tabular-nums{font-variant-numeric:tabular-nums lining-nums}:root{color-scheme:dark light;--viking-navy-1000: #01030a;--viking-navy-950: #030818;--viking-navy-900: #0a1024;--viking-navy-800: #101b33;--viking-navy-700: #162544;--viking-navy-600: #1e3054;--viking-navy-500: #284068;--viking-navy-400: #39547f;--viking-navy-300: #58719e;--viking-navy-200: #8fa2c2;--viking-navy-100: #d7e0ef;--viking-electric-900: #04225f;--viking-electric-800: #073a99;--viking-electric-700: #0a4fd4;--viking-electric-600: #1565f0;--viking-electric-500: #2176ff;--viking-electric-400: #4d94ff;--viking-electric-300: #7ab0ff;--viking-electric-200: #b6d3ff;--viking-electric-100: #e7f1ff;--viking-charcoal-950: var(--viking-navy-950);--viking-charcoal-900: var(--viking-navy-900);--viking-charcoal-800: var(--viking-navy-800);--viking-charcoal-700: var(--viking-navy-700);--viking-charcoal-600: var(--viking-navy-600);--viking-charcoal-500: var(--viking-navy-500);--viking-charcoal-400: var(--viking-navy-400);--viking-charcoal-300: var(--viking-navy-300);--viking-charcoal-200: var(--viking-navy-200);--viking-charcoal-100: var(--viking-navy-100);--viking-metallic-600: #555555;--viking-metallic-500: #666666;--viking-metallic-400: #777777;--viking-metallic-300: #999999;--viking-metallic-200: #aaaaaa;--viking-metallic-100: #bbbbbb;--viking-metallic-050: #e6e8ec;--viking-teal-700: var(--viking-electric-700);--viking-teal-600: var(--viking-electric-600);--viking-teal-500: var(--viking-electric-500);--viking-teal-400: var(--viking-electric-400);--viking-teal-300: var(--viking-electric-300);--viking-crimson-700: #7a2231;--viking-crimson-600: #922b3e;--viking-crimson-500: #a83344;--viking-crimson-400: #c44355;--viking-crimson-300: #dc6b78;--viking-crimson-100: #fde8ec;--viking-cyan-600: #168aad;--viking-cyan-500: #1fa2c9;--viking-cyan-400: #47bee0;--viking-violet-600: #6f5bd7;--viking-violet-500: #8674f0;--viking-amber-600: #a77912;--viking-amber-500: #d69e2e;--viking-green-500: #2a9d8f;--viking-gold-500: #c4a035;--viking-blue-500: var(--viking-electric-400);--viking-red-500: var(--viking-crimson-500);--viking-ink-1000: #000000;--viking-ink-950: #050609;--viking-ink-900: #0c0f14;--viking-ink-800: #151a22;--viking-ink-700: #202735;--viking-slate-100: #f4f7fb;--viking-slate-050: #fbfcfe;--viking-white: #f5f5f5;--viking-white-pure: #ffffff;--viking-black: #000000;--viking-grid-unit: 4px;--viking-space-unit: 8px;--viking-space-0: 0;--viking-space-px: 1px;--viking-space-half: 4px;--viking-space-0-5: 4px;--viking-space-1: 8px;--viking-space-1-5: 12px;--viking-space-2: 16px;--viking-space-2-5: 20px;--viking-space-3: 24px;--viking-space-4: 32px;--viking-space-5: 40px;--viking-space-6: 48px;--viking-space-7: 56px;--viking-space-8: 64px;--viking-space-8-5: 72px;--viking-space-9: 80px;--viking-space-10: 96px;--viking-space-11: 112px;--viking-space-12: 128px;--viking-space-14: 160px;--viking-space-16: 192px;--viking-space-20: 256px;--viking-space-24: 320px;--viking-font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--viking-font-family-mono: ui-monospace, 'JetBrains Mono', 'SF Mono', 'Cascadia Code', Consolas, monospace;--viking-font-size-2xs: 11px;--viking-font-size-xs: 12px;--viking-font-size-sm: 14px;--viking-font-size-base: 16px;--viking-font-size-md: 18px;--viking-font-size-lg: 20px;--viking-font-size-xl: 24px;--viking-font-size-2xl: 30px;--viking-font-size-3xl: 36px;--viking-font-size-4xl: 48px;--viking-font-size-5xl: 60px;--viking-font-size-6xl: 72px;--viking-font-weight-regular: 400;--viking-font-weight-medium: 500;--viking-font-weight-semibold: 600;--viking-font-weight-bold: 700;--viking-font-weight-extrabold: 800;--viking-line-height-none: 1;--viking-line-height-tight: 1.25;--viking-line-height-snug: 1.375;--viking-line-height-normal: 1.5;--viking-line-height-relaxed: 1.625;--viking-line-height-loose: 1.75;--viking-letter-spacing-tighter: -0.03em;--viking-letter-spacing-tight: -0.02em;--viking-letter-spacing-normal: 0;--viking-letter-spacing-wide: 0.025em;--viking-letter-spacing-wider: 0.05em;--viking-letter-spacing-caps: 0.08em;--viking-type-caption: var(--viking-font-weight-medium) var(--viking-font-size-xs) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body-sm: var(--viking-font-weight-regular) var(--viking-font-size-sm) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body: var(--viking-font-weight-regular) var(--viking-font-size-base) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body-lg: var(--viking-font-weight-regular) var(--viking-font-size-md) / var(--viking-line-height-relaxed) var(--viking-font-family);--viking-type-heading-sm: var(--viking-font-weight-semibold) var(--viking-font-size-lg) / var(--viking-line-height-tight) var(--viking-font-family);--viking-type-heading: var(--viking-font-weight-bold) var(--viking-font-size-2xl) / var(--viking-line-height-tight) var(--viking-font-family);--viking-type-display: var(--viking-font-weight-extrabold) var(--viking-font-size-4xl) / var(--viking-line-height-none) var(--viking-font-family);--viking-radius-xs: 4px;--viking-radius-sm: 6px;--viking-radius: 8px;--viking-radius-md: 10px;--viking-radius-lg: 12px;--viking-radius-xl: 16px;--viking-radius-2xl: 24px;--viking-radius-pill: 999px;--viking-radius-full: var(--viking-radius-pill);--viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.04);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.16), 0 4px 8px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.05);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.14), 0 12px 24px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.06);--viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.14);--viking-shadow-hover: 0 8px 16px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.06);--viking-shadow-focus: 0 0 0 var(--viking-ring-offset) var(--viking-bg), 0 0 0 calc(var(--viking-ring-offset) + var(--viking-ring-width)) var(--viking-ring);--viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.06);--viking-chart-ratio: 3 / 1;--viking-chart-min-height: clamp(9.5rem, 22vw, 12rem);--viking-chart-max-height: clamp(13rem, 36vw, 17.5rem);--viking-chart-fill-min-height: clamp(18rem, 36vw, 20rem);--viking-chart-fill-max-height: none;--viking-chart-fill-min-height-lg: clamp(20rem, 40vw, 22rem);--viking-chart-fill-max-height-lg: none;--viking-chart-empty-min-height: var(--viking-chart-fill-min-height);--viking-chart-empty-min-height-lg: var(--viking-chart-fill-min-height-lg);--viking-chart-panel-min-height-md: 26rem;--viking-chart-panel-min-height-lg: 30rem;--viking-chart-panel-body-min-height-md: 22rem;--viking-chart-panel-body-min-height-lg: 25rem;--viking-chart-sparkline-height: 2.5rem;--viking-chart-map-min-height: 22.5rem;--viking-bp-sm: 600px;--viking-bp-md: 768px;--viking-bp-sidebar: 901px;--viking-bp-lg: 1024px;--viking-bp-xl: 1440px;--viking-bp-2xl: 1920px;--viking-ease-default: cubic-bezier(0.4, 0, 0.2, 1);--viking-ease-in: cubic-bezier(0.4, 0, 1, 1);--viking-ease-out: cubic-bezier(0, 0, 0.2, 1);--viking-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);--viking-duration-instant: 75ms;--viking-duration-fast: 150ms;--viking-duration: 250ms;--viking-duration-slow: 350ms;--viking-duration-slower: 500ms;--viking-transition-colors: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), fill var(--viking-duration) var(--viking-ease-default), stroke var(--viking-duration) var(--viking-ease-default);--viking-transition-interactive: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), fill var(--viking-duration) var(--viking-ease-default), stroke var(--viking-duration) var(--viking-ease-default), transform var(--viking-duration) var(--viking-ease-default), opacity var(--viking-duration) var(--viking-ease-default);--viking-transition: all var(--viking-duration) var(--viking-ease-default);--viking-transition-fast: all var(--viking-duration-fast) var(--viking-ease-default);--viking-transition-transform: transform var(--viking-duration) var(--viking-ease-emphasized);--viking-state-hover-lift: -1px;--viking-state-active-scale: 0.985;--viking-state-disabled-opacity: 0.48;--viking-control-height: 44px;--viking-control-height-sm: 32px;--viking-control-height-xs: 24px;--viking-touch-target-min: 44px;--viking-control-padding-x: var(--viking-space-2);--viking-btn-min-width: 120px;--viking-select-panel-bg: var(--viking-surface-raised);--viking-select-half-max-width: min(100%, 24rem);--viking-container-max-width: 1260px;--viking-navbar-height: 64px;--viking-sidebar-width: 256px;--viking-page-gutter: var(--viking-space-3);--viking-page-gutter-lg: var(--viking-space-4);--viking-page-gutter-xl: var(--viking-space-6);--viking-page-stack-gap: var(--viking-space-4);--viking-page-section-gap: var(--viking-space-6);--viking-section-padding-y: var(--viking-space-8);--viking-section-padding-y-compact: var(--viking-space-5);--viking-card-padding: var(--viking-space-4);--viking-card-padding-compact: var(--viking-space-3);--viking-panel-padding: var(--viking-space-4);--viking-panel-header-padding: var(--viking-space-3) var(--viking-space-4);--viking-form-max-width: 42rem;--viking-form-narrow-max-width: 28rem;--viking-content-readable-max-width: 48rem;--viking-card-min-width: 0;--viking-card-max-width: none;--viking-metric-card-min-height: 6.5rem;--viking-metric-card-tall-min-height: 8.25rem;--viking-metric-card-min-width: 10rem;--viking-surface-hairline-strength: 22%;--viking-z-overlay: 1000;--viking-z-toast: 1100;--viking-z-tooltip: 1200;--viking-chart-axis-size: 12px;--viking-icon-size-sm: 16px;--viking-icon-size-md: 20px;--viking-icon-size-lg: 24px;--viking-icon-stroke-width: 1.75;--viking-icon-stroke-width-sm: 1.5}:root,html[data-theme=dark]{color-scheme:dark;--viking-bg: var(--viking-charcoal-900);--viking-bg-subtle: var(--viking-ink-950);--viking-bg-inverted: var(--viking-white-pure);--viking-surface: var(--viking-charcoal-800);--viking-surface-alt: var(--viking-charcoal-700);--viking-surface-inset: var(--viking-charcoal-950);--viking-surface-raised: var(--viking-charcoal-600);--viking-surface-overlay: var(--viking-ink-800);--viking-text: var(--viking-white);--viking-text-muted: var(--viking-metallic-200);--viking-text-subtle: var(--viking-metallic-300);--viking-text-disabled: var(--viking-metallic-400);--viking-text-link: var(--viking-electric-300);--viking-text-link-hover: var(--viking-electric-200);--viking-text-inverted: var(--viking-charcoal-900);--viking-border: color-mix(in srgb, var(--viking-metallic-600) 48%, transparent);--viking-border-strong: color-mix(in srgb, var(--viking-metallic-400) 68%, transparent);--viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 28%, transparent);--viking-border-accent: color-mix(in srgb, var(--viking-electric-500) 72%, transparent);--viking-accent: var(--viking-electric-500);--viking-accent-hover: var(--viking-electric-400);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix(in srgb, var(--viking-electric-500) 18%, transparent);--viking-accent-muted: color-mix(in srgb, var(--viking-electric-500) 10%, transparent);--viking-accent-strong: var(--viking-electric-300);--viking-accent-secondary: var(--viking-crimson-600);--viking-accent-secondary-hover: var(--viking-crimson-500);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-600) 16%, transparent);--viking-success: var(--viking-green-500);--viking-success-soft: color-mix(in srgb, var(--viking-green-500) 14%, transparent);--viking-warning: var(--viking-gold-500);--viking-warning-soft: color-mix(in srgb, var(--viking-gold-500) 16%, transparent);--viking-danger: var(--viking-crimson-500);--viking-danger-soft: color-mix(in srgb, var(--viking-crimson-500) 16%, transparent);--viking-info: var(--viking-blue-500);--viking-info-soft: color-mix(in srgb, var(--viking-blue-500) 14%, transparent);--viking-danger-text: var(--viking-crimson-400);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-400);--viking-ring-width: 2px;--viking-ring-offset: 2px;--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-950) 72%, transparent);--viking-surface-glass: color-mix(in srgb, var(--viking-charcoal-800) 82%, transparent);--viking-surface-glass-blur: 12px;--viking-state-hover-bg: color-mix(in srgb, var(--viking-electric-500) 10%, transparent);--viking-state-active-bg: color-mix(in srgb, var(--viking-electric-700) 14%, transparent);--viking-state-selected-bg: color-mix(in srgb, var(--viking-electric-500) 18%, transparent);--viking-state-disabled-bg: color-mix(in srgb, var(--viking-metallic-600) 20%, transparent);--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.28), 0 1px 3px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.24), 0 4px 8px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.05);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.2), 0 12px 24px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.06)}html[data-theme=light]{color-scheme:light;--viking-bg: var(--viking-slate-050);--viking-bg-subtle: var(--viking-slate-100);--viking-bg-inverted: var(--viking-charcoal-900);--viking-surface: var(--viking-white-pure);--viking-surface-alt: var(--viking-slate-100);--viking-surface-inset: var(--viking-metallic-050);--viking-surface-raised: var(--viking-white-pure);--viking-surface-overlay: var(--viking-white-pure);--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--viking-text-disabled: var(--viking-metallic-300);--viking-text-link: var(--viking-electric-700);--viking-text-link-hover: var(--viking-electric-600);--viking-text-inverted: var(--viking-white-pure);--viking-border: color-mix(in srgb, var(--viking-metallic-600) 32%, transparent);--viking-border-strong: color-mix(in srgb, var(--viking-metallic-600) 48%, transparent);--viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 22%, transparent);--viking-border-accent: color-mix(in srgb, var(--viking-electric-600) 58%, transparent);--viking-accent: var(--viking-electric-600);--viking-accent-hover: var(--viking-electric-500);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix(in srgb, var(--viking-electric-600) 14%, transparent);--viking-accent-muted: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);--viking-accent-strong: var(--viking-electric-400);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-700) 12%, transparent);--viking-success-soft: color-mix(in srgb, var(--viking-green-500) 12%, transparent);--viking-warning-soft: color-mix(in srgb, var(--viking-gold-500) 14%, transparent);--viking-danger-soft: color-mix(in srgb, var(--viking-crimson-500) 12%, transparent);--viking-info-soft: color-mix(in srgb, var(--viking-blue-500) 12%, transparent);--viking-danger-text: var(--viking-crimson-700);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-500);--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-900) 45%, transparent);--viking-surface-glass: color-mix(in srgb, var(--viking-white-pure) 88%, transparent);--viking-surface-glass-blur: 10px;--viking-state-hover-bg: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);--viking-state-active-bg: color-mix(in srgb, var(--viking-electric-700) 12%, transparent);--viking-state-selected-bg: color-mix(in srgb, var(--viking-electric-600) 14%, transparent);--viking-state-disabled-bg: color-mix(in srgb, var(--viking-metallic-600) 12%, transparent);--viking-shadow-sm: 0 1px 2px rgba(17, 17, 17, 0.06), 0 1px 3px rgba(17, 17, 17, 0.08);--viking-shadow-md: 0 2px 4px rgba(17, 17, 17, 0.06), 0 4px 8px rgba(17, 17, 17, 0.08);--viking-shadow-lg: 0 4px 8px rgba(17, 17, 17, 0.06), 0 12px 24px rgba(17, 17, 17, 0.1)}@media(prefers-color-scheme: light){html:not([data-theme=dark]){color-scheme:light;--viking-bg: var(--viking-slate-050);--viking-bg-subtle: var(--viking-slate-100);--viking-bg-inverted: var(--viking-charcoal-900);--viking-surface: var(--viking-white-pure);--viking-surface-alt: var(--viking-slate-100);--viking-surface-inset: var(--viking-metallic-050);--viking-surface-raised: var(--viking-white-pure);--viking-surface-overlay: var(--viking-white-pure);--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--viking-text-disabled: var(--viking-metallic-300);--viking-text-link: var(--viking-electric-700);--viking-text-link-hover: var(--viking-electric-600);--viking-text-inverted: var(--viking-white-pure);--viking-border: color-mix(in srgb, var(--viking-metallic-600) 22%, transparent);--viking-border-strong: color-mix(in srgb, var(--viking-metallic-600) 38%, transparent);--viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 12%, transparent);--viking-border-accent: color-mix(in srgb, var(--viking-electric-600) 58%, transparent);--viking-accent: var(--viking-electric-600);--viking-accent-hover: var(--viking-electric-500);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix(in srgb, var(--viking-electric-600) 10%, transparent);--viking-accent-muted: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);--viking-accent-strong: var(--viking-electric-400);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-700) 8%, transparent);--viking-success-soft: color-mix(in srgb, var(--viking-green-500) 12%, transparent);--viking-warning-soft: color-mix(in srgb, var(--viking-gold-500) 14%, transparent);--viking-danger-soft: color-mix(in srgb, var(--viking-crimson-500) 12%, transparent);--viking-info-soft: color-mix(in srgb, var(--viking-blue-500) 12%, transparent);--viking-danger-text: var(--viking-crimson-700);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-500);--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-900) 45%, transparent);--viking-surface-glass: color-mix(in srgb, var(--viking-white-pure) 88%, transparent);--viking-surface-glass-blur: 10px;--viking-state-hover-bg: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);--viking-state-active-bg: color-mix(in srgb, var(--viking-electric-700) 12%, transparent);--viking-state-selected-bg: color-mix(in srgb, var(--viking-electric-600) 14%, transparent);--viking-state-disabled-bg: color-mix(in srgb, var(--viking-metallic-600) 12%, transparent);--viking-shadow-sm: 0 1px 2px rgba(17, 17, 17, 0.06), 0 1px 3px rgba(17, 17, 17, 0.08);--viking-shadow-md: 0 2px 4px rgba(17, 17, 17, 0.06), 0 4px 8px rgba(17, 17, 17, 0.08);--viking-shadow-lg: 0 4px 8px rgba(17, 17, 17, 0.06), 0 12px 24px rgba(17, 17, 17, 0.1)}}:root{--viking-series-1: var(--viking-electric-500);--viking-series-2: var(--viking-crimson-600);--viking-series-3: var(--viking-green-500);--viking-series-4: var(--viking-gold-500);--viking-series-5: var(--viking-crimson-500);--viking-series-6: var(--viking-blue-500);--viking-series-7: var(--viking-charcoal-700);--viking-series-8: var(--viking-metallic-500);--viking-series-default: var(--viking-series-1);--viking-series-palette: var(--viking-series-1), var(--viking-series-2), var(--viking-series-3), var(--viking-series-4), var(--viking-series-5), var(--viking-series-6), var(--viking-series-7), var(--viking-series-8)}:root{--charcoal-950: var(--viking-charcoal-950);--charcoal-900: var(--viking-charcoal-900);--charcoal-800: var(--viking-charcoal-800);--charcoal-700: var(--viking-charcoal-700);--charcoal-600: var(--viking-charcoal-600);--charcoal-500: var(--viking-charcoal-500);--metallic-600: var(--viking-metallic-600);--metallic-500: var(--viking-metallic-500);--metallic-400: var(--viking-metallic-400);--metallic-300: var(--viking-metallic-300);--metallic-200: var(--viking-metallic-200);--metallic-100: var(--viking-metallic-100);--white: var(--viking-white-pure);--black: var(--viking-black);--base-font-size: var(--viking-font-size-base);--ui-font-size: var(--viking-font-size-sm);--header-letter-spacing: var(--viking-letter-spacing-tight);--grid-unit: var(--viking-grid-unit);--space-0: var(--viking-space-0);--space-half: var(--viking-space-half);--space-0-5: var(--viking-space-0-5);--space-1: var(--viking-space-1);--space-1-5: var(--viking-space-1-5);--space-2: var(--viking-space-2);--space-2-5: var(--viking-space-2-5);--space-3: var(--viking-space-3);--space-4: var(--viking-space-4);--space-5: var(--viking-space-5);--space-6: var(--viking-space-6);--space-7: var(--viking-space-7);--space-8: var(--viking-space-8);--space-8-5: var(--viking-space-8-5);--space-9: var(--viking-space-9);--space-10: var(--viking-space-10);--space-11: var(--viking-space-11);--space-12: var(--viking-space-12);--space-14: var(--viking-space-14);--space-16: var(--viking-space-16);--space-20: var(--viking-space-20);--space-24: var(--viking-space-24);--grid-gap: var(--viking-space-3);--card-padding: var(--viking-card-padding);--page-gutter: var(--viking-page-gutter);--page-gutter-lg: var(--viking-page-gutter-lg);--page-stack-gap: var(--viking-page-stack-gap);--page-section-gap: var(--viking-page-section-gap);--form-max-width: var(--viking-form-max-width);--form-narrow-max-width: var(--viking-form-narrow-max-width);--content-readable-max-width: var(--viking-content-readable-max-width);--container-max-width: var(--viking-container-max-width);--navbar-height: var(--viking-navbar-height);--btn-min-width: var(--viking-btn-min-width);--border-radius-xs: var(--viking-radius-xs);--border-radius-sm: var(--viking-radius-sm);--border-radius-md: var(--viking-radius);--border-radius-lg: var(--viking-radius-lg);--border-radius-xl: var(--viking-radius-xl);--border-radius-pill: var(--viking-radius-pill);--transition-smooth: var(--viking-transition);--shadow-sm: var(--viking-shadow-sm);--shadow-md: var(--viking-shadow-md);--shadow-lg: var(--viking-shadow-lg);--shadow-hover: var(--viking-shadow-hover);--primary-color: var(--viking-electric-500);--accent-color: var(--viking-crimson-600);--focus-ring-width: var(--viking-ring-width);--focus-ring-offset: var(--viking-ring-offset)}:root,html[data-theme=dark]{--color-primary: var(--viking-electric-500);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-electric-400);--color-on-primary-container: var(--viking-charcoal-900);--color-surface: var(--viking-charcoal-800);--color-on-surface: var(--viking-white);--color-background: var(--viking-charcoal-900);--color-on-background: var(--viking-white);--color-surface-variant: var(--viking-charcoal-700);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-500);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-400);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-bg) 96%, transparent);--link-color: var(--viking-electric-300);--link-hover-color: var(--viking-electric-400);--hero-title-color: var(--viking-white);--primary-text-color: var(--viking-electric-300);--button-primary: var(--color-primary);--button-primary-text: var(--viking-white-pure);--color-dark-grey-btn-bg: var(--viking-charcoal-700);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-400)}html[data-theme=light]{--color-primary: var(--viking-electric-600);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-teal-500);--color-on-primary-container: var(--viking-white-pure);--color-surface: var(--viking-white-pure);--color-on-surface: var(--viking-charcoal-900);--color-background: var(--viking-white-pure);--color-on-background: var(--viking-charcoal-900);--color-surface-variant: var(--viking-surface-alt);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-500);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-white-pure) 96%, transparent);--link-color: var(--viking-electric-700);--link-hover-color: var(--viking-electric-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-electric-700);--button-primary: var(--color-primary);--button-primary-text: var(--color-on-primary);--color-dark-grey-btn-bg: var(--viking-charcoal-800);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-500)}@media(prefers-color-scheme: light){html:not([data-theme=dark]){--color-primary: var(--viking-electric-600);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-teal-500);--color-on-primary-container: var(--viking-white-pure);--color-surface: var(--viking-white-pure);--color-on-surface: var(--viking-charcoal-900);--color-background: var(--viking-white-pure);--color-on-background: var(--viking-charcoal-900);--color-surface-variant: var(--viking-surface-alt);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-500);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-white-pure) 96%, transparent);--link-color: var(--viking-electric-700);--link-hover-color: var(--viking-electric-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-electric-700);--button-primary: var(--color-primary);--button-primary-text: var(--color-on-primary);--color-dark-grey-btn-bg: var(--viking-charcoal-800);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-500)}}:root{--viking-touch-target-min: 44px;--viking-touch-target-comfort: 44px;--viking-state-disabled-opacity: 0.48;--viking-state-hover-lift: -1px;--viking-state-active-scale: 0.985;--viking-state-press-inset: inset 0 1px 2px rgba(0, 0, 0, 0.18);--viking-shadow-hover: var( --shadow-hover, 0 8px 16px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.06) );--viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.06);--viking-surface-recipe: var(--viking-surface) linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 100%);--viking-transition-interactive: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), transform var(--viking-duration-fast) var(--viking-ease-default), opacity var(--viking-duration-fast) var(--viking-ease-default);--viking-transition-transform: transform var(--viking-duration-fast) var(--viking-ease-default)}@keyframes viking-fade-in{from{opacity:0}to{opacity:1}}@keyframes viking-slide-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes viking-slide-in-right{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes viking-modal-in{from{opacity:0;transform:translateY(12px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viking-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes viking-shimmer{from{background-position:120% 0}to{background-position:-80% 0}}@keyframes viking-pulse-soft{0%,100%{opacity:1}50%{opacity:.72}}@keyframes viking-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}@keyframes viking-tooltip-in{from{opacity:0;transform:translateY(4px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viking-spin{to{transform:rotate(360deg)}}.viking-focus-ring:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-focus-ring-inset:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:calc(var(--viking-ring-offset)*-1)}.viking-touch-target{position:relative;min-width:var(--viking-touch-target-min);min-height:var(--viking-touch-target-min)}.viking-touch-target::before{content:"";position:absolute;inset:50%;width:max(100%,var(--viking-touch-target-min));height:max(100%,var(--viking-touch-target-min));transform:translate(-50%, -50%)}@media(min-width: 768px){:root{--viking-touch-target-comfort: 36px}}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}.viking-control{display:flex;align-items:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-space-2);font-family:var(--viking-font-family);font-size:var(--viking-font-size);color:var(--viking-text);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);box-shadow:var(--viking-shadow-xs);transition:var(--viking-transition-interactive);width:100%;min-width:0;box-sizing:border-box}.viking-control:hover:not(.viking-disabled):not(.viking-loading):not(:disabled){border-color:color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border-strong));box-shadow:var(--viking-shadow-sm)}.viking-control:focus-within:not(.viking-loading){outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);border-color:var(--viking-accent);box-shadow:var(--viking-shadow-sm)}.viking-form-row{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);width:100%;max-width:var(--viking-form-max-width)}@media(min-width: 600px){.viking-form-row{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.viking-form-row--3{grid-template-columns:repeat(3, minmax(0, 1fr))}}.viking-form-section-actions viking-button .viking-btn,.viking-modal-footer viking-button .viking-btn,.viking-sheet-footer viking-button .viking-btn,.viking-empty-state-actions viking-button .viking-btn,.viking-chart-empty-actions viking-button .viking-btn{min-width:0}.viking-btn,a.viking-btn,button.viking-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-btn:focus-visible,a.viking-btn:focus-visible,button.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn:disabled,.viking-btn[aria-busy=true],a.viking-btn:disabled,a.viking-btn[aria-busy=true],button.viking-btn:disabled,button.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn[aria-busy=true] .viking-btn-label,a.viking-btn[aria-busy=true] .viking-btn-label,button.viking-btn[aria-busy=true] .viking-btn-label{opacity:.85}.viking-btn viking-icon,.viking-btn .viking-icon,a.viking-btn viking-icon,a.viking-btn .viking-icon,button.viking-btn viking-icon,button.viking-btn .viking-icon{flex-shrink:0;pointer-events:none}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-btn-primary:focus-visible,a.viking-btn-primary:focus-visible,button.viking-btn-primary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-primary:disabled,.viking-btn-primary[aria-busy=true],a.viking-btn-primary:disabled,a.viking-btn-primary[aria-busy=true],button.viking-btn-primary:disabled,button.viking-btn-primary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-primary[aria-busy=true] .viking-btn-label,a.viking-btn-primary[aria-busy=true] .viking-btn-label,button.viking-btn-primary[aria-busy=true] .viking-btn-label{opacity:.85}.viking-btn-primary viking-icon,.viking-btn-primary .viking-icon,a.viking-btn-primary viking-icon,a.viking-btn-primary .viking-icon,button.viking-btn-primary viking-icon,button.viking-btn-primary .viking-icon{flex-shrink:0;pointer-events:none}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-btn-secondary:focus-visible,a.viking-btn-secondary:focus-visible,button.viking-btn-secondary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-secondary:disabled,.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary:disabled,a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary:disabled,button.viking-btn-secondary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-secondary[aria-busy=true] .viking-btn-label,a.viking-btn-secondary[aria-busy=true] .viking-btn-label,button.viking-btn-secondary[aria-busy=true] .viking-btn-label{opacity:.85}.viking-btn-secondary viking-icon,.viking-btn-secondary .viking-icon,a.viking-btn-secondary viking-icon,a.viking-btn-secondary .viking-icon,button.viking-btn-secondary viking-icon,button.viking-btn-secondary .viking-icon{flex-shrink:0;pointer-events:none}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-btn-outline:focus-visible,a.viking-btn-outline:focus-visible,button.viking-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-outline:disabled,.viking-btn-outline[aria-busy=true],a.viking-btn-outline:disabled,a.viking-btn-outline[aria-busy=true],button.viking-btn-outline:disabled,button.viking-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-outline[aria-busy=true] .viking-btn-label,a.viking-btn-outline[aria-busy=true] .viking-btn-label,button.viking-btn-outline[aria-busy=true] .viking-btn-label{opacity:.85}.viking-btn-outline viking-icon,.viking-btn-outline .viking-icon,a.viking-btn-outline viking-icon,a.viking-btn-outline .viking-icon,button.viking-btn-outline viking-icon,button.viking-btn-outline .viking-icon{flex-shrink:0;pointer-events:none}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-btn-danger:focus-visible,a.viking-btn-danger:focus-visible,button.viking-btn-danger:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-danger:disabled,.viking-btn-danger[aria-busy=true],a.viking-btn-danger:disabled,a.viking-btn-danger[aria-busy=true],button.viking-btn-danger:disabled,button.viking-btn-danger[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-danger[aria-busy=true] .viking-btn-label,a.viking-btn-danger[aria-busy=true] .viking-btn-label,button.viking-btn-danger[aria-busy=true] .viking-btn-label{opacity:.85}.viking-btn-danger viking-icon,.viking-btn-danger .viking-icon,a.viking-btn-danger viking-icon,a.viking-btn-danger .viking-icon,button.viking-btn-danger viking-icon,button.viking-btn-danger .viking-icon{flex-shrink:0;pointer-events:none}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));border-color:color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-btn-ghost:focus-visible,a.viking-btn-ghost:focus-visible,button.viking-btn-ghost:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-ghost:disabled,.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost:disabled,a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost:disabled,button.viking-btn-ghost[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-ghost[aria-busy=true] .viking-btn-label,a.viking-btn-ghost[aria-busy=true] .viking-btn-label,button.viking-btn-ghost[aria-busy=true] .viking-btn-label{opacity:.85}.viking-btn-ghost viking-icon,.viking-btn-ghost .viking-icon,a.viking-btn-ghost viking-icon,a.viking-btn-ghost .viking-icon,button.viking-btn-ghost viking-icon,button.viking-btn-ghost .viking-icon{flex-shrink:0;pointer-events:none}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{background:rgba(0,0,0,0);color:var(--viking-text);min-width:auto;box-shadow:none;border-color:rgba(0,0,0,0)}.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]){transform:scale(var(--viking-state-active-scale))}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-btn-subtle:focus-visible,a.viking-btn-subtle:focus-visible,button.viking-btn-subtle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-subtle:disabled,.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle:disabled,a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle:disabled,button.viking-btn-subtle[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-subtle[aria-busy=true] .viking-btn-label,a.viking-btn-subtle[aria-busy=true] .viking-btn-label,button.viking-btn-subtle[aria-busy=true] .viking-btn-label{opacity:.85}.viking-btn-subtle viking-icon,.viking-btn-subtle .viking-icon,a.viking-btn-subtle viking-icon,a.viking-btn-subtle .viking-icon,button.viking-btn-subtle viking-icon,button.viking-btn-subtle .viking-icon{flex-shrink:0;pointer-events:none}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{background:rgba(0,0,0,0);color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]){transform:scale(var(--viking-state-active-scale))}.viking-btn.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-btn.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface-alt));box-shadow:var(--viking-shadow-sm);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale))}.viking-btn.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));border-color:color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-ghost{background:rgba(0,0,0,0);color:var(--viking-text);min-width:auto;box-shadow:none;border-color:rgba(0,0,0,0)}.viking-btn.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:scale(var(--viking-state-active-scale))}.viking-btn.viking-subtle{background:rgba(0,0,0,0);color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:scale(var(--viking-state-active-scale))}.viking-btn.viking-compact{min-width:0}.viking-btn.viking-full{width:100%;min-width:0}.viking-btn-label{display:inline-flex;align-items:center;line-height:inherit}.viking-stack{display:flex;flex-direction:column;gap:var(--viking-stack-gap, var(--viking-space-3));align-items:var(--viking-stack-align, stretch)}.viking-stack--tight{--viking-stack-gap: var(--viking-space-1)}.viking-stack--compact{--viking-stack-gap: var(--viking-space-1-5)}.viking-stack--loose{--viking-stack-gap: var(--viking-space-4)}.viking-stack--center{--viking-stack-align: center}.viking-cluster{display:flex;flex-wrap:wrap;gap:var(--viking-cluster-gap, var(--viking-space-2));align-items:var(--viking-cluster-align, center);justify-content:var(--viking-cluster-justify, flex-start)}.viking-cluster--between{--viking-cluster-justify: space-between}.viking-cluster--end{--viking-cluster-justify: flex-end}.viking-cluster--tight{--viking-cluster-gap: var(--viking-space-half)}.viking-inline{display:inline-flex;align-items:center;gap:var(--viking-inline-gap, var(--viking-space-half))}.viking-inline--wide{--viking-inline-gap: var(--viking-space-1)}.viking-grid{display:grid;gap:var(--viking-grid-gap, var(--viking-space-3));width:100%}.viking-grid--tight{--viking-grid-gap: var(--viking-space-1)}.viking-grid--loose{--viking-grid-gap: var(--viking-space-4)}.viking-grid--2,.viking-grid--3,.viking-grid--4{grid-template-columns:1fr}@media(min-width: 768px){.viking-grid--2{grid-template-columns:repeat(2, minmax(0, 1fr))}.viking-grid--3,.viking-grid--4{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.viking-grid--3{grid-template-columns:repeat(3, minmax(0, 1fr))}.viking-grid--4{grid-template-columns:repeat(4, minmax(0, 1fr))}}.viking-divider{border:0;border-top:1px solid var(--viking-border-subtle);margin:var(--viking-space-3) 0}.viking-divider--strong{border-top-color:var(--viking-border)}.viking-surface-panel,.glass-panel{background:var(--viking-surface);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm);position:relative;overflow:hidden}.viking-surface-panel::before,.glass-panel::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}.viking-status-dot{display:inline-block;width:var(--viking-space-1);height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:currentColor;flex-shrink:0}.viking-status-dot--pulse,.telemetry-pulse{position:relative}.viking-status-dot--pulse::after,.telemetry-pulse::after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:.35;animation:viking-pulse-soft 2s var(--viking-ease-default) infinite;pointer-events:none}.dashboard-page-container .page-inner-wrapper,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{display:flex;flex-direction:column;gap:var(--viking-page-stack-gap);flex:1;padding-block:var(--viking-page-gutter-lg);padding-inline:var(--viking-page-gutter-lg);box-sizing:border-box}@media(min-width: 1440px){.dashboard-page-container .page-inner-wrapper,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{padding-inline:var(--viking-page-gutter-xl)}}.viking-page-stack,.viking-content-stack{gap:var(--viking-page-stack-gap)}.viking-card{display:block;background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm);padding:var(--viking-card-padding);color:var(--viking-text);min-width:var(--viking-card-min-width);max-width:var(--viking-card-max-width);box-sizing:border-box;position:relative;overflow:hidden;transition:var(--viking-transition-interactive)}.viking-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none;z-index:1}.viking-card.viking-card-compact,.viking-card--compact{padding:var(--viking-card-padding-compact)}.viking-card.viking-card-interactive:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-form-constrained,.viking-form-narrow,.viking-login-form,.login-shell .viking-card,.login-shell form{width:100%;max-width:var(--viking-form-max-width);margin-inline:auto}.viking-form-narrow,.login-shell .viking-card,.login-shell form{max-width:var(--viking-form-narrow-max-width)}.viking-form-constrained .viking-form-section,.viking-form-constrained viking-form-section,.viking-form-narrow .viking-form-section,.viking-form-narrow viking-form-section{max-width:var(--viking-form-max-width)}.viking-readable-prose,.viking-section-lead,.viking-page-header-subtitle{max-width:var(--viking-content-readable-max-width)}.viking-hud-panel,.panel-section,.viking-panel-card,.status-card-outlined,.panel-card{min-width:var(--viking-card-min-width)}.viking-hud-panel-header,.panel-header,.viking-panel-card-header,.card-header-clean{padding:var(--viking-panel-header-padding)}.viking-panel-card-body,.card-body-clean,.viking-hud-panel-body,.panel-body{padding:var(--viking-panel-padding)}.panel-card{padding:var(--viking-panel-padding)}.viking-metric-card,.metric-card{padding:var(--viking-card-padding-compact)}.viking-page-header,.hud-header,.dashboard-topbar{gap:var(--viking-space-3);padding-bottom:var(--viking-space-3);margin-bottom:var(--viking-page-section-gap)}.viking-page-header-sidebar.dashboard-topbar{padding:var(--viking-space-3)}.viking-footer,.mega-footer{padding:var(--viking-space-6) var(--viking-page-gutter-lg)}.viking-metric-row,.hud-metrics{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);margin-bottom:var(--viking-page-section-gap, var(--viking-space-6))}@media(min-width: 480px){.viking-metric-row,.hud-metrics{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 600px){.viking-metric-row,.hud-metrics{grid-template-columns:repeat(4, 1fr)}}@media(min-width: 768px){.viking-metric-row,.hud-metrics{grid-template-columns:repeat(12, 1fr)}}.viking-metric-card,.metric-card{display:flex;flex-direction:column;gap:var(--viking-space-1);background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);padding:var(--viking-card-padding-compact, var(--viking-space-2));border-radius:var(--viking-radius-lg);min-width:0;min-height:var(--viking-metric-card-min-height);align-items:center;justify-content:center;text-align:center;box-sizing:border-box;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);position:relative;overflow:hidden}.viking-metric-card::before,.metric-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}@media(min-width: 481px){.viking-metric-card,.metric-card{min-width:var(--viking-metric-card-min-width)}}.viking-metric-card-tall,.kpi-card{min-height:var(--viking-metric-card-tall-min-height);align-items:stretch;justify-content:flex-start;text-align:left}.viking-metric-label,.metric-card .metric-label{font-size:var(--viking-font-size-ui);font-family:var(--viking-font-family);color:var(--viking-text-muted);letter-spacing:.05em}.viking-metric-value,.metric-card .metric-value{font-size:calc(var(--viking-font-size)*1.35);font-weight:700;font-family:var(--viking-font-family);line-height:1.2}.viking-metric-card-warning,.metric-card.warning{border-left:3px solid var(--viking-warning)}.viking-metric-card-warning .viking-metric-value,.viking-metric-card-warning .metric-value,.metric-card.warning .viking-metric-value,.metric-card.warning .metric-value{color:var(--viking-warning)}.viking-metric-card-critical,.metric-card.critical{border-left:3px solid var(--viking-danger)}.viking-metric-card-critical .viking-metric-value,.viking-metric-card-critical .metric-value,.metric-card.critical .viking-metric-value,.metric-card.critical .metric-value{color:var(--viking-danger-text, var(--viking-danger))}.viking-hud-panel,.panel-section{background-color:var(--viking-surface);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--viking-shadow-sm);min-width:0;position:relative}.viking-hud-panel::before,.panel-section::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none;z-index:1}.viking-table-scroll,.table-scroll,.panel-body-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.viking-hud-panel-header,.panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding:var(--viking-panel-header-padding, var(--viking-space-3));background-color:color-mix(in srgb, var(--viking-bg) 2%, transparent);border-bottom:1px solid var(--viking-border)}.viking-hud-panel-title,.panel-header h2{font-size:var(--viking-font-size-ui);font-weight:700;text-transform:uppercase;margin:0;letter-spacing:.05em;flex:1}.viking-panel-card,.status-card-outlined{position:relative;border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background-color:var(--viking-surface);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-panel-card::before,.status-card-outlined::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none;z-index:1}.viking-panel-card-header,.card-header-clean{padding:var(--viking-panel-header-padding, var(--viking-space-3));display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-2);border-bottom:1px solid var(--viking-border)}.viking-panel-card-body,.card-body-clean{padding:var(--viking-panel-padding, var(--viking-space-3))}.viking-page-header,.hud-header,.dashboard-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-4);padding-bottom:var(--viking-space-4);margin-bottom:var(--viking-page-section-gap, var(--viking-space-4));border-bottom:1px solid var(--viking-border)}.viking-page-header-sidebar.dashboard-topbar{padding:var(--viking-panel-padding, var(--viking-space-3));background-color:var(--viking-surface);border-bottom:1px solid var(--viking-border-subtle);box-shadow:var(--viking-shadow-xs)}.viking-page-header-main,.title-group.topbar-left{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-2);min-width:0;flex:1 1 min(100%,36rem)}.viking-page-header-title-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-1);width:100%;min-width:0}.viking-page-back-link-host{flex-shrink:0}.viking-page-header-title,.hud-title,.page-title{margin:0;font-size:clamp(var(--viking-font-size-xl),3vw,var(--viking-font-size-3xl));font-weight:700;letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-page-header-subtitle,.hud-subtitle,.page-description{margin:var(--viking-space-1) 0 0;font-size:var(--viking-font-size);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed);max-width:var(--viking-content-readable-max-width)}.viking-page-header-actions,.topbar-right{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-end;gap:var(--viking-space-2);flex-shrink:0;min-width:0;margin-left:auto}.viking-empty-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--viking-space-4) var(--viking-space-3);text-align:center;color:var(--viking-text-muted);gap:var(--viking-space-1-5);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.status-card-outlined:has(.chart-custom-header) .chart-custom-header,.status-card-outlined:has(.chart-custom-header) viking-chart-card-header,.viking-chart-panel:has(viking-chart-card-header) .chart-custom-header,.viking-chart-panel:has(viking-chart-card-header) viking-chart-card-header{border-bottom:1px solid var(--viking-border-subtle);padding-bottom:var(--viking-space-2);margin-bottom:0}.viking-chart-panel-body viking-chart,.viking-chart-panel-body .viking-chart-large,.viking-chart-panel-body .viking-chart-medium{flex:1 1 auto;display:flex;width:100%;min-height:inherit;height:100%}.chart-container-large{--viking-chart-fill-min-height: var(--viking-chart-fill-min-height-lg, clamp(20rem, 40vw, 22rem));min-height:var(--viking-chart-panel-body-min-height-lg, 25rem)}.chart-container-medium{--viking-chart-fill-min-height: var(--viking-chart-fill-min-height, clamp(18rem, 36vw, 20rem));min-height:var(--viking-chart-panel-body-min-height-md, 22rem)}.viking-chart-empty,.empty-chart-state,.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-4) var(--viking-space-3);border-radius:var(--viking-radius-lg);background:var(--viking-surface-alt);border:1px dashed var(--viking-border-strong);box-shadow:var(--viking-shadow-inner);min-height:220px;gap:var(--viking-space-2);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.viking-chart-empty.compact,.empty-chart-state.compact,.panel-empty.compact{min-height:160px;padding:var(--viking-space-3) var(--viking-space-3)}.viking-chart-empty.inline,.empty-chart-state.inline,.panel-empty.inline{min-height:auto;border-style:solid;border-color:var(--viking-border);background:color-mix(in srgb, var(--viking-surface-alt) 50%, transparent)}.viking-chart-empty.is-secure .empty-icon,.viking-chart-empty.is-secure viking-app-icon,.empty-chart-state.is-secure .empty-icon,.empty-chart-state.is-secure viking-app-icon,.panel-empty.is-secure .empty-icon,.panel-empty.is-secure viking-app-icon{background:color-mix(in srgb, var(--viking-success) 14%, transparent);color:var(--viking-success)}.viking-chart-empty .empty-icon,.viking-chart-empty viking-app-icon,.empty-chart-state .empty-icon,.empty-chart-state viking-app-icon,.panel-empty .empty-icon,.panel-empty viking-app-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-6);height:var(--viking-space-6);border-radius:var(--viking-radius-lg);background:var(--viking-accent-soft);color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-sm);margin-bottom:var(--viking-space-2);font-size:28px;opacity:1}.viking-chart-empty .empty-title,.viking-chart-empty h3,.empty-chart-state .empty-title,.empty-chart-state h3,.panel-empty .empty-title,.panel-empty h3{margin:0 0 var(--viking-space-1) 0;font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-chart-empty .empty-subtitle,.viking-chart-empty p,.empty-chart-state .empty-subtitle,.empty-chart-state p,.panel-empty .empty-subtitle,.panel-empty p{margin:0;font-size:var(--viking-font-size);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed);max-width:28rem}.viking-list-empty,.empty-data-text{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-4) var(--viking-space-3);gap:var(--viking-space-1);color:var(--viking-text-muted);font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);background:var(--viking-surface-alt);border-top:1px solid var(--viking-border-subtle)}.viking-list-empty .empty-icon,.viking-list-empty viking-app-icon,.empty-data-text .empty-icon,.empty-data-text viking-app-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-5);height:var(--viking-space-5);border-radius:var(--viking-radius-md);background:var(--viking-accent-soft);color:var(--viking-accent-strong);font-size:22px;margin-bottom:var(--viking-space-2)}.viking-list-empty .empty-title,.empty-data-text .empty-title{margin:0 0 var(--viking-space-1) 0;font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text)}.viking-list-empty .empty-subtitle,.empty-data-text .empty-subtitle{margin:0;max-width:24rem}.panel-card{position:relative;padding:var(--viking-panel-padding, var(--viking-space-3));border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background-color:var(--viking-surface);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.panel-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none;z-index:1}.status-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-4) var(--viking-space-3);margin-top:var(--viking-space-4);background:var(--viking-surface-alt);border:1px dashed var(--viking-border-strong);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-inner);gap:var(--viking-space-1-5);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}@media(min-width: 601px){.status-error-state{padding:var(--viking-space-7) var(--viking-space-4)}}.status-error-state .error-state-icon,.status-error-state viking-app-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-7);height:var(--viking-space-7);border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-text-muted) 10%, transparent);color:var(--viking-text-muted);font-size:36px;margin-bottom:var(--viking-space-1);opacity:.85}.status-error-state .error-title{margin:0;font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold);color:var(--viking-text);letter-spacing:var(--viking-letter-spacing-tight)}.status-error-state .error-subtitle{margin:0 0 var(--viking-space-2);font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted);max-width:26rem}.status-error-state .retry-btn{font-weight:var(--viking-font-weight-bold)}.viking-loader-state,.loader-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--viking-space-4) var(--viking-space-3);gap:var(--viking-space-2);color:var(--viking-text-muted);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.viking-spinner,.spinner{width:var(--viking-space-4);height:var(--viking-space-4);border:3px solid var(--viking-border);border-top-color:var(--viking-accent);border-radius:50%;animation:viking-spin .8s linear infinite}@media(prefers-reduced-motion: reduce){.viking-spinner,.spinner{animation:none;border-top-color:var(--viking-accent)}}.viking-dashboard-layout,.dashboard-layout{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;min-height:calc(100vh - 64px)}@media(min-width: 901px){.viking-dashboard-layout,.dashboard-layout{flex-direction:row}}.viking-dashboard-main,.dashboard-main{flex:1;display:flex;flex-direction:column;min-width:0}.metrics-overview-header{display:flex;flex-direction:column;gap:var(--viking-space-2);margin-bottom:var(--viking-space-4)}.metrics-section-spacing{margin-top:var(--viking-page-section-gap, var(--viking-space-7))}.section-title-premium{display:flex;align-items:center;gap:var(--viking-space-2);font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-tight, -0.01em);color:var(--viking-text, var(--text-color));margin:0}.section-title-premium viking-app-icon,.section-title-premium viking-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-space-3);height:var(--viking-space-3);border-radius:var(--viking-radius-sm);background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 14%, transparent));color:var(--viking-accent-strong, var(--viking-accent));flex-shrink:0}.section-description-premium{font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted, var(--text-muted));margin:0 0 var(--viking-space-4);max-width:var(--viking-content-readable-max-width, 42rem)}.ml-stat-panels-row,.stat-panels-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2, var(--grid-gap));margin-bottom:var(--viking-space-3)}@media(min-width: 600px){.ml-stat-panels-row,.stat-panels-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.ml-stat-panels-row,.stat-panels-grid{grid-template-columns:repeat(4, 1fr)}}.ml-stat-panel{position:relative;background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding-compact, var(--viking-space-2));display:flex;justify-content:space-between;align-items:center;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);overflow:hidden;min-width:0}.ml-stat-panel::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}.ml-stat-panel:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}.ml-stat-panel.viking-stat-alert{border-color:var(--viking-danger);border-left:3px solid var(--viking-danger)}.ml-stat-panel.viking-stat-alert .stat-value{color:var(--viking-danger-text, var(--viking-danger))}.stat-info{display:flex;align-items:center;gap:var(--viking-space-2);min-width:0}.stat-title{font-weight:var(--viking-font-weight-semibold, 600);font-size:var(--viking-font-size-sm);letter-spacing:var(--viking-letter-spacing-caps, 0.04em);text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted));white-space:nowrap}.stat-value{font-size:calc(var(--viking-font-size)*1.35);font-weight:var(--viking-font-weight-bold, 700);color:var(--viking-accent-strong, var(--viking-accent));letter-spacing:var(--viking-letter-spacing-tight, -0.02em);line-height:var(--viking-line-height-tight, 1.2)}.stat-unit{font-size:var(--viking-font-size-md);color:var(--viking-text-muted, var(--text-muted));font-weight:var(--viking-font-weight-medium, 500)}.ces-meter-section{margin-bottom:var(--viking-space-4)}.ces-gauge-cluster{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--viking-space-2, var(--grid-gap))}@media(min-width: 768px){.ces-gauge-cluster{grid-template-columns:repeat(12, 1fr)}}.gauge-card{position:relative;background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding, var(--viking-space-3));display:flex;flex-direction:column;align-items:center;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);overflow:hidden}.gauge-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}.gauge-card:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}.gauge-card-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--viking-space-3);padding-bottom:var(--viking-space-1);border-bottom:1px solid var(--viking-border-subtle)}.gauge-card-header h3{font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-semibold, 600);color:var(--viking-text, var(--text-color));margin:0}.gauge-card-header viking-app-icon,.gauge-card-header viking-icon{color:var(--viking-text-muted, var(--text-muted))}.gauge-card-footer{width:100%;margin-top:var(--viking-space-3);padding-top:var(--viking-space-2);border-top:1px solid var(--viking-border-subtle);font-size:var(--viking-font-size);color:var(--viking-text-muted, var(--text-muted));display:flex;align-items:center;justify-content:center;gap:var(--viking-space-1)}.gauge-card-footer viking-app-icon,.gauge-card-footer viking-icon{color:var(--viking-warning, var(--color-warning))}.gauge-wrapper{display:flex;flex-direction:column;align-items:center;position:relative;width:100%}.gauge-center-text{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;width:100%}.gauge-center-text.threat-text{color:var(--viking-accent)}.gauge-center-text.main-text{color:var(--viking-danger, var(--color-gauge-red))}.gauge-center-text.stability-text{color:var(--viking-accent, var(--color-primary))}.gauge-center-text .unit{font-size:var(--viking-font-size-sm);margin-bottom:var(--viking-space-1);color:var(--viking-text-muted, var(--text-muted));text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps, 0.1em)}.gauge-center-text .value{font-size:calc(var(--viking-font-size)*2.25);line-height:var(--viking-line-height-tight, 1);color:var(--viking-text, var(--text-color));font-weight:var(--viking-font-weight-bold, 700)}.gauge-center-text .value .unit-symbol{font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-medium, 500);color:var(--viking-text-muted, var(--text-muted))}html[data-theme=light] .gauge-card,html[data-theme=light] .ml-stat-panel{background:var(--viking-surface-recipe, var(--viking-surface))}.viking-page-shell,.page-inner-wrapper{width:100%;max-width:var(--viking-container-max-width, var(--container-max-width, 1260px));margin-inline:auto;padding-inline:var(--viking-page-gutter, var(--viking-space-2, var(--space-2, 16px)));padding-block:var(--viking-page-gutter-lg, var(--viking-space-4, var(--space-4, 32px)));box-sizing:border-box}@media(min-width: 1440px){.viking-page-shell,.page-inner-wrapper,.viking-section-inner{padding-inline:var(--viking-page-gutter-lg, var(--viking-space-3, var(--space-3, 24px)))}}@media(min-width: 1920px){.viking-page-shell,.page-inner-wrapper,.viking-section-inner{padding-inline:var(--viking-page-gutter-xl, var(--viking-space-4, var(--space-4, 32px)))}}.viking-section{width:100%;padding-block:var(--viking-section-padding-y, var(--viking-space-6, var(--space-6, 48px)))}.viking-content-stack{display:flex;flex-direction:column;gap:var(--viking-page-stack-gap, var(--viking-space-3, var(--space-3, 24px)));width:100%}.viking-content-stack--tight{gap:var(--viking-space-3, var(--space-3, 24px))}.viking-section--compact{padding-block:var(--viking-section-padding-y-compact, var(--viking-space-4, var(--space-4, 32px)))}.viking-section--hero{padding-block:var(--viking-space-8, var(--space-8, 64px)) var(--viking-space-6, var(--space-6, 48px))}@media(min-width: 768px){.viking-section--hero{padding-block:var(--viking-space-10, 96px) var(--viking-space-8, 64px)}}.viking-section-inner{width:100%;max-width:var(--viking-container-max-width, var(--container-max-width, 1260px));margin-inline:auto;padding-inline:var(--viking-page-gutter, var(--viking-space-3, var(--space-3, 24px)));box-sizing:border-box}.viking-section-header{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--space-2, 16px));margin-bottom:var(--viking-page-section-gap, var(--viking-space-6, var(--space-6, 48px)));max-width:48rem}.viking-section-title{margin:0;font-family:var(--viking-font-family);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:var(--header-letter-spacing, -0.02em);color:var(--viking-text, var(--text-color))}.viking-section-lead{margin:0;font-family:var(--viking-font-family);font-size:var(--viking-font-size, var(--base-font-size, 16px));line-height:1.6;color:var(--viking-text-muted, var(--text-muted))}.viking-cta-row{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--space-2, 16px));align-items:stretch;width:100%}@media(min-width: 600px){.viking-cta-row{flex-direction:row;flex-wrap:wrap;align-items:center;width:auto}}.viking-cta-row .viking-btn,.viking-cta-row a.viking-btn,.viking-cta-row a.cta-button{min-width:var(--viking-btn-min-width, var(--btn-min-width, 120px))}:root{--viking-accent: var(--color-primary, var(--viking-electric-500));--viking-accent-hover: var(--viking-electric-400);--viking-accent-content: var(--color-on-primary, var(--viking-white-pure));--viking-accent-soft: color-mix(in srgb, var(--viking-accent) 18%, transparent);--viking-accent-strong: var(--color-primary-container, var(--viking-electric-300));--viking-accent-secondary: var(--accent-color, var(--viking-crimson-600));--viking-accent-secondary-hover: var(--viking-crimson-500);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-accent-secondary) 16%, transparent);--viking-bg: var(--bg-color, var(--viking-charcoal-900));--viking-surface: var(--card-bg, var(--viking-charcoal-800));--viking-surface-alt: var(--color-surface-variant, var(--viking-charcoal-700));--viking-surface-raised: var(--viking-charcoal-600);--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-950) 72%, transparent);--viking-text: var(--text-color, var(--viking-white));--viking-text-muted: var(--text-muted, var(--viking-metallic-200));--viking-text-subtle: var(--viking-metallic-300);--viking-text-inverted: var(--color-on-primary, var(--viking-charcoal-900));--viking-border: var(--border, color-mix(in srgb, var(--viking-metallic-600) 48%, transparent));--viking-border-strong: var(--border-layout, color-mix(in srgb, var(--viking-metallic-400) 68%, transparent));--viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 28%, transparent);--viking-ring: var(--focus-ring-color, var(--viking-electric-400));--viking-ring-width: var(--focus-ring-width, 2px);--viking-ring-offset: var(--focus-ring-offset, 2px);--viking-success: var(--color-success, var(--viking-green-500));--viking-warning: var(--color-warning, var(--viking-gold-500));--viking-danger: var(--color-error, var(--viking-crimson-500));--viking-info: var(--color-info, var(--viking-blue-500));--viking-danger-text: color-mix(in srgb, var(--viking-danger) 50%, var(--viking-charcoal-900));--viking-on-danger: var(--viking-white-pure);--viking-radius-xs: 4px;--viking-radius-sm: 6px;--viking-radius: var(--border-radius-md, 8px);--viking-radius-md: 10px;--viking-radius-lg: var(--border-radius-lg, 12px);--viking-radius-xl: 16px;--viking-radius-pill: var(--border-radius-pill, 999px);--viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--viking-shadow-sm: var( --shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.04) );--viking-shadow-md: var( --shadow-md, 0 2px 4px rgba(0, 0, 0, 0.16), 0 4px 8px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.05) );--viking-shadow-lg: var( --shadow-lg, 0 4px 8px rgba(0, 0, 0, 0.14), 0 12px 24px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.06) );--viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.14);--viking-font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--viking-font-family-mono: ui-monospace, 'JetBrains Mono', 'SF Mono', 'Cascadia Code', Consolas, monospace;--viking-font-size-2xs: 11px;--viking-font-size-xs: 12px;--viking-font-size-sm: max(14px, var(--ui-font-size, 14px));--viking-font-size: max(16px, var(--base-font-size, 16px));--viking-font-size-md: max(16px, calc(var(--viking-font-size) * 1.125));--viking-font-size-lg: max(16px, calc(var(--viking-font-size) * 1.25));--viking-font-size-xl: max(18px, calc(var(--viking-font-size) * 1.5));--viking-font-size-2xl: max(20px, calc(var(--viking-font-size) * 1.875));--viking-font-size-3xl: max(24px, calc(var(--viking-font-size) * 2.25));--viking-font-size-4xl: max(30px, calc(var(--viking-font-size) * 3));--viking-font-size-ui: var(--viking-font-size-sm);--viking-font-weight-regular: 400;--viking-font-weight-medium: 500;--viking-font-weight-semibold: 600;--viking-font-weight-bold: 700;--viking-line-height-tight: 1.25;--viking-line-height-snug: 1.375;--viking-line-height-normal: 1.5;--viking-line-height-relaxed: 1.625;--viking-line-height-loose: 1.75;--viking-letter-spacing-tight: var(--header-letter-spacing, -0.02em);--viking-letter-spacing-normal: 0;--viking-letter-spacing-wide: 0.025em;--viking-letter-spacing-wider: 0.05em;--viking-letter-spacing-caps: 0.08em;--viking-control-height: var(--viking-touch-target-min, 44px);--viking-control-height-sm: 40px;--viking-control-height-xs: 24px;--viking-control-padding-x: var(--space-2, var(--viking-space-2, 16px));--viking-btn-min-width: var(--btn-min-width, 120px);--viking-grid-unit: 4px;--viking-space-0: 0;--viking-space-half: var(--space-half, 4px);--viking-space-1: var(--space-1, 8px);--viking-space-1-5: var(--space-1-5, 12px);--viking-space-2: var(--space-2, 16px);--viking-space-3: var(--space-3, 24px);--viking-space-4: var(--space-4, 32px);--viking-space-5: var(--space-5, 40px);--viking-space-6: var(--space-6, 48px);--viking-space-7: var(--space-7, 56px);--viking-space-8: var(--space-8, 64px);--viking-chart-axis-size: 12px;--viking-container-max-width: var(--container-max-width, 1260px);--viking-navbar-height: var(--navbar-height, 64px);--viking-sidebar-width: 256px;--viking-ease-default: cubic-bezier(0.4, 0, 0.2, 1);--viking-duration-fast: 150ms;--viking-duration: 250ms;--viking-duration-slow: 350ms;--viking-transition-colors: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default);--viking-transition: var(--transition-smooth, all 0.25s cubic-bezier(0.4, 0, 0.2, 1));--viking-z-overlay: 1000;--viking-z-toast: 1100;--viking-z-tooltip: 1200}html[data-theme=dark]{--viking-danger-text: var(--viking-danger)}@media(prefers-color-scheme: dark){html:not([data-theme=light]){--viking-danger-text: var(--viking-danger)}}html{color-scheme:dark light}html,body,.viking-btn,.viking-card,.viking-hud-panel,.viking-metric-card,.viking-panel-card{transition:var(--viking-transition-colors)}@media(min-width: 768px){:root{--viking-control-height: 40px;--viking-control-height-sm: 32px}}.viking-tooltip{position:fixed;z-index:var(--viking-z-tooltip);display:inline-flex;align-items:center;gap:var(--viking-space-1);max-width:min(20rem,100vw - var(--viking-space-4));padding:var(--viking-space-half) var(--viking-space-1);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);line-height:var(--viking-line-height-snug);color:var(--viking-text-inverted);background:var(--viking-charcoal-900);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius);box-shadow:var(--viking-shadow-md);pointer-events:none;animation:viking-tooltip-in var(--viking-duration-fast) var(--viking-ease-out)}html[data-theme=light] .viking-tooltip{color:var(--viking-white-pure);background:var(--viking-charcoal-800);border-color:color-mix(in srgb, var(--viking-charcoal-600) 45%, transparent)}@media(prefers-color-scheme: light){html:not([data-theme=dark]) .viking-tooltip{color:var(--viking-white-pure);background:var(--viking-charcoal-800);border-color:color-mix(in srgb, var(--viking-charcoal-600) 45%, transparent)}}.viking-tooltip-text{flex:1;min-width:0}.viking-tooltip-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);padding:0 var(--viking-space-half);border:1px solid color-mix(in srgb, var(--viking-text-inverted) 35%, transparent);border-radius:var(--viking-radius-xs);line-height:1.4;white-space:nowrap}.viking-tooltip-host{-webkit-tap-highlight-color:rgba(0,0,0,0)}@media(prefers-reduced-motion: reduce){.viking-tooltip{animation:none}}.viking-heading{margin:0;font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);line-height:var(--viking-line-height-tight);color:var(--viking-text)}.viking-heading-xl{font-size:clamp(var(--viking-font-size-2xl),4vw,var(--viking-font-size-4xl))}.viking-heading-lg{font-size:var(--viking-font-size-xl)}.viking-heading-sm{font-size:var(--viking-font-size-lg)}.viking-text{margin:0;line-height:var(--viking-line-height-relaxed);color:var(--viking-text)}.viking-text-muted{margin:0;line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted);max-width:var(--viking-content-readable-max-width, 48rem)}.viking-label{display:block;font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted)}.viking-metric{display:block;font-size:var(--viking-font-size-2xl);font-weight:var(--viking-font-weight-bold);font-variant-numeric:tabular-nums;color:var(--viking-text)}.viking-badge{display:inline-flex;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-half) var(--viking-space-1);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);border-radius:var(--viking-radius-pill);border:1px solid var(--viking-border);background:var(--viking-surface-alt);color:var(--viking-text);white-space:nowrap}.viking-badge-accent{background:var(--viking-accent);border-color:color-mix(in srgb, var(--viking-accent) 80%, var(--viking-black));color:var(--viking-accent-content)}.viking-badge-success{background:color-mix(in srgb, var(--viking-success) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-success) 40%, transparent);color:var(--viking-success)}.viking-badge-warning{background:color-mix(in srgb, var(--viking-warning) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-warning) 40%, transparent);color:var(--viking-warning)}.viking-badge-danger{background:color-mix(in srgb, var(--viking-danger) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-danger) 40%, transparent);color:var(--viking-danger)}.viking-badge-subtle{background:var(--viking-surface-alt);color:var(--viking-text-muted);font-size:var(--viking-font-size-2xs)}.viking-callout-static{padding:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-border);background:var(--viking-surface-alt)}.viking-callout-static strong{display:block;margin-bottom:var(--viking-space-half)}.viking-callout-static p{margin:0;font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.viking-callout-info{border-color:color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface))}.viking-callout-warning{border-color:color-mix(in srgb, var(--viking-warning) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-warning) 8%, var(--viking-surface))}.viking-callout-success{border-color:color-mix(in srgb, var(--viking-success) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-success) 8%, var(--viking-surface))}.viking-callout-danger{border-color:color-mix(in srgb, var(--viking-danger) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-danger) 8%, var(--viking-surface))}.viking-progress{width:100%;height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);overflow:hidden}.viking-progress-bar{height:100%;background:var(--viking-accent);border-radius:inherit;transition:width var(--viking-duration) var(--viking-ease-out)}.viking-progress-indeterminate .viking-progress-bar{width:40%;animation:viking-progress-slide 1.2s ease-in-out infinite}@keyframes viking-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}.viking-skeleton-row{display:flex;align-items:center;gap:var(--viking-space-2)}.viking-skeleton-lines{flex:1;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-skeleton{background:linear-gradient(90deg, var(--viking-surface-alt) 25%, var(--viking-surface-raised) 50%, var(--viking-surface-alt) 75%);background-size:200% 100%;animation:viking-shimmer 1.5s ease-in-out infinite;border-radius:var(--viking-radius-sm)}.viking-skeleton-circle{width:3rem;height:3rem;border-radius:50%;flex-shrink:0}.viking-skeleton-line{height:.75rem}.viking-skeleton-line-short{width:60%}@keyframes viking-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.viking-checkbox-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);cursor:pointer;font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-checkbox-label input{width:1.125rem;height:1.125rem;accent-color:var(--viking-accent)}.viking-select-native{width:100%;min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-family:inherit;font-size:var(--viking-font-size-sm)}.viking-select-native:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}.viking-table-wrap{overflow-x:auto;width:100%}.viking-table{width:100%;border-collapse:collapse;font-size:var(--viking-font-size-sm)}.viking-table th,.viking-table td{padding:var(--viking-space-1) var(--viking-space-2);text-align:left;border-bottom:1px solid var(--viking-border)}.viking-table th{color:var(--viking-text-muted);font-weight:var(--viking-font-weight-semibold)}.viking-tabs{display:inline-flex;gap:var(--viking-space-half);padding:var(--viking-space-half);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-tab{padding:var(--viking-space-1) var(--viking-space-2);border:none;border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);cursor:pointer;min-height:var(--viking-touch-target-min, 44px)}.viking-tab-active{background:var(--viking-surface);color:var(--viking-text);box-shadow:var(--viking-shadow-xs)}.viking-tab:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}.viking-page-header-static{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-4);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-md)}.viking-kbd-static{display:inline-block;font-family:inherit;font-size:calc(var(--viking-font-size)*.75);padding:2px 6px;border-radius:calc(var(--viking-radius)/2);border:1px solid var(--viking-border);background:var(--viking-surface-alt)}.viking-divider{display:flex;align-items:center;gap:var(--viking-space-2);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs)}.viking-divider::before,.viking-divider::after{content:"";flex:1;height:1px;background:var(--viking-border)}.viking-demo-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.viking-demo-row-stack{flex-direction:column;align-items:stretch}.viking-breadcrumbs-static{font-size:var(--viking-font-size-sm)}.viking-breadcrumbs-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);margin:0;padding:0;list-style:none}.viking-breadcrumbs-list li:not(:last-child)::after{content:"/";margin-left:var(--viking-space-1);color:var(--viking-text-muted)}.viking-breadcrumbs-list a{color:var(--viking-accent);text-decoration:none}.viking-breadcrumbs-list a:hover{text-decoration:underline}.viking-pagination-static{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.viking-switch-static{display:inline-flex;align-items:center;gap:var(--viking-space-1);cursor:pointer;font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-switch-static input{width:2.5rem;height:1.375rem;accent-color:var(--viking-accent)}.viking-kanban-demo{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.viking-kanban-col{flex:1;min-width:10rem;padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-kanban-card{padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:var(--viking-surface-alt);font-size:var(--viking-font-size-sm)}.viking-uptime-demo{display:flex;flex-direction:column;gap:var(--viking-space-1);max-width:20rem}.viking-uptime-segments{display:flex;gap:2px;height:var(--viking-space-2)}.viking-uptime-seg{flex:1;border-radius:1px;min-width:4px}.viking-uptime-up{background:var(--viking-success)}.viking-uptime-degraded{background:var(--viking-warning)}.viking-uptime-down{background:var(--viking-danger)}.viking-sheet-demo{max-width:20rem;padding:var(--viking-space-2)}.viking-wizard-demo{max-width:24rem;padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2)}@media(prefers-reduced-motion: reduce){.viking-skeleton,.viking-progress-indeterminate .viking-progress-bar{animation:none}}.viking-hud-panel{display:flex;flex-direction:column;gap:var(--viking-space-1);padding:var(--viking-card-padding);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-md);max-width:20rem}.viking-avatar-static{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--viking-border);background:var(--viking-surface-alt);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-bold);color:var(--viking-text)}.viking-avatar-accent{background:var(--viking-accent-soft);border-color:var(--viking-accent);color:var(--viking-accent)}.viking-empty-state-static{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-4);text-align:center;border:1px dashed var(--viking-border);border-radius:var(--viking-radius-lg);max-width:24rem}.viking-spinner-static{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--viking-border);border-top-color:var(--viking-accent);border-radius:50%;animation:viking-spinner-spin .8s linear infinite}@keyframes viking-spinner-spin{to{transform:rotate(360deg)}}.viking-loading-overlay-demo{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-3);max-width:20rem}.viking-separator-static{border:0;border-top:1px solid var(--viking-border);margin:var(--viking-space-1) 0}.viking-icon-badge-static{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-badge-size, var(--viking-space-6));height:var(--viking-icon-badge-size, var(--viking-space-6));padding:var(--viking-icon-badge-padding, var(--viking-space-half));box-sizing:border-box;border-radius:var(--viking-radius-lg);border:none;background:var(--viking-accent-soft);color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-sm);font-size:var(--viking-font-size-sm)}.viking-textarea-static{width:100%;min-height:5rem;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-family:inherit;font-size:var(--viking-font-size-sm);resize:vertical}.viking-textarea-static:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-radio-static{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-radio-static label{display:inline-flex;align-items:center;gap:var(--viking-space-1);font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-slider-static{width:100%;accent-color:var(--viking-accent)}.viking-otp-static{display:flex;gap:var(--viking-space-1)}.viking-otp-static input{width:2.5rem;height:2.5rem;text-align:center;border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-size:var(--viking-font-size-lg)}.viking-file-upload-static{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);text-align:center}.viking-pillbox-static{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-gauge-demo,.viking-ring-gauge-demo{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-1)}.viking-chart-empty-static{text-align:center}.viking-status-metric-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-bar-static{display:flex;flex-direction:column;gap:var(--viking-space-half);max-width:16rem}.viking-bar-track{width:100%;height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);overflow:hidden}.viking-bar-fill{height:100%;background:var(--viking-accent);border-radius:inherit}.viking-nav-menu-static,.viking-sidebar-nav-static{display:flex;flex-direction:column;gap:var(--viking-space-half);max-width:14rem}.viking-nav-item-static,.viking-sidebar-nav-item{display:block;padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-sm);color:var(--viking-text-muted);text-decoration:none;font-size:var(--viking-font-size-sm)}.viking-nav-item-static.is-active,.viking-sidebar-nav-item.is-active{background:var(--viking-accent-soft);color:var(--viking-accent);font-weight:var(--viking-font-weight-semibold)}.viking-menubar-static{display:inline-flex;gap:var(--viking-space-half);padding:var(--viking-space-half);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-command-static{display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-accordion-static{padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-accordion-static summary{cursor:pointer;list-style:none}.viking-accordion-static summary::-webkit-details-marker{display:none}.viking-timeline-static{margin:0;padding:0 0 0 var(--viking-space-3);border-left:2px solid var(--viking-border);list-style:none;display:flex;flex-direction:column;gap:var(--viking-space-2)}.viking-toggle-group-static{display:inline-flex;gap:var(--viking-space-half);padding:var(--viking-space-half);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-fab-static{position:absolute;right:var(--viking-space-2);bottom:var(--viking-space-2);display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid var(--viking-border-strong);border-radius:50%;background:var(--viking-accent);color:var(--viking-accent-content);font-size:var(--viking-font-size-xl);cursor:pointer;box-shadow:var(--viking-shadow-md)}.viking-scroll-area-static{max-height:8rem;overflow-y:auto;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-button-group-static{display:inline-flex;flex-wrap:wrap;gap:var(--viking-space-half)}.viking-whitepaper-cta-static{display:flex;flex-direction:column;gap:var(--viking-space-2);max-width:24rem}.viking-search-result-static{display:flex;flex-direction:column;gap:var(--viking-space-half);padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);text-decoration:none;color:inherit;transition:var(--viking-transition-interactive)}.viking-search-result-static:hover{background:color-mix(in srgb, var(--viking-accent) 5%, transparent);border-color:color-mix(in srgb, var(--viking-accent) 30%, transparent)}.viking-search-result-title{font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);color:var(--viking-text)}.viking-search-result-snippet{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}@media(prefers-reduced-motion: reduce){.viking-spinner-static{animation:none}}.viking-input,.viking-input-shell{display:flex;align-items:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-space-2);font-family:var(--viking-font-family);font-size:var(--viking-font-size);color:var(--viking-text);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);box-shadow:var(--viking-shadow-xs);transition:var(--viking-transition-interactive);width:100%;min-width:0;box-sizing:border-box}.viking-input:hover:not(.viking-disabled):not(.viking-loading):not(:disabled),.viking-input-shell:hover:not(.viking-disabled):not(.viking-loading):not(:disabled){border-color:color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border-strong));box-shadow:var(--viking-shadow-sm)}.viking-input:focus-within:not(.viking-loading),.viking-input-shell:focus-within:not(.viking-loading){outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);border-color:var(--viking-accent);box-shadow:var(--viking-shadow-sm)}.viking-input input,.viking-input-shell input,input.viking-input-native{flex:1;min-width:0;border:none;outline:none !important;background:rgba(0,0,0,0);color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size);padding:0}.viking-input input::placeholder,.viking-input-shell input::placeholder,input.viking-input-native::placeholder{color:var(--viking-text-muted)}.viking-input input:disabled,.viking-input-shell input:disabled,input.viking-input-native:disabled{cursor:not-allowed}.viking-input-clear{display:inline-flex;align-items:center;justify-content:center;min-width:var(--viking-touch-target-comfort);min-height:var(--viking-touch-target-comfort);border:none;background:rgba(0,0,0,0);color:var(--viking-text-muted);cursor:pointer;padding:var(--viking-space-half);border-radius:var(--viking-radius-pill);transition:var(--viking-transition-interactive);position:relative;flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-input-clear:hover{color:var(--viking-text);background:var(--viking-accent-soft)}.viking-input-clear:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-input-clear:active{transform:scale(var(--viking-state-active-scale))}.viking-input-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xs);padding:0 var(--viking-space-half);line-height:1.4}.viking-input-icon{color:var(--viking-text-muted);flex-shrink:0}.viking-input-shell.viking-disabled,.viking-input-shell.viking-loading,.viking-input.viking-disabled,.viking-input.viking-loading{opacity:var(--viking-state-disabled-opacity)}.viking-input-shell.viking-loading,.viking-input.viking-loading{cursor:wait}.auth-btn,a.auth-btn,button.auth-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.auth-btn:focus-visible,a.auth-btn:focus-visible,button.auth-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.auth-btn:disabled,.auth-btn[aria-busy=true],a.auth-btn:disabled,a.auth-btn[aria-busy=true],button.auth-btn:disabled,button.auth-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.auth-btn[aria-busy=true] .viking-btn-label,a.auth-btn[aria-busy=true] .viking-btn-label,button.auth-btn[aria-busy=true] .viking-btn-label{opacity:.85}.auth-btn viking-icon,.auth-btn .viking-icon,a.auth-btn viking-icon,a.auth-btn .viking-icon,button.auth-btn viking-icon,button.auth-btn .viking-icon{flex-shrink:0;pointer-events:none}.auth-btn,a.auth-btn,button.auth-btn{text-transform:uppercase;background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.auth-btn:hover:not(:disabled):not([aria-busy=true]),a.auth-btn:hover:not(:disabled):not([aria-busy=true]),button.auth-btn:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.auth-btn:active:not(:disabled):not([aria-busy=true]),a.auth-btn:active:not(:disabled):not([aria-busy=true]),button.auth-btn:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.auth-btn svg,.auth-btn .material-icons,a.auth-btn svg,a.auth-btn .material-icons,button.auth-btn svg,button.auth-btn .material-icons{flex-shrink:0;transition:transform var(--viking-duration-fast, 150ms) var(--viking-ease-default, ease)}.auth-btn:hover svg,a.auth-btn:hover svg,button.auth-btn:hover svg{transform:translateX(2px)}.auth-btn,a.auth-btn,button.auth-btn{color:var(--viking-white-pure, var(--viking-white-pure)) !important}.auth-btn svg,.auth-btn .material-icons,.auth-btn [data-viking-icon],.auth-btn viking-icon,.auth-btn span,a.auth-btn svg,a.auth-btn .material-icons,a.auth-btn [data-viking-icon],a.auth-btn viking-icon,a.auth-btn span,button.auth-btn svg,button.auth-btn .material-icons,button.auth-btn [data-viking-icon],button.auth-btn viking-icon,button.auth-btn span{color:inherit !important}.auth-btn.auth-btn-outline,a.auth-btn.auth-btn-outline{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.auth-btn.auth-btn-outline:focus-visible,a.auth-btn.auth-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.auth-btn.auth-btn-outline:disabled,.auth-btn.auth-btn-outline[aria-busy=true],a.auth-btn.auth-btn-outline:disabled,a.auth-btn.auth-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label,a.auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label{opacity:.85}.auth-btn.auth-btn-outline viking-icon,.auth-btn.auth-btn-outline .viking-icon,a.auth-btn.auth-btn-outline viking-icon,a.auth-btn.auth-btn-outline .viking-icon{flex-shrink:0;pointer-events:none}.auth-btn.auth-btn-outline,a.auth-btn.auth-btn-outline{text-transform:uppercase;background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]),a.auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.auth-btn.auth-btn-outline:hover svg,a.auth-btn.auth-btn-outline:hover svg{transform:none}.mobile-auth-btn,a.mobile-auth-btn,button.mobile-auth-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mobile-auth-btn:focus-visible,a.mobile-auth-btn:focus-visible,button.mobile-auth-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.mobile-auth-btn:disabled,.mobile-auth-btn[aria-busy=true],a.mobile-auth-btn:disabled,a.mobile-auth-btn[aria-busy=true],button.mobile-auth-btn:disabled,button.mobile-auth-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.mobile-auth-btn[aria-busy=true] .viking-btn-label,a.mobile-auth-btn[aria-busy=true] .viking-btn-label,button.mobile-auth-btn[aria-busy=true] .viking-btn-label{opacity:.85}.mobile-auth-btn viking-icon,.mobile-auth-btn .viking-icon,a.mobile-auth-btn viking-icon,a.mobile-auth-btn .viking-icon,button.mobile-auth-btn viking-icon,button.mobile-auth-btn .viking-icon{flex-shrink:0;pointer-events:none}.mobile-auth-btn,a.mobile-auth-btn,button.mobile-auth-btn{text-transform:uppercase;background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.mobile-auth-btn:hover:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn:hover:not(:disabled):not([aria-busy=true]),button.mobile-auth-btn:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]),button.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.mobile-auth-btn svg,.mobile-auth-btn .material-icons,a.mobile-auth-btn svg,a.mobile-auth-btn .material-icons,button.mobile-auth-btn svg,button.mobile-auth-btn .material-icons{flex-shrink:0;transition:transform var(--viking-duration-fast, 150ms) var(--viking-ease-default, ease)}.mobile-auth-btn:hover svg,a.mobile-auth-btn:hover svg,button.mobile-auth-btn:hover svg{transform:translateX(2px)}.mobile-auth-btn,a.mobile-auth-btn,button.mobile-auth-btn{width:100%;min-width:0;justify-content:center;color:var(--viking-white-pure, var(--viking-white-pure)) !important}.mobile-auth-btn svg,.mobile-auth-btn .material-icons,.mobile-auth-btn [data-viking-icon],.mobile-auth-btn viking-icon,.mobile-auth-btn span,a.mobile-auth-btn svg,a.mobile-auth-btn .material-icons,a.mobile-auth-btn [data-viking-icon],a.mobile-auth-btn viking-icon,a.mobile-auth-btn span,button.mobile-auth-btn svg,button.mobile-auth-btn .material-icons,button.mobile-auth-btn [data-viking-icon],button.mobile-auth-btn viking-icon,button.mobile-auth-btn span{color:inherit !important}.mobile-auth-btn:hover,.mobile-auth-btn:focus-visible,a.mobile-auth-btn:hover,a.mobile-auth-btn:focus-visible,button.mobile-auth-btn:hover,button.mobile-auth-btn:focus-visible{color:var(--viking-white-pure, var(--viking-white-pure)) !important}.mobile-auth-btn.auth-signout-btn,a.mobile-auth-btn.auth-signout-btn,button.mobile-auth-btn.auth-signout-btn{color:var(--viking-text-muted) !important}.mobile-auth-btn.auth-btn-outline,a.mobile-auth-btn.auth-btn-outline{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mobile-auth-btn.auth-btn-outline:focus-visible,a.mobile-auth-btn.auth-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.mobile-auth-btn.auth-btn-outline:disabled,.mobile-auth-btn.auth-btn-outline[aria-busy=true],a.mobile-auth-btn.auth-btn-outline:disabled,a.mobile-auth-btn.auth-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.mobile-auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label,a.mobile-auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label{opacity:.85}.mobile-auth-btn.auth-btn-outline viking-icon,.mobile-auth-btn.auth-btn-outline .viking-icon,a.mobile-auth-btn.auth-btn-outline viking-icon,a.mobile-auth-btn.auth-btn-outline .viking-icon{flex-shrink:0;pointer-events:none}.mobile-auth-btn.auth-btn-outline,a.mobile-auth-btn.auth-btn-outline{text-transform:uppercase;background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.mobile-auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.mobile-auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.mobile-auth-btn.auth-btn-outline:hover svg,a.mobile-auth-btn.auth-btn-outline:hover svg{transform:none}.sr-only,.visually-hidden{position:absolute !important;width:0 !important;height:0 !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.skip-link{position:absolute;top:0;left:var(--space-2, 16px);z-index:10000;padding:var(--space-1, 8px) var(--space-2, 16px);border-radius:var(--border-radius-sm, 8px);background-color:var(--black, var(--viking-black)) !important;color:var(--white, var(--viking-white-pure)) !important;text-decoration:none;font-weight:600;font-size:max(16px,var(--base-font-size, 16px));line-height:1.4;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;border:0}.skip-link:focus,.skip-link:focus-visible{clip:auto;clip-path:none;width:auto;height:auto;overflow:visible;white-space:normal;outline:var(--focus-ring-width, 3px) solid var(--focus-ring-color, var(--viking-accent));outline-offset:var(--focus-ring-offset, 2px)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color) !important;outline-offset:var(--focus-ring-offset) !important}.viking-input-shell input:focus,.viking-input-shell input:focus-visible,.viking-textarea-shell textarea:focus,.viking-textarea-shell textarea:focus-visible{outline:none !important}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}@media(forced-colors: active){a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid CanvasText !important}}.navbar{position:sticky;top:0;z-index:50;width:100%;min-height:var(--viking-navbar-height, 64px);background-color:var(--navbar-bg, var(--viking-surface));border-bottom:1px solid var(--border-layout, var(--viking-border));display:flex;flex-direction:column;align-items:stretch;padding:0 var(--viking-space-2, 16px);box-sizing:border-box;overflow:visible;container-type:inline-size;container-name:viking-navbar}@media(min-width: 768px){.navbar{padding-inline:var(--viking-space-3, 24px)}}.navbar{box-shadow:var(--viking-shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.2));isolation:isolate}.navbar-brand{margin-right:var(--viking-space-1, 8px);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, 8px);text-decoration:none;overflow:visible;flex-shrink:0;padding:0;min-height:36px;line-height:1;transition:filter .3s ease}.navbar-title{font-size:var(--base-font-size);font-weight:700;line-height:1.2;color:var(--text-color);letter-spacing:-0.02em}.navbar-logo{font-size:28px;width:36px;height:36px;line-height:1;color:var(--color-primary, var(--viking-accent));overflow:visible;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.navbar-brand .navbar-logo,.navbar-brand viking-icon.navbar-logo{color:var(--color-primary, var(--viking-accent)) !important}.navbar-brand .navbar-logo.mat-icon,.navbar-brand mat-icon.navbar-logo{overflow:visible !important;width:36px !important;height:36px !important;font-size:28px !important;line-height:36px !important;padding:0 !important;box-sizing:border-box;display:inline-flex !important;align-items:center !important;justify-content:center !important}.navbar-content{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--viking-space-1, 8px);width:100%;max-width:var(--viking-container-max-width, 1260px);margin-inline:auto;min-width:0;min-height:var(--viking-navbar-height, 64px)}.navbar-left{grid-column:1;display:flex;align-items:center;justify-content:flex-start;flex:0 1 auto;min-width:0;flex-shrink:0}.navbar-right{grid-column:3;display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:var(--viking-space-1, 8px);min-width:0;flex-shrink:0}.navbar-search,.navbar-search viking-button-wc,.navbar-right viking-theme-toggle-wc,.navbar-right .menu-toggle-btn,.navbar-right viking-button.menu-toggle-btn,.navbar-right viking-button-wc.menu-toggle-btn{flex:0 0 auto}.navbar-center{grid-column:2;display:flex;justify-content:center;align-items:center;min-width:0}.desktop-nav{display:none;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--viking-space-1, 8px);padding:var(--viking-space-half, 4px) 0;min-width:0;max-width:100%;overflow:hidden}.desktop-auth{display:none;align-items:center;flex-shrink:0;gap:var(--viking-space-1, 8px)}.desktop-auth viking-button,.desktop-auth viking-button-wc{min-width:auto}.nav-btn{position:relative;font-size:var(--viking-font-size-sm, 14px) !important;color:var(--nav-link-color, var(--text-muted)) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease !important;border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0 !important;padding:0 var(--viking-space-1-5, 12px) !important;height:var(--viking-control-height, 40px) !important;line-height:var(--viking-control-height, 40px) !important;display:inline-flex !important;align-items:center !important;gap:6px !important;text-decoration:none;background:rgba(0,0,0,0);border:none;cursor:pointer;overflow:hidden;flex-shrink:1;min-width:0;white-space:nowrap}.nav-btn[hidden],.mobile-nav-btn[hidden]{display:none !important}.nav-btn .material-icons,.nav-btn svg,.nav-btn .viking-icon,.nav-btn [data-viking-icon],.mobile-nav-btn svg,.mobile-nav-btn [data-viking-icon],.auth-btn svg,.auth-btn [data-viking-icon],.theme-toggle-btn svg,.menu-toggle-btn svg,.navbar-search-trigger [data-viking-icon],.navbar-search-mobile-btn [data-viking-icon]{margin:0;flex-shrink:0}.nav-btn svg,.mobile-nav-btn svg,.auth-btn svg,.nav-btn [data-viking-icon] svg,.mobile-nav-btn [data-viking-icon] svg,.auth-btn [data-viking-icon] svg{width:16px;height:16px}.theme-toggle-btn svg,.menu-toggle-btn svg,.navbar-search-trigger svg,.navbar-search-mobile-btn svg,.theme-toggle-btn [data-viking-icon] svg,.menu-toggle-btn [data-viking-icon] svg,.navbar-search-trigger [data-viking-icon] svg,.navbar-search-mobile-btn [data-viking-icon] svg{width:24px;height:24px}.navbar-search-trigger [data-viking-icon] svg,.navbar-search-mobile-btn [data-viking-icon] svg{width:20px;height:20px}.nav-btn .material-icons{font-size:var(--base-font-size);width:16px;height:16px}.nav-btn::before{content:"";position:absolute;inset:auto 16px 0;height:2px;border-radius:2px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 80%, transparent), transparent);opacity:0;transform:scaleX(0.4);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.nav-btn:hover{color:var(--text-color) !important;background-color:color-mix(in srgb, var(--viking-accent) 10%, transparent) !important;transform:translateY(-1px)}.nav-btn:hover::before{opacity:1;transform:scaleX(1)}html[data-theme=light]{--nav-link-color: color-mix(in srgb, var(--viking-charcoal-900) 88%, var(--white))}html[data-theme=light] .nav-btn,html[data-theme=light] .mobile-nav-btn{color:var(--nav-link-color) !important}html[data-theme=light] .menu-toggle-btn,html[data-theme=light] .theme-toggle-btn,html[data-theme=light] .navbar-search-trigger,html[data-theme=light] .navbar-search-mobile-btn{color:var(--viking-text, var(--text-color)) !important}html[data-theme=light] .nav-btn:hover,html[data-theme=light] .mobile-nav-btn:hover{background-color:color-mix(in srgb, var(--viking-accent) 10%, transparent) !important}.nav-btn.active{color:var(--text-color) !important;background-color:color-mix(in srgb, var(--viking-accent) 14%, transparent) !important;box-shadow:inset 0 -2px 0 0 var(--viking-accent),0 0 12px color-mix(in srgb, var(--viking-accent) 18%, transparent) !important}.nav-btn.active::before{opacity:1;transform:scaleX(1)}.navbar .theme-toggle-btn,.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);padding:0;margin:0;border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.navbar .theme-toggle-btn:hover,.theme-toggle-btn:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.navbar .theme-toggle-btn:focus-visible,.theme-toggle-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.navbar .theme-toggle-btn,.theme-toggle-btn{display:inline-grid;place-items:center;padding:0;border-color:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 32%, var(--viking-border-strong, var(--border)));background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 8%, var(--viking-surface, var(--card-bg)));color:var(--viking-accent-strong, var(--viking-ring))}.navbar .theme-toggle-btn svg,.navbar .theme-toggle-btn viking-icon,.theme-toggle-btn svg,.theme-toggle-btn viking-icon{display:block;width:24px;height:24px}.navbar .theme-toggle-btn:hover,.theme-toggle-btn:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background-color:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 14%, var(--viking-surface, var(--card-bg)));color:var(--viking-accent-strong, var(--viking-ring));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.navbar .theme-toggle-btn:active,.theme-toggle-btn:active{transform:scale(var(--viking-state-active-scale, 0.98))}.navbar .theme-toggle-btn .material-icons,.navbar .theme-toggle-btn svg,.theme-toggle-btn .material-icons,.theme-toggle-btn svg{width:24px;height:24px}.menu-toggle-btn,viking-button.menu-toggle-btn,viking-button-wc.menu-toggle-btn,#navbar-search-trigger{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);padding:0;margin:0;border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.menu-toggle-btn:hover,viking-button.menu-toggle-btn:hover,viking-button-wc.menu-toggle-btn:hover,#navbar-search-trigger:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.menu-toggle-btn:focus-visible,viking-button.menu-toggle-btn:focus-visible,viking-button-wc.menu-toggle-btn:focus-visible,#navbar-search-trigger:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.menu-toggle-btn,viking-button.menu-toggle-btn,viking-button-wc.menu-toggle-btn,#navbar-search-trigger{display:inline-grid !important;place-items:center;padding:0}.menu-toggle-btn svg,.menu-toggle-btn viking-icon,viking-button.menu-toggle-btn svg,viking-button.menu-toggle-btn viking-icon,viking-button-wc.menu-toggle-btn svg,viking-button-wc.menu-toggle-btn viking-icon,#navbar-search-trigger svg,#navbar-search-trigger viking-icon{display:block;width:24px;height:24px}.navbar-search viking-button-wc::part(control),viking-button-wc.menu-toggle-btn::part(control),.navbar-right viking-theme-toggle-wc::part(control){display:inline-grid;place-items:center;width:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);max-width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-height:var(--viking-control-height, 40px);padding:0;line-height:1;box-sizing:border-box}.navbar-search viking-button-wc [data-viking-icon],viking-button-wc.menu-toggle-btn [data-viking-icon]{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md, 20px);height:var(--viking-icon-size-md, 20px);line-height:1}.menu-toggle-btn[aria-expanded=true]{border-color:var(--viking-accent, var(--viking-accent));color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent));box-shadow:var(--viking-shadow-sm, var(--shadow-sm))}.divider{height:24px;width:0px;background-color:var(--border);margin:0 8px}.auth-btn .material-icons{margin:0;font-size:var(--viking-font-size-sm, 14px);width:16px;height:16px}.auth-btn,a.auth-btn,button.auth-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:var(--viking-space-1, 8px) !important;min-width:auto !important;height:var(--viking-control-height, 40px) !important;min-height:var(--viking-control-height, 40px) !important;padding:0 var(--viking-space-2, 16px) !important;border-radius:var(--viking-radius, 8px) !important;letter-spacing:var(--viking-letter-spacing-caps, 0.08em) !important;text-transform:uppercase !important;white-space:nowrap !important;line-height:1 !important}.auth-signout-btn{background:rgba(0,0,0,0) !important;color:var(--text-muted) !important;font-weight:600 !important;border-radius:var(--viking-radius, 8px) !important;padding:0 var(--viking-space-2, 16px) !important;border:1px solid var(--border) !important;height:var(--viking-control-height, 40px) !important;line-height:var(--viking-control-height, 40px) !important;display:inline-flex !important;align-items:center !important;gap:var(--viking-space-1, 8px) !important;white-space:nowrap !important;text-transform:uppercase !important;letter-spacing:.08em !important;cursor:pointer;transition:var(--viking-transition-interactive) !important}.auth-signout-btn[hidden]{display:none !important}.auth-signout-btn:hover{color:var(--text-color) !important;border-color:var(--viking-crimson-500) !important;background:color-mix(in srgb, var(--viking-crimson-500) 10%, transparent) !important}.mobile-menu:not(.open){display:none !important}.mobile-menu{display:none;flex-direction:column;position:absolute;top:var(--viking-navbar-height, var(--navbar-height, 64px));left:0;right:0;width:auto;max-height:calc(100dvh - var(--viking-navbar-height, var(--navbar-height, 64px)));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background-color:var(--viking-surface, var(--card-bg));box-shadow:var(--viking-shadow-md, var(--shadow-md));border-bottom:1px solid var(--viking-border, var(--border));padding:var(--viking-space-3, 24px);padding-bottom:calc(var(--viking-space-3, 24px) + env(safe-area-inset-bottom, 0px));box-sizing:border-box;z-index:49;gap:var(--viking-space-half, 4px)}.mobile-menu viking-button{width:100%}.mobile-menu .mobile-auth-btn,.mobile-menu .auth-signout-btn{flex-shrink:0;width:100%}.mobile-menu{transform:translateY(-10px);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(0.16, 1, 0.3, 1),opacity .25s ease}.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto;display:flex}.mobile-nav-btn{width:100% !important;justify-content:flex-start !important;font-size:var(--viking-font-size-sm, 14px) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;color:var(--viking-text-muted, var(--text-muted)) !important;min-height:44px !important;border-radius:var(--viking-radius, 8px) !important;padding:0 var(--viking-space-2, 16px) !important;display:inline-flex !important;align-items:center !important;gap:var(--viking-space-1, 8px) !important;text-decoration:none;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);transition:var(--viking-transition-interactive, all 0.25s ease)}.mobile-nav-btn .material-icons{margin:0;font-size:20px;width:20px;height:20px}.mobile-nav-btn:hover{color:var(--viking-text, var(--text-color)) !important;background-color:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 8%, transparent)) !important}.mobile-nav-btn.active{color:var(--viking-text, var(--text-color)) !important;background-color:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;box-shadow:inset 0 0 0 1px var(--viking-accent-strong, var(--viking-ring)) !important}.mobile-divider{height:1px;background-color:var(--viking-border, var(--border));margin:var(--viking-space-2, 16px) 0 var(--viking-space-1, 8px);flex-shrink:0}.mobile-menu .mobile-auth-btn{margin-top:var(--viking-space-half, 4px)}.mobile-menu a.mobile-auth-btn:not(.auth-signout-btn),.mobile-menu a.mobile-auth-btn:not(.auth-signout-btn) span,.mobile-menu a.mobile-auth-btn:not(.auth-signout-btn) svg{color:var(--viking-white-pure, var(--viking-white-pure)) !important}.navbar-link{font-size:1rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;transition:var(--transition-smooth)}.navbar-link:hover{color:var(--text-color)}.glowing-icon-sm{color:var(--color-primary, var(--primary-text-color, var(--viking-accent))) !important;transition:all .3s ease}.navbar-brand.glowing-icon-sm,.navbar-brand:has(.glowing-icon-sm){filter:drop-shadow(0 0 6px color-mix(in srgb, var(--color-primary) 60%, transparent))}.navbar-brand.glowing-icon-sm:hover,.navbar-brand:has(.glowing-icon-sm):hover{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--color-primary) 90%, transparent))}.loader-logo.glowing-icon-sm,:not(.navbar-brand)>.glowing-icon-sm{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--color-primary) 60%, transparent))}.loader-logo.glowing-icon-sm:hover,:not(.navbar-brand)>.glowing-icon-sm:hover{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--color-primary) 90%, transparent))}.navbar-search{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto;justify-content:center;max-width:none;min-width:0;min-height:var(--viking-control-height, 40px);margin:0;line-height:0}.navbar-search viking-button,.navbar-search viking-button-wc{flex-shrink:0}.algolia-autocomplete-host{display:none;font-family:var(--viking-font-family, inherit);--aa-font-family: var(--viking-font-family, inherit);--aa-font-size: var(--viking-font-size-sm, 14px);--aa-spacing: var(--viking-space-1, 8px);--aa-spacing-half: var(--viking-space-half, 4px);--aa-panel-max-height: 288px;--aa-panel-shadow: var(--viking-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.25));--aa-icon-size: 20px;--aa-icon-stroke-width: 2px;--aa-primary-color-rgb: 20, 163, 168;--aa-muted-color-rgb: 148, 163, 184}.algolia-autocomplete-host.algolia-autocomplete-open{display:flex;align-items:flex-start;justify-content:center;position:fixed;inset:0;z-index:var(--viking-z-overlay, 10001);padding:10vh var(--viking-space-2, 16px) var(--viking-space-2, 16px);background:var(--viking-overlay-backdrop, rgba(0, 0, 0, 0.55));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;box-shadow:none;max-width:none;width:auto;min-width:0}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Autocomplete,.algolia-autocomplete-host.algolia-autocomplete-open .aa-DetachedContainer{max-width:600px;width:100%;border:1px solid var(--viking-border-strong, var(--viking-border, var(--border)));border-radius:var(--viking-radius-lg, 12px);background:var(--viking-surface, var(--card-bg));box-shadow:var(--viking-shadow-lg, var(--shadow-md));overflow:hidden;font-family:var(--viking-font-family, inherit);color:var(--viking-text, var(--text-color));position:relative}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Autocomplete::before,.algolia-autocomplete-host.algolia-autocomplete-open .aa-DetachedContainer::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) 22%, transparent), transparent);pointer-events:none;z-index:1}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form,.algolia-autocomplete-host.algolia-autocomplete-open form{display:flex;align-items:center;gap:var(--viking-space-1, 8px);min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, 16px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form:hover,.algolia-autocomplete-host.algolia-autocomplete-open form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--border)));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form,.algolia-autocomplete-host.algolia-autocomplete-open form{margin:0 !important;border:0 !important;border-bottom:1px solid var(--viking-border, var(--border)) !important;border-radius:0 !important;box-shadow:none !important;background:color-mix(in srgb, var(--viking-bg, var(--bg-color)) 20%, transparent)}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form:focus-within,.algolia-autocomplete-host.algolia-autocomplete-open form:focus-within{border-bottom-color:var(--viking-accent, var(--viking-accent)) !important;box-shadow:inset 0 -2px 0 var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;outline:none}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Panel{position:static;margin:0;border:0;border-radius:0;box-shadow:none;background:rgba(0,0,0,0);max-height:50vh;padding:var(--viking-space-2, 16px)}.algolia-autocomplete-host.algolia-autocomplete-open::after{content:"⌘K toggle · Esc close";display:block;max-width:600px;width:100%;margin:0 auto;padding:var(--viking-space-1, 8px) var(--viking-space-2, 16px);border:1px solid var(--viking-border, var(--border));border-top:1px solid var(--viking-border, var(--border));border-radius:0 0 var(--viking-radius-lg, 12px) var(--viking-radius-lg, 12px);background:var(--viking-surface, var(--card-bg));font-size:calc(var(--viking-font-size, 16px)*.85);color:var(--viking-text-muted, var(--text-muted));text-align:center;letter-spacing:.01em}.navbar-search-trigger,.navbar-search-mobile-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);padding:0;margin:0;border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.navbar-search-trigger:hover,.navbar-search-mobile-btn:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.navbar-search-trigger:focus-visible,.navbar-search-mobile-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.navbar-search-trigger,.navbar-search-mobile-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);padding:0;flex-shrink:0;align-self:center}.algolia-autocomplete-host .aa-Autocomplete,.algolia-autocomplete-host .aa-DetachedContainer{width:100%}.algolia-autocomplete-host .aa-Form,.algolia-autocomplete-host form{display:flex;align-items:center;gap:var(--viking-space-1, 8px);min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, 16px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.algolia-autocomplete-host .aa-Form:hover,.algolia-autocomplete-host form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--border)));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.algolia-autocomplete-host .aa-Form,.algolia-autocomplete-host form{margin:0 !important}.algolia-autocomplete-host .aa-Form:focus-within,.algolia-autocomplete-host form:focus-within{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.algolia-autocomplete-host .aa-InputWrapper{display:flex;align-items:center;flex:1;min-width:0;gap:var(--viking-space-1, 8px);border:0 !important;box-shadow:none !important;background:rgba(0,0,0,0) !important;padding:0 !important}.algolia-autocomplete-host .aa-InputWrapperPrefix,.algolia-autocomplete-host .aa-InputWrapperSuffix{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;color:var(--viking-accent-strong, var(--viking-ring));border:0 !important;box-shadow:none !important;background:rgba(0,0,0,0) !important;padding:0 !important;line-height:1}.algolia-autocomplete-host .aa-SubmitButton,.algolia-autocomplete-host .aa-DetachedSearchButton,.algolia-autocomplete-host .aa-Label,.algolia-autocomplete-host .aa-PoweredBy{display:none !important}.algolia-autocomplete-host .aa-InputWrapperPrefix svg,.algolia-autocomplete-host .aa-InputWrapperSuffix svg,.algolia-autocomplete-host .aa-InputWrapperPrefix img,.algolia-autocomplete-host .aa-InputWrapperSuffix img{width:20px !important;height:20px !important;max-width:20px !important;max-height:20px !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;fill:currentColor !important;stroke:currentColor !important}.algolia-autocomplete-host .aa-Input,.algolia-autocomplete-host input{flex:1;width:100%;min-width:0;min-height:0 !important;height:auto;padding:0 !important;border:0 !important;border-radius:0 !important;outline:none !important;background:rgba(0,0,0,0) !important;color:var(--viking-text, var(--text-color));font:inherit;font-size:var(--viking-font-size, 16px);line-height:var(--viking-line-height-normal, 1.5);box-shadow:none !important}.algolia-autocomplete-host .aa-Input::placeholder,.algolia-autocomplete-host input::placeholder{color:var(--viking-text-muted, var(--text-muted))}.algolia-autocomplete-host .aa-Panel{margin:0;padding:var(--viking-space-1, 8px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-md, var(--shadow-md));max-height:288px;overflow:auto;font-family:var(--viking-font-family, inherit);position:absolute;top:calc(100% + var(--viking-space-1, 8px));left:0;right:0;z-index:var(--viking-z-overlay, 10001)}.algolia-autocomplete-host .aa-PanelLayout,.algolia-autocomplete-host .aa-Source{margin:0}.algolia-autocomplete-host .aa-List{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.algolia-autocomplete-host .aa-SourceHeader{display:flex;align-items:center;gap:var(--viking-space-1, 8px);padding:var(--viking-space-1, 8px) var(--viking-space-1, 8px) 0;margin:0}.algolia-autocomplete-host .aa-SourceHeaderTitle{font-size:calc(var(--viking-font-size-sm, 14px)*.85);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--viking-text-muted, var(--text-muted))}.algolia-autocomplete-host .aa-SourceHeaderLine{flex:1;height:1px;background:var(--viking-border, var(--border))}.algolia-autocomplete-host .aa-Item{border-radius:calc(var(--viking-radius, 8px)/1.5);padding:0;margin:0}.algolia-autocomplete-host .aa-ItemLink,.algolia-autocomplete-host .aa-ItemWrapper{display:flex;align-items:flex-start;gap:var(--viking-space-1-5, 12px);min-height:var(--viking-control-height-sm, 36px);padding:var(--viking-space-1-5, 12px);border-radius:calc(var(--viking-radius, 8px)/1.5);color:var(--viking-text, var(--text-color));text-decoration:none;transition:var(--viking-transition-interactive, background-color 0.2s ease)}.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemLink,.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemWrapper,.algolia-autocomplete-host .aa-Item:hover .aa-ItemLink,.algolia-autocomplete-host .aa-Item:hover .aa-ItemWrapper{background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent))}.algolia-autocomplete-host .aa-ItemContent{display:flex;align-items:flex-start;gap:var(--viking-space-1-5, 12px);min-width:0;flex:1}.algolia-autocomplete-host .aa-ItemIcon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-space-5, 40px);height:var(--viking-space-5, 40px);margin-top:2px;border-radius:var(--viking-radius, 8px);background:var(--viking-surface-alt, var(--viking-charcoal-700)) !important;box-shadow:none !important;color:var(--viking-accent-strong, var(--viking-ring));overflow:hidden}.algolia-autocomplete-host .aa-ItemIcon img,.algolia-autocomplete-host .aa-ItemIcon svg{width:20px;height:20px;object-fit:contain}.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemIcon,.algolia-autocomplete-host .aa-Item:hover .aa-ItemIcon{color:var(--viking-accent, var(--viking-accent))}.algolia-autocomplete-host .aa-ItemContentBody{display:flex;flex-direction:column;gap:calc(var(--viking-space-1, 8px)/2);min-width:0;flex:1}.algolia-autocomplete-host .aa-ItemContentTitle{font-size:var(--viking-font-size, 16px);font-weight:600;color:var(--viking-text, var(--text-color));line-height:1.3}.algolia-autocomplete-host .aa-ItemContentDescription{font-size:var(--viking-font-size-sm, 14px);color:var(--viking-text-muted, var(--text-muted));line-height:var(--viking-line-height-relaxed, 1.625);white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-overflow:ellipsis}.algolia-autocomplete-host mark,.algolia-autocomplete-host .aa-ItemContentTitle mark,.algolia-autocomplete-host .aa-ItemContentDescription mark{background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 20%, transparent);color:var(--viking-accent, var(--viking-accent));border-radius:0;padding:0;font-weight:600}.algolia-autocomplete-host .aa-ItemActions,.algolia-autocomplete-host .aa-GradientBottom,.algolia-autocomplete-host .aa-GradientTop{display:none}.aa-DetachedOverlay{background:var(--viking-overlay-backdrop, rgba(0, 0, 0, 0.55)) !important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.aa-DetachedContainer{font-family:var(--viking-font-family, inherit);border:1px solid var(--viking-border, var(--border)) !important;border-radius:var(--viking-radius-lg, 12px) !important;background:var(--viking-surface, var(--card-bg)) !important;box-shadow:var(--viking-shadow-lg, var(--shadow-md)) !important}.aa-DetachedContainer .aa-Form,.aa-DetachedContainer form{display:flex;align-items:center;gap:var(--viking-space-1, 8px);min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, 16px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.aa-DetachedContainer .aa-Form:hover,.aa-DetachedContainer form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--border)));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.aa-DetachedContainer .aa-Form,.aa-DetachedContainer form{margin:var(--viking-space-1, 8px) !important;border-bottom:1px solid var(--viking-border, var(--border)) !important;border-radius:var(--viking-radius, 8px) var(--viking-radius, 8px) 0 0 !important;box-shadow:none !important}.aa-DetachedContainer .aa-Panel{margin:0;padding:var(--viking-space-1, 8px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-md, var(--shadow-md));max-height:288px;overflow:auto;font-family:var(--viking-font-family, inherit);position:static !important;border:0 !important;box-shadow:none !important;max-height:50vh !important}@media(min-width: 768px){.navbar-content{position:relative}.navbar-center.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);z-index:1;pointer-events:auto;max-width:min(100% - 22rem,42rem);overflow:hidden;justify-content:center}.navbar-left{position:relative;z-index:2;flex-shrink:0}.navbar-right{position:relative;z-index:2;flex-shrink:0;min-width:12.5rem;pointer-events:none}.navbar-right>*{pointer-events:auto}.desktop-nav{display:flex}.desktop-auth{display:flex}.menu-toggle-btn,viking-button.menu-toggle-btn{display:none !important}.mobile-menu:not(.open){display:none !important}.navbar-right{gap:var(--viking-space-2, 16px)}.desktop-nav{gap:var(--viking-space-1, 8px)}}@container viking-navbar (min-width: 880px) and (max-width: 1120px){.nav-btn{padding:0 var(--viking-space-1, 8px) !important;gap:0 !important}.nav-btn>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}}@container viking-navbar (min-width: 1121px){.nav-btn{padding:0 var(--viking-space-2, 16px) !important;gap:8px !important;font-size:var(--viking-font-size, 16px) !important;letter-spacing:.08em !important}}.viking-footer,.mega-footer{background-color:var(--viking-surface, var(--color-surface));border-top:1px solid var(--viking-border-strong, var(--border-layout));padding:calc(var(--viking-space-2)*2) var(--viking-space-2);font-family:var(--viking-font-family);color:var(--viking-text-muted)}.viking-footer-content,.footer-content{max-width:var(--container-max-width, 1260px);margin:0 auto}.viking-footer-directory,.footer-directory{display:grid;grid-template-columns:1fr;gap:calc(var(--viking-space-2)*1.75);padding-bottom:calc(var(--viking-space-2)*2);border-bottom:1px solid var(--viking-border-strong, var(--border-layout))}@media(min-width: 600px){.viking-footer-directory,.footer-directory{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 900px){.viking-footer-directory,.footer-directory{grid-template-columns:repeat(4, 1fr)}}.viking-footer-column-title,.footer-column-title{font-size:var(--viking-font-size);font-weight:700;color:var(--viking-text);margin:0 0 var(--viking-space-2);letter-spacing:.05em}.viking-footer-list,.footer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-footer-list a,.footer-list a{font-size:var(--viking-font-size);color:var(--viking-text-muted);text-decoration:none !important;border-bottom:1px solid rgba(0,0,0,0);transition:color .2s ease,border-color .2s ease}.viking-footer-list a:hover,.footer-list a:hover{color:var(--viking-text);border-bottom-color:var(--viking-text)}.viking-footer-bottom,.footer-bottom{padding-top:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2)}.viking-footer-badges-top,.footer-badges-top{display:flex;justify-content:center;margin-bottom:var(--viking-space-2)}.viking-footer-compliance-row,.footer-compliance-row{display:flex;justify-content:center;align-items:center}.viking-copyright-info,.copyright-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--viking-space-2);font-size:var(--viking-font-size);color:var(--viking-text-muted);text-align:center}.viking-copyright-info a,.copyright-info a{color:var(--viking-text-muted);text-decoration:none !important;border-bottom:1px solid rgba(0,0,0,0);transition:color .2s ease,border-color .2s ease}.viking-copyright-info a:hover,.copyright-info a:hover{color:var(--viking-text);border-bottom-color:var(--viking-text)}.viking-usa-badge,.usa-badge{display:inline-flex;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-pill);background-color:rgba(0,0,0,0);border:1px solid var(--viking-border);cursor:default;transition:var(--viking-transition-colors);font-size:var(--viking-font-size);font-weight:500;color:var(--viking-text-muted)}.viking-usa-badge:hover,.usa-badge:hover{background-color:color-mix(in srgb, var(--viking-surface) 95%, var(--viking-accent) 5%);border-color:var(--viking-border-strong);color:var(--viking-text);box-shadow:var(--viking-shadow-sm)}.viking-usa-badge-icon,.usa-badge-icon{font-size:1.1em;line-height:1;transition:transform .3s cubic-bezier(0.34, 1.56, 0.64, 1)}.viking-usa-badge:hover .viking-usa-badge-icon,.usa-badge:hover .usa-badge-icon{transform:scale(1.15) rotate(-5deg)}.viking-whitepaper-cta{position:relative;max-width:720px;margin:0 auto;padding:var(--viking-space-4) var(--viking-space-3);border-radius:var(--viking-radius-xl);overflow:hidden;border:1px solid color-mix(in srgb, var(--viking-accent) 22%, transparent);background:color-mix(in srgb, var(--viking-accent) 6%, var(--viking-surface));text-align:center;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-colors)}@media(min-width: 768px){.viking-whitepaper-cta{padding:var(--viking-space-5) var(--viking-space-4)}}.viking-whitepaper-cta-bg{position:absolute;inset:0;pointer-events:none;opacity:.5}.viking-whitepaper-polars-grid{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;gap:var(--viking-space-half);padding:0 var(--viking-space-3);mask-image:linear-gradient(to top, black 30%, transparent 85%)}.viking-bar,.viking-whitepaper-polars-bar{display:block;flex:1;max-width:28px;height:calc(var(--viking-bar-height, 50)*1%);background:var(--viking-accent);border-radius:var(--viking-radius-xs) var(--viking-radius-xs) 0 0;opacity:.75}.viking-whitepaper-polars-bar{animation:vikingWhitepaperBarPulse 4s var(--viking-ease-default) infinite}.viking-whitepaper-polars-bar:nth-child(1){animation-delay:0.12s}.viking-whitepaper-polars-bar:nth-child(2){animation-delay:0.24s}.viking-whitepaper-polars-bar:nth-child(3){animation-delay:0.36s}.viking-whitepaper-polars-bar:nth-child(4){animation-delay:0.48s}.viking-whitepaper-polars-bar:nth-child(5){animation-delay:0.6s}.viking-whitepaper-polars-bar:nth-child(6){animation-delay:0.72s}.viking-whitepaper-polars-bar:nth-child(7){animation-delay:0.84s}.viking-whitepaper-polars-bar:nth-child(8){animation-delay:0.96s}.viking-whitepaper-polars-bar:nth-child(9){animation-delay:1.08s}.viking-whitepaper-polars-bar:nth-child(10){animation-delay:1.2s}.viking-whitepaper-polars-bar:nth-child(11){animation-delay:1.32s}.viking-whitepaper-polars-bar:nth-child(12){animation-delay:1.44s}@keyframes vikingWhitepaperBarPulse{0%,100%{opacity:.4;transform:scaleY(1)}50%{opacity:.75;transform:scaleY(1.06)}}@media(prefers-reduced-motion: reduce){.viking-whitepaper-polars-bar{animation:none;opacity:.5}}.viking-whitepaper-sparkline{position:absolute;bottom:0;left:0;width:100%;height:40%;opacity:.65}.viking-whitepaper-cta-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-1-5)}.viking-whitepaper-tag{font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);color:var(--viking-accent);text-transform:uppercase}.viking-whitepaper-title{font-size:clamp(1.375rem,3vw,1.75rem);font-weight:var(--viking-font-weight-bold);margin:0;text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-whitepaper-description{color:var(--viking-text-muted);margin:0;max-width:30rem;line-height:var(--viking-line-height-relaxed);font-size:var(--viking-font-size)}.viking-whitepaper-btn{margin-top:var(--viking-space-1);color:var(--viking-accent-content)}.viking-whitepaper-btn:hover,.viking-whitepaper-btn:focus-visible{color:var(--viking-accent-content);border-bottom-color:rgba(0,0,0,0)}body{font-size:var(--base-font-size);color:var(--text-color);background-color:var(--bg-color)}h1,h2,h3,h4,h5,h6{letter-spacing:var(--header-letter-spacing)}.cta-group{display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--viking-space-2);align-items:stretch;width:100%}@media(min-width: 600px){.cta-group{flex-direction:row;flex-wrap:nowrap;align-items:center;width:auto;align-self:flex-start}}a.cta-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;width:100%;flex:1 1 auto;min-width:0;box-sizing:border-box}@media(min-width: 600px){a.cta-button{width:auto;flex:0 0 auto}}a.cta-button .cta-content{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:var(--viking-line-height-none)}a.cta-button .cta-icon,a.cta-button svg.cta-icon{flex:0 0 auto;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:var(--viking-line-height-none);margin:0;padding:0;overflow:visible;vertical-align:middle}a.cta-button .cta-label{white-space:normal;line-height:var(--viking-line-height-snug)}@media(min-width: 480px){a.cta-button .cta-label{white-space:nowrap}}pre[class*=language-]{background-color:var(--viking-charcoal-900) !important;border:1px solid var(--border);border-radius:var(--border-radius-md);padding:var(--space-3);margin:var(--space-4) 0;box-shadow:none;tab-size:4}code[class*=language-]{font-size:1rem;line-height:1.65;color:var(--white) !important}*,::before,::after{box-sizing:border-box}pre,pre code{white-space:pre-wrap !important;word-wrap:break-word !important;word-break:break-word !important;max-width:100%}html,body{height:100%;margin:0;padding:0;overflow-x:hidden;max-width:100vw}app-root{display:flex;flex-direction:column;min-height:100vh}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--viking-font-family);font-size:var(--base-font-size, 16px);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}html[data-theme=light] body{background-color:var(--bg-color)}p{margin-bottom:var(--space-3)}h1,h2,h3,h4,h5,h6{line-height:1.25;margin-top:var(--space-4);margin-bottom:var(--space-2);font-weight:600;letter-spacing:var(--header-letter-spacing)}h1{font-size:clamp(1.75rem,5vw,2.5rem)}h2{font-size:clamp(1.5rem,4vw,2rem)}h3{font-size:1.5rem;letter-spacing:.05em;text-transform:uppercase}ul,ol{margin-bottom:var(--space-3);padding-left:var(--space-3)}li{margin-bottom:var(--space-1)}a:not(.viking-button):not(.viking-btn):not(.cta-button):not(.nav-item):not(.nav-btn):not(.auth-btn):not(.mobile-auth-btn):not(.mobile-nav-btn):not(.integration-link):not(.integration-logo-item){color:var(--link-color);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(0,0,0,0);box-shadow:none !important;text-shadow:none !important;transition:border-bottom-color .2s ease,color .2s ease}a:not(.viking-button):not(.viking-btn):not(.cta-button):not(.nav-item):not(.nav-btn):not(.auth-btn):not(.mobile-auth-btn):not(.mobile-nav-btn):not(.integration-link):not(.integration-logo-item):hover,a:not(.viking-button):not(.viking-btn):not(.cta-button):not(.nav-item):not(.nav-btn):not(.auth-btn):not(.mobile-auth-btn):not(.mobile-nav-btn):not(.integration-link):not(.integration-logo-item):focus-visible{color:var(--link-hover-color);text-decoration:none;border-bottom-color:var(--link-hover-color)}:not(pre)>code{background-color:var(--color-dark-grey-btn-bg);padding:.1em .35em;border-radius:4px;font-size:.875em;line-height:inherit;color:var(--text-muted);white-space:normal;vertical-align:baseline}app-page{display:block;margin-top:24px}main.main{padding:var(--viking-space-2)}@media(min-width: 481px){main.main{padding:var(--viking-space-8) var(--viking-space-3)}}@media(min-width: 768px){main.main{padding:var(--viking-space-9) var(--viking-space-4)}}.landing-container-global{position:relative;min-height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;margin-top:-64px;padding-top:72px;width:100%;box-sizing:border-box}@media(min-width: 768px){.landing-container-global{padding:32px;padding-top:72px}}.dashboard-container{display:flex;flex-direction:column;flex:1;justify-content:flex-start;padding-top:16px;padding-bottom:16px;width:100%;box-sizing:border-box}@media(min-width: 768px){.dashboard-container{padding-top:72px;padding-bottom:72px}}.page-content{position:relative;z-index:10;width:100%;max-width:var(--container-max-width);padding:16px;margin:0 auto;box-sizing:border-box;background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}@media(min-width: 768px){.page-content{padding:56px}}.dashboard-content-area{flex:1;padding:var(--viking-space-3, 24px) 0 var(--viking-space-4, 32px);position:relative;z-index:1;box-sizing:border-box}@media(min-width: 768px){.dashboard-content-area{padding-top:var(--viking-space-4, 32px)}}.content-wrapper{max-width:var(--container-max-width, 1260px);margin:0 auto;width:100%;display:flex;flex-direction:column;gap:var(--grid-gap)}.content-wrapper.full-width{max-width:100%}#global-error-toast{position:fixed;bottom:24px;right:24px;z-index:99999;font-family:var(--viking-font-family);max-width:400px;animation:slideIn .3s cubic-bezier(0.16, 1, 0.3, 1) forwards;--toast-bg: var(--color-surface);--toast-border: 1px solid var(--color-error);--toast-text: var(--color-error);--toast-title: var(--color-on-surface);--toast-icon: var(--color-error);--toast-close: var(--text-muted);--toast-close-hover: var(--color-error);--toast-shadow: var(--shadow-hover)}html[data-theme=light] #global-error-toast{--toast-bg: var(--color-surface);--toast-border: 1px solid var(--color-error);--toast-text: var(--color-error);--toast-title: var(--color-on-surface);--toast-icon: var(--color-error);--toast-close: var(--text-muted);--toast-close-hover: var(--color-error);--toast-shadow: var(--shadow-hover)}#global-error-toast .toast-container{background:var(--toast-bg);border:var(--toast-border);color:var(--toast-text);padding:16px 16px;border-radius:var(--border-radius-md);box-shadow:var(--toast-shadow);display:flex;align-items:center;gap:8px;transition:all .3s ease}#global-error-toast .toast-icon{width:16px;height:16px;flex-shrink:0;color:var(--toast-icon)}#global-error-toast .toast-content{flex-grow:1}#global-error-toast .toast-title{display:block;font-size:var(--ui-font-size, 14px);font-weight:600;margin-bottom:0px;color:var(--toast-title)}#global-error-toast .toast-message{font-size:var(--base-font-size, 16px);opacity:.9;line-height:1.4}#global-error-toast .toast-close{background:none;border:none;color:var(--toast-close);cursor:pointer;font-size:20px;line-height:1;padding:0 8px;margin-left:8px;opacity:.7;transition:opacity .2s,color .2s}#global-error-toast .toast-close:hover{opacity:1;color:var(--toast-close-hover)}@keyframes slideIn{from{transform:translateY(24px) scale(0.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.status-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;background:var(--viking-surface);border:1px solid var(--border);border-radius:var(--border-radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-sm);margin-top:32px}@media(min-width: 601px){.status-error-state{padding:72px 32px}}.status-error-state .error-state-icon{font-size:72px;width:72px;height:72px;color:var(--text-muted);margin-bottom:24px;opacity:.6}.status-error-state .error-title{margin:0 0 8px;font-size:1.5rem;font-weight:700;color:var(--text-color);letter-spacing:-0.01em}.status-error-state .error-subtitle{margin:0 0 32px;font-size:1rem;line-height:1.6;color:var(--text-muted);max-width:416px}.status-error-state .retry-btn{font-weight:700 !important;padding:8px 24px !important;border-radius:var(--border-radius-sm) !important;box-shadow:var(--shadow-sm) !important;transition:all .2s ease !important}.status-error-state .retry-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md) !important;opacity:.95}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid color-mix(in srgb, var(--viking-white) 30%, transparent);border-radius:50%;border-top-color:currentColor;animation:spin .8s linear infinite;vertical-align:middle;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.hud-header,.panel-header,.filter-bar,.telemetry-bar,.video-flat-info,.sidebar-brand,.sidebar-footer,.dashboard-sidebar,.vuln-profile-header,.page-content:not([style*=border]){border-radius:0 !important}.hud-header{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:16px;border-bottom:1px solid var(--border-layout);margin-bottom:24px;flex-wrap:wrap;gap:16px}.hud-brand{display:flex;align-items:center;gap:16px}.hud-title{font-family:var(--viking-font-family-mono);font-size:1.25rem;font-weight:800;letter-spacing:.1em;margin:0;color:var(--text-color);text-transform:uppercase}.hud-subtitle{font-size:1rem;color:var(--text-muted);margin:8px 0 0 0;font-family:var(--viking-font-family-mono)}.grecaptcha-badge{visibility:hidden !important}.grecaptcha-bubble-holder,div.grecaptcha-bubble-holder,#recaptcha-container,#firebase-recaptcha-container,iframe[src*=recaptcha],iframe[src*="google.com/recaptcha"],body>div[style*=z-index]:has(iframe[src*=recaptcha]),body>div[style*=z-index]:has(iframe[src*="google.com/recaptcha"]),body>div:has(iframe[src*=recaptcha]),body>div:has(iframe[src*="google.com/recaptcha"]),body>div:has(iframe[title*=recaptcha]),body>div:has(iframe[title*=reCAPTCHA]),div[style*=z-index]:has(iframe[src*=recaptcha]),div[style*=z-index]:has(iframe[src*="google.com/recaptcha"]){z-index:2000000000 !important}.section-tag-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.section-tag{font-family:var(--viking-font-family-mono);font-size:1rem;font-weight:800;color:var(--color-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:0;display:inline-block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--viking-radius-pill, 999px)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-container)}.dashboard-page-container{display:block;width:100%;min-height:calc(100vh - var(--navbar-height, 64px));background-color:var(--bg-color);color:var(--text-color);overflow-x:hidden}.dashboard-layout{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;min-height:calc(100vh - var(--navbar-height, 64px))}.dashboard-main{flex:1;display:flex;flex-direction:column;min-width:0}.mobile-chapter-select{display:block;width:100%;margin-bottom:16px}.mobile-chapter-select select{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--border-radius-md);border:1px solid var(--border);background:var(--viking-surface);color:var(--text-color);font:inherit}.dashboard-sidebar{display:none}@media(min-width: 901px){.dashboard-layout{flex-direction:row}.dashboard-sidebar{display:block;width:280px;flex-shrink:0;border-right:1px solid var(--border)}.mobile-chapter-select{display:none}}.grid-layout{display:grid;grid-template-columns:1fr;gap:var(--grid-gap);width:100%}@media(min-width: 600px){.grid-layout{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 768px){.grid-layout{grid-template-columns:repeat(12, 1fr)}}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}@media(min-width: 768px){.col-span-md-1{grid-column:span 1}.col-span-md-2{grid-column:span 2}.col-span-md-3{grid-column:span 3}.col-span-md-4{grid-column:span 4}.col-span-md-5{grid-column:span 5}.col-span-md-6{grid-column:span 6}.col-span-md-7{grid-column:span 7}.col-span-md-8{grid-column:span 8}.col-span-md-9{grid-column:span 9}.col-span-md-10{grid-column:span 10}.col-span-md-11{grid-column:span 11}.col-span-md-12{grid-column:span 12}}select,select::picker(select){appearance:base-select}select{font-family:var(--viking-font-family);background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--text-muted);border-radius:var(--border-radius-md, 8px);padding:16px 16px;font-size:1rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:space-between;gap:16px}select:hover{border-color:var(--color-primary)}select::picker(select){font-family:var(--viking-font-family);background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--text-muted);border-radius:var(--border-radius-md, 8px);padding:8px;box-shadow:var(--shadow-md);box-sizing:border-box;margin:0;width:anchor-size(width)}select::picker-icon{color:var(--text-color);margin-left:16px;margin-right:0px}select option::checkmark{color:var(--color-primary)}select option{padding:8px 16px;border-radius:var(--border-radius-sm, 4px);color:var(--text-color);cursor:pointer;transition:background-color .2s ease}select option:hover,select option:focus{background-color:var(--hover-color);color:var(--color-on-primary)}select option:checked{background-color:var(--color-primary-container);color:var(--color-on-primary-container);font-weight:600}.docs-bento-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3, 24px);width:100%}@media(min-width: 768px){.docs-bento-grid{grid-template-columns:repeat(12, 1fr)}}.docs-bento-card{grid-column:span 1;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--viking-radius-xl, 24px);padding:var(--viking-space-4, 32px);display:flex;flex-direction:column;gap:var(--viking-space-3, 24px);box-shadow:var(--shadow-sm);transition:transform var(--viking-duration-normal, 0.3s) ease,border-color var(--viking-duration-normal, 0.3s) ease,box-shadow var(--viking-duration-normal, 0.3s) ease;overflow:hidden;position:relative;min-height:100%}@media(min-width: 768px){.docs-bento-card{grid-column:span 6}}.docs-bento-card:hover{transform:translateY(-4px);border-color:var(--viking-accent, var(--viking-teal-600));box-shadow:var(--shadow-hover)}.docs-bento-card .viking-icon-heading{flex-shrink:0}.docs-bento-card__body{display:flex;flex-direction:column;gap:var(--viking-space-2, 16px);min-width:0}@media(min-width: 768px){.docs-bento-full{grid-column:span 12}}@media(min-width: 768px){.docs-bento-grid[data-bento-even-pairs=true] .docs-bento-card:not(.docs-bento-full):last-child:nth-child(even){grid-column:span 12}}.landing-container{position:relative;min-height:calc(100vh - 64px);padding:48px 16px 32px;overflow:hidden;font-family:var(--viking-font-family)}@media(min-width: 768px){.landing-container{padding:72px 32px 64px}}.showcase-layout{max-width:var(--container-max-width, 1260px);margin:0 auto}.hero-showcase{display:grid;grid-template-columns:1fr;gap:48px;align-items:center;margin-bottom:72px;position:relative;z-index:10;overflow:hidden}@media(min-width: 960px){.hero-showcase{grid-template-columns:1fr 1.1fr;gap:64px}}.hero-copy{display:flex;flex-direction:column;gap:24px}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--viking-surface);border:1px solid var(--border);padding:8px 16px;border-radius:1000px;width:fit-content;box-shadow:var(--shadow-sm)}.hero-badge .badge-dot{width:var(--grid-unit, 8px);height:var(--grid-unit, 8px);border-radius:50%;background-color:var(--color-primary)}.hero-badge .badge-text{font-size:1rem;font-weight:600;letter-spacing:.05em;color:var(--text-color)}.title{font-size:clamp(2.25rem,5vw,3.75rem);font-weight:900;line-height:1.05;letter-spacing:-0.02em;margin:0;color:var(--hero-title-color, var(--text-color)) !important;text-transform:uppercase}.subtitle{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--text-muted);line-height:1.6;margin:0;max-width:520px}.hero-stats{display:flex;flex-wrap:wrap;gap:10px}.hero-stat-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:1000px;background:color-mix(in srgb, var(--viking-accent) 10%, var(--color-surface));border:1px solid color-mix(in srgb, var(--viking-accent) 25%, transparent);font-size:.85rem;font-weight:600;color:var(--text-color);letter-spacing:.02em}.hero-stat-pill svg{width:18px;height:18px;color:var(--viking-accent);flex-shrink:0}.pulse-dot{animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-accent) 60%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--viking-accent) 0%, transparent)}}.hero-mockup{perspective:1200px}.mockup-window{background:var(--color-surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 24px 64px color-mix(in srgb, var(--viking-charcoal-900) 40%, transparent),0 0 0 1px color-mix(in srgb, var(--viking-accent) 15%, transparent);transform:rotateY(-4deg) rotateX(2deg);transition:transform .4s ease}.mockup-window:hover{transform:rotateY(0deg) rotateX(0deg)}.mockup-titlebar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:color-mix(in srgb, var(--viking-charcoal-900) 60%, var(--color-surface));border-bottom:1px solid var(--border)}.mockup-titlebar .mockup-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);opacity:.5}.mockup-titlebar .mockup-dot:first-child{background:var(--viking-crimson-500);opacity:.8}.mockup-titlebar .mockup-dot:nth-child(2){background:var(--viking-gold-500);opacity:.8}.mockup-titlebar .mockup-dot:nth-child(3){background:var(--viking-accent-strong);opacity:.8}.mockup-titlebar .mockup-title{margin-left:8px;font-size:.85rem;font-family:monospace;color:var(--text-muted);letter-spacing:.04em}.mockup-body{display:flex;min-height:280px}.mockup-sidebar{width:48px;padding:16px 8px;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--border);background:color-mix(in srgb, var(--viking-charcoal-900) 30%, transparent)}.mockup-sidebar .mockup-nav-item{height:32px;border-radius:8px;background:color-mix(in srgb, var(--text-muted) 20%, transparent)}.mockup-sidebar .mockup-nav-item.active{background:color-mix(in srgb, var(--viking-accent) 35%, transparent);box-shadow:inset 0 0 0 1px var(--viking-accent)}.mockup-main{flex:1;padding:20px;display:flex;flex-direction:column;gap:16px}.mockup-gauges{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width: 480px){.mockup-gauges{grid-template-columns:repeat(3, 1fr)}}.mockup-gauge{background:color-mix(in srgb, var(--viking-charcoal-900) 40%, var(--color-surface));border:1px solid var(--border);border-radius:10px;padding:12px;text-align:center}.mockup-gauge.primary{border-color:var(--viking-accent);box-shadow:0 0 16px color-mix(in srgb, var(--viking-accent) 25%, transparent)}.mockup-gauge .gauge-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px}.mockup-gauge .gauge-val{font-size:1.25rem;font-weight:800;color:var(--text-color)}.mockup-chart{flex:1;display:flex;align-items:flex-end;gap:6px;padding:12px;background:color-mix(in srgb, var(--viking-charcoal-900) 50%, transparent);border-radius:10px;border:1px solid var(--border);min-height:100px}.mockup-chart .chart-bar{flex:1;background:linear-gradient(180deg, var(--viking-accent), var(--viking-accent-strong));border-radius:4px 4px 0 0;opacity:.85;animation:barPulse 3s ease-in-out infinite;height:calc(var(--chart-bar-height, 50)*1%)}.mockup-chart .chart-bar:nth-child(1){animation-delay:0.15s}.mockup-chart .chart-bar:nth-child(2){animation-delay:0.3s}.mockup-chart .chart-bar:nth-child(3){animation-delay:0.45s}.mockup-chart .chart-bar:nth-child(4){animation-delay:0.6s}.mockup-chart .chart-bar:nth-child(5){animation-delay:0.75s}.mockup-chart .chart-bar:nth-child(6){animation-delay:0.9s}.mockup-chart .chart-bar:nth-child(7){animation-delay:1.05s}.mockup-chart .chart-bar:nth-child(8){animation-delay:1.2s}.mockup-chart .chart-bar[data-height="40"]{--chart-bar-height: 40}.mockup-chart .chart-bar[data-height="41"]{--chart-bar-height: 41}.mockup-chart .chart-bar[data-height="42"]{--chart-bar-height: 42}.mockup-chart .chart-bar[data-height="43"]{--chart-bar-height: 43}.mockup-chart .chart-bar[data-height="44"]{--chart-bar-height: 44}.mockup-chart .chart-bar[data-height="45"]{--chart-bar-height: 45}.mockup-chart .chart-bar[data-height="46"]{--chart-bar-height: 46}.mockup-chart .chart-bar[data-height="47"]{--chart-bar-height: 47}.mockup-chart .chart-bar[data-height="48"]{--chart-bar-height: 48}.mockup-chart .chart-bar[data-height="49"]{--chart-bar-height: 49}.mockup-chart .chart-bar[data-height="50"]{--chart-bar-height: 50}.mockup-chart .chart-bar[data-height="51"]{--chart-bar-height: 51}.mockup-chart .chart-bar[data-height="52"]{--chart-bar-height: 52}.mockup-chart .chart-bar[data-height="53"]{--chart-bar-height: 53}.mockup-chart .chart-bar[data-height="54"]{--chart-bar-height: 54}.mockup-chart .chart-bar[data-height="55"]{--chart-bar-height: 55}.mockup-chart .chart-bar[data-height="56"]{--chart-bar-height: 56}.mockup-chart .chart-bar[data-height="57"]{--chart-bar-height: 57}.mockup-chart .chart-bar[data-height="58"]{--chart-bar-height: 58}.mockup-chart .chart-bar[data-height="59"]{--chart-bar-height: 59}.mockup-chart .chart-bar[data-height="60"]{--chart-bar-height: 60}.mockup-chart .chart-bar[data-height="61"]{--chart-bar-height: 61}.mockup-chart .chart-bar[data-height="62"]{--chart-bar-height: 62}.mockup-chart .chart-bar[data-height="63"]{--chart-bar-height: 63}.mockup-chart .chart-bar[data-height="64"]{--chart-bar-height: 64}.mockup-chart .chart-bar[data-height="65"]{--chart-bar-height: 65}.mockup-chart .chart-bar[data-height="66"]{--chart-bar-height: 66}.mockup-chart .chart-bar[data-height="67"]{--chart-bar-height: 67}.mockup-chart .chart-bar[data-height="68"]{--chart-bar-height: 68}.mockup-chart .chart-bar[data-height="69"]{--chart-bar-height: 69}.mockup-chart .chart-bar[data-height="70"]{--chart-bar-height: 70}.mockup-chart .chart-bar[data-height="71"]{--chart-bar-height: 71}.mockup-chart .chart-bar[data-height="72"]{--chart-bar-height: 72}.mockup-chart .chart-bar[data-height="73"]{--chart-bar-height: 73}.mockup-chart .chart-bar[data-height="74"]{--chart-bar-height: 74}.mockup-chart .chart-bar[data-height="75"]{--chart-bar-height: 75}.mockup-chart .chart-bar[data-height="76"]{--chart-bar-height: 76}.mockup-chart .chart-bar[data-height="77"]{--chart-bar-height: 77}.mockup-chart .chart-bar[data-height="78"]{--chart-bar-height: 78}.mockup-chart .chart-bar[data-height="79"]{--chart-bar-height: 79}.mockup-chart .chart-bar[data-height="80"]{--chart-bar-height: 80}.mockup-chart .chart-bar[data-height="81"]{--chart-bar-height: 81}.mockup-chart .chart-bar[data-height="82"]{--chart-bar-height: 82}.mockup-chart .chart-bar[data-height="83"]{--chart-bar-height: 83}.mockup-chart .chart-bar[data-height="84"]{--chart-bar-height: 84}.mockup-chart .chart-bar[data-height="85"]{--chart-bar-height: 85}.mockup-chart .chart-bar[data-height="86"]{--chart-bar-height: 86}.mockup-chart .chart-bar[data-height="87"]{--chart-bar-height: 87}.mockup-chart .chart-bar[data-height="88"]{--chart-bar-height: 88}.mockup-chart .chart-bar[data-height="89"]{--chart-bar-height: 89}.mockup-chart .chart-bar[data-height="90"]{--chart-bar-height: 90}.mockup-chart .chart-bar[data-height="91"]{--chart-bar-height: 91}.mockup-chart .chart-bar[data-height="92"]{--chart-bar-height: 92}.mockup-chart .chart-bar[data-height="93"]{--chart-bar-height: 93}.mockup-chart .chart-bar[data-height="94"]{--chart-bar-height: 94}.mockup-chart .chart-bar[data-height="95"]{--chart-bar-height: 95}@keyframes barPulse{0%,100%{opacity:.7}50%{opacity:1}}.mockup-stats-row{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width: 480px){.mockup-stats-row{grid-template-columns:repeat(3, 1fr)}}.mockup-stats-row .mockup-stat{background:var(--viking-surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.mockup-stats-row .mockup-stat span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.mockup-stats-row .mockup-stat strong{font-size:1rem;color:var(--viking-accent)}.quick-start-band{padding:56px 0 64px;margin-bottom:32px;border-bottom:1px solid var(--border);position:relative}.quick-start-band::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:120px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.35}.quick-start-header{text-align:center;max-width:640px;margin:0 auto 48px}.quick-start-header h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;margin:0 0 12px 0;text-transform:uppercase;letter-spacing:-0.02em}.quick-start-header p{color:var(--text-muted);margin:0;line-height:1.6;font-size:1.1rem}.quick-start-steps{display:grid;grid-template-columns:1fr;gap:24px;list-style:none;padding:0;margin:0}@media(min-width: 768px){.quick-start-steps{grid-template-columns:repeat(2, 1fr);gap:32px}}@media(min-width: 1100px){.quick-start-steps{grid-template-columns:repeat(4, 1fr)}}.quick-start-step{position:relative;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--viking-radius-xl, 16px);padding:32px 28px;text-align:center;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}.quick-start-step:hover{border-color:var(--viking-accent);transform:translateY(-4px);box-shadow:var(--shadow-hover)}.quick-start-step .step-number{position:absolute;top:16px;right:20px;font-size:.75rem;font-weight:800;letter-spacing:.1em;color:var(--viking-accent);opacity:.7}.quick-start-step .step-icon{font-size:36px;color:var(--viking-accent);margin-bottom:16px;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--viking-accent) 35%, transparent))}.quick-start-step h3{font-size:1.25rem;font-weight:800;margin:0 0 10px 0;text-transform:uppercase;letter-spacing:.04em}.quick-start-step p{margin:0;color:var(--text-muted);line-height:1.55;font-size:1rem}.security-pillars-band{padding:72px 0;border-bottom:1px solid var(--border);position:relative}.security-pillars-band::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:80px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.25}.security-pillars-header{text-align:center;max-width:680px;margin:0 auto 48px}.security-pillars-header h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;margin:0 0 12px 0;text-transform:uppercase;letter-spacing:-0.02em}.security-pillars-header p{color:var(--text-muted);margin:0;line-height:1.6;font-size:1.1rem}.security-pillars-grid{display:grid;grid-template-columns:1fr;gap:20px;list-style:none;padding:0;margin:0}@media(min-width: 600px){.security-pillars-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 960px){.security-pillars-grid{grid-template-columns:repeat(4, 1fr)}}.security-pillar{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:28px 20px;border-radius:16px;background:color-mix(in srgb, var(--viking-accent) 6%, var(--color-surface));border:1px solid color-mix(in srgb, var(--viking-accent) 18%, transparent);transition:border-color .2s ease,box-shadow .2s ease}.security-pillar:hover{border-color:var(--viking-accent);box-shadow:0 0 24px color-mix(in srgb, var(--viking-accent) 15%, transparent)}.security-pillar svg{width:32px;height:32px;color:var(--viking-accent)}.security-pillar strong{font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-color)}.security-pillar span:last-child{font-size:.9rem;color:var(--text-muted);line-height:1.45}.integrations-strip{width:100%;padding:32px 0;margin-bottom:64px;border:0;text-align:center;position:relative}.integrations-strip::before,.integrations-strip::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:100px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.3}.integrations-strip::before{top:0}.integrations-strip::after{bottom:0}.strip-label{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--text-muted);margin:0 0 24px 0}.integration-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:32px 48px}.integration-logo-item{display:flex;align-items:center;gap:10px;text-decoration:none !important;color:var(--text-muted) !important;font-weight:700;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;transition:color .2s ease}.integration-logo-item svg{width:22px;height:22px}.integration-logo-item svg:not(.viking-icon-integration-brand){color:var(--viking-accent)}.integration-logo-item:hover{color:var(--text-color) !important}.showcase-band{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;padding:56px 0;border-bottom:1px solid var(--border);position:relative}@media(min-width: 900px){.showcase-band{grid-template-columns:1fr 1fr;gap:64px;padding:72px 0}}.showcase-band::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:60px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.2}@media(min-width: 900px){.showcase-band.reversed .showcase-band-copy{order:2}.showcase-band.reversed .showcase-band-visual{order:1}}.showcase-band-copy .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase;display:block;margin-bottom:16px}.showcase-band-copy h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;margin:0 0 16px 0;text-transform:uppercase;letter-spacing:-0.02em;color:var(--text-color)}.showcase-band-copy p{font-size:1.1rem;color:var(--text-muted);line-height:1.65;margin:0 0 24px 0}.showcase-link{font-weight:600;color:var(--viking-accent) !important;text-decoration:none !important;letter-spacing:.04em}.showcase-link:hover{color:var(--viking-accent-strong) !important}.showcase-link.muted-link{color:var(--text-muted) !important;font-weight:600}.showcase-link.muted-link:hover{color:var(--viking-accent) !important}.visual-panel{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--viking-radius-xl, 16px);padding:28px;box-shadow:var(--shadow-md)}.visual-panel-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;color:var(--text-muted)}.visual-panel-header svg{width:24px;height:24px;color:var(--viking-accent)}.visual-metrics{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px}@media(min-width: 600px){.visual-metrics{grid-template-columns:repeat(2, 1fr);gap:16px}}@media(min-width: 900px){.visual-metrics{grid-template-columns:repeat(3, 1fr)}}.visual-metric{background:color-mix(in srgb, var(--viking-charcoal-900) 35%, var(--color-surface));border:1px solid var(--border);border-radius:var(--viking-radius-lg);padding:16px;position:relative}.visual-metric .metric-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.visual-metric .metric-value{font-size:1.35rem;font-weight:800;color:var(--text-color)}.visual-metric .metric-trend{position:absolute;top:12px;right:12px;font-size:.85rem;font-weight:700}.visual-metric .metric-trend.trend-up{color:var(--viking-accent-strong)}.visual-metric .metric-trend.trend-down{color:var(--viking-gold-500)}.visual-metric .metric-trend.trend-stable{color:var(--text-muted)}.visual-sparkline{height:48px;opacity:.9}.visual-sparkline svg{width:100%;height:100%}.widget-showcase{padding:72px 0;border-bottom:1px solid var(--border);position:relative}.widget-showcase::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:80px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.25}.widget-showcase-inner{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}@media(min-width: 900px){.widget-showcase-inner{grid-template-columns:1fr 1fr;gap:64px}}.widget-copy .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase;display:block;margin-bottom:16px}.widget-copy h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;margin:0 0 16px 0;text-transform:uppercase}.widget-copy p{color:var(--text-muted);line-height:1.6;margin:0 0 24px 0}.widget-copy .embed-code{background:color-mix(in srgb, var(--viking-charcoal-900) 70%, transparent);padding:16px;border-radius:var(--viking-radius-lg);border:1px solid color-mix(in srgb, var(--viking-accent) 30%, transparent);overflow-x:auto}.widget-copy .embed-code code{color:var(--viking-accent);font-family:monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-all}.widget-mount-point{min-height:200px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--viking-radius-xl, 16px);padding:32px;box-shadow:var(--shadow-md)}.pricing-showcase{padding:72px 0;text-align:center;border-bottom:1px solid var(--border);position:relative}.pricing-showcase::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:80px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.25}.pricing-header{margin-bottom:48px}.pricing-header .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase;display:block;margin-bottom:16px}.pricing-header h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;margin:0 0 12px 0;text-transform:uppercase}.pricing-header p{color:var(--text-muted);margin:0}.pricing-cards-container{display:flex;gap:2rem;flex-direction:column;align-items:center;justify-content:center;max-width:800px;margin:0 auto}@media(min-width: 600px){.pricing-cards-container{flex-direction:row;flex-wrap:wrap}}.pricing-cards-container .pricing-card{flex:1 1 100%;width:100%;min-width:0;max-width:100%;padding:2.5rem 2rem;border-radius:1.5rem;background:var(--color-surface);border:1px solid var(--border);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;text-align:left}@media(min-width: 600px){.pricing-cards-container .pricing-card{flex:1;min-width:260px;max-width:360px;width:auto}}.pricing-cards-container .pricing-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}.pricing-cards-container .pricing-card h3{font-size:1.1rem;color:var(--text-muted);margin:0;text-transform:uppercase;letter-spacing:.1em}.pricing-cards-container .pricing-card .price{font-size:3rem;font-weight:800;margin:1rem 0;color:var(--text-color)}.pricing-cards-container .pricing-card .price span{font-size:1rem;font-weight:normal;color:var(--text-muted)}.pricing-cards-container .pricing-card .features-list{list-style:none;padding:0;margin-bottom:2rem;flex-grow:1}.pricing-cards-container .pricing-card .features-list li{display:flex;align-items:center;margin-bottom:1rem;color:var(--text-color);font-size:1rem}.pricing-cards-container .pricing-card .features-list li svg{width:20px;height:20px;color:var(--viking-accent);margin-right:.75rem;flex-shrink:0}.pricing-cards-container .pricing-card .cta-button{margin-top:auto;width:100%}.pricing-cards-container .pricing-card.pro-tier{border:2px solid var(--viking-accent);position:relative;background:color-mix(in srgb, var(--viking-accent) 6%, var(--color-surface))}.pricing-cards-container .pricing-card.pro-tier .recommended-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--viking-accent);color:var(--white);padding:6px 14px;border-radius:1000px;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.pricing-cards-container .pricing-card.pro-tier .pro-btn{background:var(--viking-accent);color:var(--white);border:none}.pricing-cards-container .pricing-card.pro-tier .pro-btn:hover{background:var(--viking-accent-strong)}.landing-container .viking-whitepaper-cta{margin-block:56px}.whitepaper-band{padding:56px 0}.whitepaper-band.no-bottom-rule{border-bottom:none}.whitepaper-band-inner{display:flex;flex-direction:column;gap:24px;align-items:flex-start;padding:40px;border-radius:var(--viking-radius-xl, 16px);background:color-mix(in srgb, var(--viking-accent) 8%, var(--color-surface));border:1px solid color-mix(in srgb, var(--viking-accent) 20%, transparent)}@media(min-width: 768px){.whitepaper-band-inner{flex-direction:row;align-items:center;justify-content:space-between}}.whitepaper-band-inner .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase;display:block;margin-bottom:12px}.whitepaper-band-inner h2{font-size:1.75rem;font-weight:800;margin:0 0 8px 0;text-transform:uppercase}.whitepaper-band-inner p{color:var(--text-muted);margin:0;max-width:480px;line-height:1.55}.whitepaper-band-inner .whitepaper-btn{width:auto;max-width:100%;flex-shrink:0;align-self:flex-start}@media(min-width: 768px){.whitepaper-band-inner .whitepaper-btn{align-self:center}}.transparency-atmospheric{width:100%;margin:72px auto 0;padding:64px 24px;position:relative;z-index:10;border-top:1px solid color-mix(in srgb, var(--viking-accent) 25%, transparent);display:flex;flex-direction:column;align-items:center;text-align:center;gap:48px}.transparency-atmospheric .atmospheric-header{max-width:640px}.transparency-atmospheric .atmospheric-header .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.2em;color:var(--viking-accent);text-transform:uppercase;margin-bottom:16px;display:block}.transparency-atmospheric .atmospheric-header h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:200;color:var(--text-color);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px 0}.transparency-atmospheric .atmospheric-header p{font-size:1.1rem;color:var(--text-muted);line-height:1.6;margin:0}.transparency-atmospheric .purpose-list{display:flex;flex-wrap:wrap;justify-content:center;gap:48px 64px;list-style:none;padding:0;margin:0}.transparency-atmospheric .purpose-list li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:220px}.transparency-atmospheric .purpose-list li svg{width:48px;height:48px;color:var(--viking-accent);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--viking-accent) 40%, transparent))}.transparency-atmospheric .purpose-list li .purpose-text{font-size:1rem;color:var(--text-muted);line-height:1.55}.transparency-atmospheric .purpose-list li .purpose-text strong{display:block;color:var(--text-color);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase}.landing-container svg[aria-hidden=true]{overflow:visible;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}.publication-shell{border-radius:var(--viking-radius-xl, 16px);border:1px solid var(--viking-border, var(--border));background:var(--viking-surface, var(--color-surface));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));overflow:hidden}.publication-hero{position:relative;text-align:center;padding:36px 28px 28px;border-bottom:1px solid var(--border);overflow:hidden}.publication-hero .hero-brand{position:relative;display:flex;justify-content:center;margin-bottom:16px}.publication-hero .section-tag-row{display:flex;justify-content:center;width:100%}.publication-hero .hero-title,.publication-hero .hero-subtitle,.publication-hero .hero-meta{text-align:center;margin-left:auto;margin-right:auto}.publication-hero .hero-meta{max-width:640px}.publication-hero .hero-brand-icon{filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--viking-teal-600) 25%, transparent))}.publication-hero .hero-title{position:relative;font-size:clamp(1.65rem,4vw,2.35rem);font-weight:800;line-height:1.15;letter-spacing:-0.02em;margin:0 0 12px}.publication-hero .hero-subtitle{position:relative;font-size:1.05rem;line-height:1.6;color:var(--text-muted);max-width:640px;margin:0 auto 16px}.publication-hero .hero-meta{position:relative;font-size:.92rem;color:var(--text-muted);margin-bottom:20px}.publication-hero .hero-meta-row{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:.9rem;margin-bottom:20px}.publication-hero .hero-meta-row a{color:var(--viking-teal-600);text-decoration:none;font-weight:600}.publication-hero .hero-meta-row a:hover{text-decoration:underline}.publication-hero .hero-meta-row .meta-dot{opacity:.4}.publication-toc{padding:20px 28px;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--color-surface) 60%, transparent)}.publication-toc .toc-heading{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px}.publication-toc .toc-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}@media(min-width: 640px){.publication-toc .toc-list{grid-template-columns:repeat(2, 1fr);gap:4px 24px}}@media(min-width: 900px){.publication-toc .toc-list{grid-template-columns:repeat(3, 1fr)}}.publication-toc .toc-item{display:flex;align-items:baseline;gap:10px;padding:6px 0;font-size:.88rem;line-height:1.4;text-decoration:none !important;color:var(--text-muted) !important;border-radius:6px;transition:color .15s ease}.publication-toc .toc-item:hover{color:var(--viking-teal-600) !important}.publication-toc .toc-item .toc-num{flex-shrink:0;min-width:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;font-size:.78rem;color:var(--viking-teal-600);opacity:.85}.publication-toc .toc-item .toc-label{flex:1;font-weight:500}.publication-body{padding:28px 32px 36px}@media(min-width: 768px){.publication-body{padding:32px 40px 40px}}.publication-section{padding:28px 0;border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent)}.publication-section:first-child{padding-top:0}.publication-section:last-child{border-bottom:none;padding-bottom:0}.publication-section :global(h2){font-size:1.35rem;font-weight:800;margin:0 0 16px;letter-spacing:-0.02em;color:var(--text-color);border-bottom:2px solid color-mix(in srgb, var(--viking-teal-600) 35%, transparent);padding-bottom:8px}.publication-section :global(h3){font-size:1.05rem;font-weight:700;margin:24px 0 10px;color:var(--text-color)}.publication-section :global(h4){font-size:.95rem;font-weight:700;margin:20px 0 8px;color:var(--text-color)}.publication-section :global(p),.publication-section :global(li){font-size:1rem;line-height:1.65;color:var(--text-muted);margin:0 0 14px}.publication-section :global(ul),.publication-section :global(ol){padding-left:1.35rem;margin:0 0 14px}.publication-section :global(a){color:var(--viking-teal-600)}.publication-section :global(pre){background:var(--viking-charcoal-900);border:1px solid var(--viking-border-subtle);border-radius:10px;padding:14px 16px;overflow-x:auto;margin:16px 0;font-size:.82rem;line-height:1.55}.publication-section :global(:not(pre) > code){background:color-mix(in srgb, var(--color-dark-grey-btn-bg) 70%, transparent);padding:.1em .35em;border-radius:4px;font-size:.875em;line-height:inherit;color:var(--text-color);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);white-space:normal;vertical-align:baseline}.publication-section :global(table){width:100%;border-collapse:collapse;margin:16px 0;font-size:.9rem}.publication-section :global(table) th,.publication-section :global(table) td{border:1px solid var(--border);padding:8px 12px;text-align:left}.publication-section :global(table) th{background:color-mix(in srgb, var(--viking-teal-600) 10%, var(--color-surface))}.publication-section :global(blockquote){margin:16px 0;padding:12px 16px;border-left:3px solid var(--viking-teal-600);background:color-mix(in srgb, var(--viking-teal-600) 6%, var(--color-surface));border-radius:0 8px 8px 0;font-size:.95rem;color:var(--text-muted)}.pub-sidebar-group{display:flex;flex-direction:column;gap:var(--viking-space-1, 8px);margin-bottom:16px}.pub-sidebar-group .pub-sidebar-group-title{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px 8px;opacity:.75}.pub-chapter-item{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease;border:1px solid rgba(0,0,0,0);text-decoration:none;color:inherit;margin:0}.pub-chapter-item:hover{background-color:var(--hover-color);border-color:var(--border)}.pub-chapter-item.active{background:linear-gradient(135deg, color-mix(in srgb, var(--color-surface) 25%, transparent) 0%, color-mix(in srgb, var(--viking-metallic-200) 8%, transparent) 100%);border-color:var(--color-primary-container, var(--viking-teal-400))}.pub-chapter-item.active .pub-chapter-num,.pub-chapter-item.active .pub-chapter-title{color:var(--color-primary-container, var(--viking-teal-400))}.pub-chapter-item.active .pub-chapter-title{font-weight:600}.pub-chapter-item .pub-chapter-num{flex-shrink:0;min-width:1.25rem;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted);opacity:.7}.pub-chapter-item .pub-chapter-title{font-size:.85rem;line-height:1.35;color:var(--text-color)}.book-cover-page{display:flex;justify-content:center;align-items:center;padding:40px 24px}.book-cover-card{width:100%;max-width:420px;aspect-ratio:3/4.2;background-color:var(--card-bg);border:1px solid var(--border);border-radius:8px 16px 16px 8px;box-shadow:var(--shadow-md);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.book-cover-spine{position:absolute;left:0;top:0;bottom:0;width:28px;background-color:color-mix(in srgb, var(--black) 50%, transparent);z-index:10;border-right:1px solid color-mix(in srgb, var(--black) 20%, transparent)}.book-cover-binding{position:absolute;left:28px;top:0;bottom:0;width:4px;background-color:color-mix(in srgb, var(--black) 10%, transparent);z-index:9}.book-cover-inner{display:flex;flex-direction:column;align-items:center;padding:48px 32px 40px 48px;height:100%;width:100%;text-align:center}.book-cover-label{margin-bottom:auto;letter-spacing:.15em;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.book-cover-logo{margin:24px 0;filter:drop-shadow(0 6px 16px color-mix(in srgb, var(--viking-teal-600) 30%, transparent))}.book-cover-title{font-size:1.75rem;font-weight:800;line-height:1.15;margin-bottom:12px;letter-spacing:-0.02em}.book-cover-subtitle{font-size:.95rem;color:var(--text-muted);font-weight:500;font-style:italic}.book-cover-footer{margin-top:auto;padding-top:24px;border-top:1px solid var(--border);width:100%;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.book-cover-footer a{font-weight:600;color:var(--text-color);text-decoration:none}.book-cover-footer a:hover{color:var(--viking-teal-600)}.book-cover-footer .book-cover-vol{font-weight:700;color:var(--color-primary);letter-spacing:.1em;font-size:.8rem}.publication-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:20px 28px;border-top:1px solid var(--border);background:color-mix(in srgb, var(--color-surface) 50%, transparent)}@media(min-width: 600px){.publication-pagination{justify-content:space-between;padding:16px 32px}}.publication-pagination .pagination-btn{background:var(--color-primary) !important;color:#fff !important;font-weight:600;border-radius:var(--viking-radius-lg);border:none;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:opacity .2s;font-size:.9rem}.publication-pagination .pagination-btn[disabled]{opacity:.5;cursor:not-allowed}.publication-pagination .pagination-btn:not([disabled]):hover{opacity:.9}.publication-pagination .page-counter{font-size:.88rem;color:var(--text-muted);font-weight:500}.publication-progress{max-width:480px;margin:0 auto}.publication-progress .progress-bar-header{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:6px}.publication-progress .progress-percentage{color:var(--color-primary-container)}.publication-progress .progress-bar-container{width:100%;height:6px;background-color:var(--hover-color);border:1px solid var(--border);border-radius:999px;overflow:hidden;position:relative}.publication-progress .progress-bar-fill{position:absolute;left:0;top:0;bottom:0;width:var(--progress, 0%);background-color:var(--color-primary);transition:width .3s ease-out;border-radius:999px}.section-tag{display:inline-block;font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-accent)}.showcase-page{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-5));padding-block:var(--viking-space-4)}@media(min-width: 768px){.showcase-page{padding-block:var(--viking-space-5)}}.showcase-hero{display:grid;gap:var(--viking-space-5);align-items:center}@media(min-width: 960px){.showcase-hero{grid-template-columns:1.15fr 1fr;gap:var(--viking-space-6)}}.showcase-hero-copy{display:flex;flex-direction:column;gap:var(--viking-space-3)}.showcase-hero-badge{display:inline-flex;align-items:center;gap:var(--viking-space-1);width:fit-content;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface);box-shadow:var(--viking-shadow-sm)}.showcase-hero-badge-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background:var(--viking-accent);flex-shrink:0}.pulse-dot{animation:showcasePulseDot 2s ease-in-out infinite}@keyframes showcasePulseDot{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-accent) 60%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--viking-accent) 0%, transparent)}}@media(prefers-reduced-motion: reduce){.pulse-dot{animation:none}}.showcase-hero-title{margin:0;font-size:clamp(2rem,4.5vw,3rem);font-weight:var(--viking-font-weight-bold, 800);line-height:var(--viking-line-height-tight);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.showcase-hero-lead{margin:0;max-width:var(--viking-content-readable-max-width, 48rem);font-size:var(--viking-font-size-lg);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted)}.showcase-hero-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.showcase-hero-panel{display:flex;flex-direction:column;gap:var(--viking-space-2);position:relative;overflow:hidden}.showcase-hero-panel::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 40%, transparent), transparent);pointer-events:none}.showcase-toolbar{padding:var(--viking-card-padding)}.showcase-toolbar-row{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 768px){.showcase-toolbar-row{grid-template-columns:minmax(0, 2fr) minmax(12rem, 1fr);align-items:end}}.showcase-search-field,.showcase-category-field{margin:0}.showcase-category-bar{position:sticky;top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px));z-index:40;border-block:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 94%, transparent);backdrop-filter:blur(8px)}.showcase-category-bar-inner{padding-block:var(--viking-space-2)}.showcase-category-bar-scroll{display:flex;gap:var(--viking-space-1);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:var(--viking-space-half)}.showcase-category-bar-scroll::-webkit-scrollbar{display:none}.showcase-category-chip{flex-shrink:0;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);text-decoration:none;white-space:nowrap;transition:var(--viking-transition-interactive);min-height:var(--viking-control-height, 44px);display:inline-flex;align-items:center}.showcase-category-chip:hover{border-color:var(--viking-accent);color:var(--viking-accent)}.showcase-category-chip.is-active{border-color:var(--viking-accent);background:color-mix(in srgb, var(--viking-accent) 10%, var(--viking-surface));color:var(--viking-accent)}.showcase-category{display:flex;flex-direction:column;gap:var(--viking-space-3);padding:var(--viking-space-4) 0;border-bottom:1px solid var(--viking-border);scroll-margin-top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) + 56px)}.showcase-category:last-child{border-bottom:0}.showcase-category-header{display:flex;flex-direction:column;gap:var(--viking-space-1);padding-bottom:var(--viking-space-2);border-bottom:1px solid var(--viking-border-subtle)}.showcase-component-list{display:flex;flex-direction:column;gap:var(--viking-space-4)}.showcase-section{display:flex;flex-direction:column;gap:var(--viking-space-4);padding-block:var(--viking-space-5);border-bottom:1px solid var(--viking-border);scroll-margin-top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) + 56px);position:relative}.showcase-section::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.25}.showcase-section:last-child{border-bottom:0}.showcase-section-compact{padding-block:var(--viking-space-4)}.showcase-section-header{display:flex;flex-direction:column;gap:var(--viking-space-1);max-width:var(--viking-content-readable-max-width, 48rem)}.showcase-section-title{margin:0;font-size:var(--viking-font-size-2xl);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.showcase-section-desc{margin:0;font-size:var(--viking-font-size-lg)}.showcase-component-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 768px){.showcase-component-grid{grid-template-columns:repeat(2, 1fr)}}.component-showcase-card{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-card-padding);scroll-margin-top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) + 56px);transition:transform var(--viking-duration-normal) var(--viking-ease-out),border-color var(--viking-duration-normal) var(--viking-ease-out),box-shadow var(--viking-duration-normal) var(--viking-ease-out)}.component-showcase-card-compact:hover{transform:translateY(var(--viking-state-hover-lift, -4px));border-color:var(--viking-accent-strong, var(--viking-accent));box-shadow:var(--viking-shadow-hover)}.component-showcase-header{display:flex;flex-direction:column;gap:var(--viking-space-1)}.component-showcase-title-block{display:flex;flex-direction:column;gap:var(--viking-space-half)}.component-showcase-link{color:inherit;text-decoration:none;transition:color var(--viking-duration-fast) var(--viking-ease-out)}.component-showcase-link:hover{color:var(--viking-accent)}.component-showcase-desc{margin:0;font-size:var(--viking-font-size-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.component-showcase-tags{display:flex;flex-wrap:wrap;gap:var(--viking-space-half)}.component-showcase-preview{padding:var(--viking-space-3);background:color-mix(in srgb, var(--viking-bg) 30%, var(--viking-surface-alt));border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);min-height:5rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.component-showcase-preview::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200, var(--viking-border)) 22%, transparent), transparent);pointer-events:none}.component-showcase-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding-top:var(--viking-space-1);border-top:1px solid var(--viking-border-subtle)}.component-showcase-frameworks{display:flex;flex-wrap:wrap;gap:var(--viking-space-half)}.component-framework-chip{padding:var(--viking-space-half) var(--viking-space-1);border-radius:var(--viking-radius-sm);background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface-alt));border:1px solid color-mix(in srgb, var(--viking-accent) 15%, transparent);font-size:var(--viking-font-size-2xs, var(--viking-font-size-xs));font-weight:var(--viking-font-weight-medium);color:var(--viking-text-muted)}.component-showcase-cta{display:inline-flex;align-items:center;gap:var(--viking-space-half);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);color:var(--viking-accent);text-decoration:none;min-height:var(--viking-control-height, 44px);padding-inline:var(--viking-space-1)}.component-showcase-cta:hover{text-decoration:underline}.component-showcase-code{display:flex;flex-direction:column;gap:var(--viking-space-1)}.component-showcase-code-label{margin:0}.component-showcase-api{padding-top:var(--viking-space-2);border-top:1px solid var(--viking-border-subtle)}.component-detail-page{gap:var(--viking-space-4)}.component-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-half);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.component-breadcrumb a{color:var(--viking-accent);text-decoration:none}.component-breadcrumb a:hover{text-decoration:underline}.showcase-detail-header{display:flex;flex-direction:column;gap:var(--viking-space-2)}.component-api-panel{padding:var(--viking-card-padding)}.showcase-related-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 640px){.showcase-related-grid{grid-template-columns:repeat(2, 1fr)}}.showcase-related-card{display:flex;flex-direction:column;gap:var(--viking-space-half);padding:var(--viking-card-padding);text-decoration:none;color:inherit;transition:var(--viking-transition-interactive)}.showcase-related-card:hover{transform:translateY(var(--viking-state-hover-lift, -4px));border-color:var(--viking-accent);box-shadow:var(--viking-shadow-hover)}.showcase-detail-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);padding-top:var(--viking-space-3);border-top:1px solid var(--viking-border-subtle)}.api-reference{display:flex;flex-direction:column;gap:var(--viking-space-3)}.api-reference-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--viking-space-2)}.api-selectors{display:flex;flex-wrap:wrap;gap:var(--viking-space-1)}.api-selector-chip{display:inline-flex;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-half) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt)}.api-prop-group{display:flex;flex-direction:column;gap:var(--viking-space-2)}.api-prop-group-label{margin:0}.api-prop-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 640px){.api-prop-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.api-prop-grid{grid-template-columns:repeat(3, 1fr)}}.api-prop-card{display:flex;flex-direction:column;gap:var(--viking-space-half)}.api-prop-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--viking-space-1)}.api-prop-type{font-size:var(--viking-font-size-xs);color:var(--viking-accent);font-family:var(--viking-font-family-mono, ui-monospace, monospace)}.api-prop-default{margin:0;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.api-prop-desc{margin:0;font-size:var(--viking-font-size-sm)}.landing-showcase{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-6))}.landing-hero{display:grid;gap:var(--viking-space-5);align-items:center;padding:var(--viking-space-5) 0 var(--viking-space-3)}@media(min-width: 960px){.landing-hero{grid-template-columns:minmax(0, 1.02fr) minmax(24rem, 0.98fr);gap:var(--viking-space-6)}}.landing-hero-copy{display:flex;flex-direction:column;gap:var(--viking-space-3);min-width:0}.landing-hero-copy>.viking-heading{max-width:18ch}.landing-hero-copy>.viking-text-muted{max-width:var(--viking-content-readable-max-width, 48rem)}.landing-hero-badge{display:inline-flex;align-items:center;gap:var(--viking-space-1);width:fit-content;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide)}.landing-hero-badge-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background:var(--viking-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--viking-accent) 30%, transparent)}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.landing-stats{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--viking-space-2)}@media(min-width: 640px){.landing-stats{grid-template-columns:repeat(4, 1fr)}}.landing-stat{padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-recipe, var(--viking-surface));min-width:0;box-shadow:var(--viking-shadow-xs)}.landing-section{display:flex;flex-direction:column;gap:var(--viking-space-3);padding-block:var(--viking-space-4);border-top:1px solid var(--viking-border-subtle)}.landing-section-header{display:flex;flex-direction:column;gap:var(--viking-space-1);max-width:var(--viking-content-readable-max-width, 48rem)}.landing-section-header-row{max-width:none;justify-content:space-between;gap:var(--viking-space-3)}@media(min-width: 820px){.landing-section-header-row{flex-direction:row;align-items:end}}.landing-feature-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 768px){.landing-feature-grid{grid-template-columns:repeat(3, 1fr)}}.landing-preview-panel{padding:var(--viking-card-padding);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-lg);display:flex;flex-direction:column;gap:var(--viking-space-2);position:relative;overflow:hidden}.landing-preview-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 40%, transparent), transparent)}.landing-preview-toolbar,.landing-preview-form{display:flex;flex-direction:column;gap:var(--viking-space-2)}.landing-preview-toolbar{flex-direction:row;justify-content:space-between;align-items:center}.landing-preview-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 560px){.landing-preview-grid{grid-template-columns:repeat(2, 1fr)}}.landing-framework-strip{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);padding:var(--viking-space-3) 0}.landing-framework-chip{display:inline-flex;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium)}.landing-framework-chip code{font-size:var(--viking-font-size-xs);color:var(--viking-accent)}.landing-quickstart-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);align-items:start}@media(min-width: 980px){.landing-quickstart-grid{grid-template-columns:minmax(16rem, 0.8fr) minmax(0, 1.2fr)}}.landing-quickstart-steps{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-card-padding)}.landing-step-list{display:flex;flex-direction:column;gap:var(--viking-space-1);margin:0;padding-left:var(--viking-space-3)}.landing-quickstart-code{min-width:0}.landing-component-grid,.landing-framework-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 720px){.landing-component-grid{grid-template-columns:repeat(2, 1fr)}.landing-framework-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1080px){.landing-component-grid{grid-template-columns:repeat(3, 1fr)}.landing-framework-grid{grid-template-columns:repeat(4, 1fr)}}.landing-component-card,.landing-framework-card{display:flex;flex-direction:column;gap:var(--viking-space-1);padding:var(--viking-card-padding);color:inherit;text-decoration:none;transition:transform var(--viking-duration-normal) var(--viking-ease-out),border-color var(--viking-duration-normal) var(--viking-ease-out),box-shadow var(--viking-duration-normal) var(--viking-ease-out)}.landing-component-card:hover,.landing-framework-card:hover{transform:translateY(var(--viking-state-hover-lift, -4px));border-color:var(--viking-accent);box-shadow:var(--viking-shadow-hover)}.landing-component-card p,.landing-framework-card span:last-child{margin:0}.landing-playground-band{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);align-items:center;padding:var(--viking-space-4);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-md)}@media(min-width: 900px){.landing-playground-band{grid-template-columns:1fr minmax(18rem, 0.72fr)}}.landing-playground-copy,.landing-playground-preview{display:flex;flex-direction:column;gap:var(--viking-space-2)}.landing-playground-preview{padding:var(--viking-card-padding)}.component-detail-link{display:inline-block;margin-top:var(--viking-space-1);font-size:var(--viking-font-size-sm);color:var(--viking-accent);text-decoration:none}.component-detail-link:hover{text-decoration:underline}.showcase-auth-panel{max-width:24rem;padding:var(--viking-space-3);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-alt);display:flex;flex-direction:column;gap:var(--viking-space-2)}.showcase-search-palette{max-width:36rem;display:flex;flex-direction:column;border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius-lg);background:var(--viking-surface-raised, var(--viking-surface));box-shadow:var(--viking-shadow-lg);overflow:hidden;isolation:isolate}.viking-search-group-label-static{margin:var(--viking-space-1) 0 var(--viking-space-half);padding:0 var(--viking-space-1);font-size:var(--viking-font-size-2xs, var(--viking-font-size-xs));font-weight:var(--viking-font-weight-semibold, 600);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted)}.showcase-search-palette-header{display:flex;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-2);border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 26%, var(--viking-surface-raised))}.showcase-search-icon{color:var(--viking-text-muted);font-size:var(--viking-font-size-lg)}.showcase-search-input{flex:1;border:none;background:rgba(0,0,0,0);color:var(--viking-text);font:inherit;outline:none}.showcase-search-palette-body{padding:var(--viking-space-2)}.showcase-search-palette-footer{padding:var(--viking-space-1) var(--viking-space-2);border-top:1px solid var(--viking-border);font-size:calc(var(--viking-font-size)*.85);color:var(--viking-text-muted);text-align:center}.showcase-chart-demo{width:100%;max-width:24rem;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:color-mix(in srgb, var(--viking-surface) 96%, var(--viking-bg))}.showcase-chart-line{fill:none;stroke:var(--viking-accent);stroke-width:2}.showcase-chart-area{fill:color-mix(in srgb, var(--viking-accent) 20%, transparent);stroke:none}.showcase-modal-demo{position:relative;padding:var(--viking-space-4);border-radius:var(--viking-radius-lg);background:var(--viking-surface-alt);overflow:hidden}.showcase-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb, var(--viking-bg) 60%, transparent)}.showcase-modal-panel{position:relative;z-index:1;max-width:28rem;margin:0 auto}.showcase-toast-demo{max-width:24rem;border-left:3px solid var(--viking-success)}.showcase-icon-demo{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-space-5);height:var(--viking-space-5);color:var(--viking-accent);font-size:var(--viking-font-size-lg)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body.docs-body{margin:0;min-height:100vh;background:var(--viking-bg);color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size-base);line-height:var(--viking-line-height-normal)}.skip-link{position:absolute;top:var(--viking-space-1);left:var(--viking-space-1);z-index:1000;padding:var(--viking-space-1) var(--viking-space-2);background:var(--viking-accent);color:var(--viking-accent-content);border-radius:var(--viking-radius);transform:translateY(-200%);transition:transform var(--viking-duration-fast) var(--viking-ease-out)}.skip-link:focus{transform:translateY(0)}.page-inner-wrapper{width:100%;max-width:var(--viking-container-max-width, 1260px);margin-inline:auto;padding-inline:var(--viking-page-gutter, var(--viking-space-2))}@media(min-width: 768px){.page-inner-wrapper{padding-inline:var(--viking-page-gutter-lg, var(--viking-space-3))}}a{color:var(--viking-accent);text-decoration:none}a:hover{color:var(--viking-accent-hover)}code{font-family:var(--viking-font-family-mono, ui-monospace, monospace);font-size:.9em;background:var(--viking-surface-alt);padding:.1em .35em;border-radius:var(--viking-radius-xs);border:1px solid var(--viking-border-subtle)}.docs-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 92%, transparent);backdrop-filter:blur(8px)}.docs-header-inner{display:flex;align-items:center;gap:var(--viking-space-2);min-height:var(--viking-navbar-height, 64px)}.docs-brand{display:inline-flex;align-items:center;gap:var(--viking-space-1);color:var(--viking-text);text-decoration:none;flex-shrink:0}.docs-brand-mark{color:var(--viking-accent)}.docs-brand-text{display:flex;flex-direction:column;line-height:1.2}.docs-brand-name{font-weight:var(--viking-font-weight-bold);font-size:var(--viking-font-size-sm);letter-spacing:var(--viking-letter-spacing-wide)}.docs-brand-tag{font-size:var(--viking-font-size-2xs);color:var(--viking-text-muted);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.docs-nav{display:none;align-items:center;gap:var(--viking-space-half);margin-inline:auto}@media(min-width: 900px){.docs-nav{display:flex}}.docs-nav-link{padding:var(--viking-space-half) var(--viking-space-1);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);transition:var(--viking-transition-colors)}.docs-nav-link:hover,.docs-nav-link.is-active{color:var(--viking-text);background:var(--viking-surface-alt)}.docs-header-actions{display:flex;align-items:center;gap:var(--viking-space-1);margin-left:auto}.docs-github-link{display:inline-flex;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-half) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);transition:var(--viking-transition-interactive)}.docs-github-link:hover{color:var(--viking-text);border-color:var(--viking-border-strong)}.docs-github-label{display:none}@media(min-width: 640px){.docs-github-label{display:inline}}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);border:1px solid color-mix(in srgb, var(--viking-accent) 32%, var(--viking-border-strong));border-radius:var(--viking-radius);background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface));color:var(--viking-accent-strong, var(--viking-teal-400));box-shadow:var(--viking-shadow-sm);cursor:pointer;transition:var(--viking-transition-interactive)}.theme-toggle-btn:hover{border-color:var(--viking-accent-strong, var(--viking-teal-400));background:color-mix(in srgb, var(--viking-accent) 14%, var(--viking-surface));color:var(--viking-accent-strong, var(--viking-teal-400));box-shadow:var(--viking-shadow-md)}.theme-toggle-btn:focus-visible{outline:2px solid var(--viking-ring);outline-offset:2px}html[data-theme=dark] .theme-icon-sun{display:block}html[data-theme=dark] .theme-icon-moon{display:none}html[data-theme=light] .theme-icon-sun{display:none}html[data-theme=light] .theme-icon-moon{display:block}.showcase-subnav{position:sticky;top:var(--viking-navbar-height, 64px);z-index:45;border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 94%, transparent);backdrop-filter:blur(8px);--showcase-subnav-height: 52px;min-height:var(--showcase-subnav-height)}.showcase-subnav-inner{padding-block:var(--viking-space-1)}.showcase-subnav-scroll{display:flex;gap:var(--viking-space-1);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.showcase-subnav-scroll::-webkit-scrollbar{display:none}.showcase-subnav-link{flex-shrink:0;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid rgba(0,0,0,0);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);text-decoration:none;white-space:nowrap;min-height:var(--viking-control-height, 44px);display:inline-flex;align-items:center;transition:var(--viking-transition-colors)}.showcase-subnav-link:hover{color:var(--viking-text);background:var(--viking-surface-alt)}.showcase-subnav-link.is-active{color:var(--viking-accent);border-color:color-mix(in srgb, var(--viking-accent) 28%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 10%, var(--viking-surface))}.docs-layout{display:grid;grid-template-columns:1fr;min-height:calc(100vh - var(--viking-navbar-height, 64px))}.docs-layout-full{grid-template-columns:1fr}.docs-main{display:flex;flex-direction:column;min-width:0}.docs-content{flex:1;padding:var(--viking-space-4) var(--viking-space-2)}@media(min-width: 768px){.docs-content{padding:var(--viking-space-5) var(--viking-space-4)}}.docs-footer{border-top:1px solid var(--viking-border);padding:var(--viking-space-4) 0;margin-top:var(--viking-space-5)}.docs-footer-grid{display:flex;flex-wrap:wrap;gap:var(--viking-space-3);justify-content:space-between;align-items:flex-start}.docs-footer-nav{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.docs-footer-nav a{color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.docs-footer-copy{margin:var(--viking-space-3) 0 0;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.code-block{border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);overflow:hidden;background:var(--viking-charcoal-950, #0a0a0a)}.code-block-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-1);border-bottom:1px solid var(--viking-border);background:var(--viking-surface)}.code-block-tab{padding:var(--viking-space-half) var(--viking-space-1);border:none;border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-medium);cursor:pointer;min-height:36px}.code-block-tab.is-active{background:var(--viking-surface-alt);color:var(--viking-text)}.code-block-tab:focus-visible{outline:2px solid var(--viking-ring);outline-offset:2px}.code-block-copy{display:inline-flex;align-items:center;gap:var(--viking-space-half);margin-left:auto;padding:var(--viking-space-half) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);cursor:pointer;min-height:36px}.code-block-copy:hover{color:var(--viking-text);border-color:var(--viking-border-strong)}.code-block-panel{margin:0;padding:var(--viking-space-2);overflow-x:auto;font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-relaxed);color:var(--viking-text)}.code-block-panel code{background:rgba(0,0,0,0);border:none;padding:0;white-space:pre}.code-block-panel[hidden]{display:none}.token-inspector-search{width:100%;max-width:28rem;margin-bottom:var(--viking-space-3)}.token-table{width:100%;border-collapse:collapse;font-size:var(--viking-font-size-sm)}.token-table th,.token-table td{padding:var(--viking-space-1);text-align:left;border-bottom:1px solid var(--viking-border-subtle)}.token-swatch{width:2rem;height:2rem;border-radius:var(--viking-radius-sm);border:1px solid var(--viking-border)}.token-copy-btn{padding:var(--viking-space-half) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);cursor:pointer;min-height:32px}.framework-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 768px){.framework-grid{grid-template-columns:repeat(2, 1fr)}}.framework-card{padding:var(--viking-space-3);background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm)}.contribute-steps{display:flex;flex-direction:column;gap:var(--viking-space-2);counter-reset:step}.contribute-step{padding:var(--viking-space-3);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface)}.contribute-step h3::before{counter-increment:step;content:counter(step, decimal-leading-zero) " — ";color:var(--viking-accent)}html,body{height:100%;margin:0;padding:0;overflow-x:hidden}body{background-color:var(--viking-bg, var(--bg-color));color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family, "Inter", ui-sans-serif, system-ui, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.backend-landing-shell{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-7, 56px));min-height:calc(100vh - var(--viking-navbar-height, 64px))}.backend-hero{text-align:center;align-items:center;max-width:var(--viking-content-readable-max-width, 48rem);margin-inline:auto;box-shadow:var(--viking-shadow-sm)}.backend-status-badge{align-self:center;text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps)}.backend-status-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background-color:var(--viking-success);animation:backend-status-pulse 2s infinite}@keyframes backend-status-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-success) 70%, transparent)}70%{box-shadow:0 0 0 var(--viking-space-1) color-mix(in srgb, var(--viking-success) 0%, transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-success) 0%, transparent)}}.backend-hero-lead{text-align:center;margin-inline:auto}.backend-hero-cta{justify-content:center;margin-top:var(--viking-space-1)}.backend-feature-grid{display:flex;flex-direction:column;gap:var(--viking-space-3);width:100%}.backend-feature-cards{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr));gap:var(--viking-space-3);width:100%}.backend-feature-card-body{display:flex;flex-direction:column;gap:var(--viking-space-2)}.backend-feature-icon{width:var(--viking-space-6);height:var(--viking-space-6);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm);border:none}body.backend-404 main.main{min-height:calc(100vh - var(--viking-navbar-height, 64px));display:flex;align-items:center;justify-content:center}body.backend-404 .backend-error-card{max-width:var(--viking-form-max-width, 720px);margin-inline:auto;text-align:center}body.backend-404 .backend-error-logo{max-width:100px;width:100%;margin:0 auto var(--viking-space-3);filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--viking-black) 15%, transparent))}body.backend-404 .backend-error-card .viking-heading-xl{text-transform:uppercase}body.backend-404 .backend-error-card .viking-text-muted{margin-inline:auto}body.backend-404 .viking-cta-row{justify-content:center;margin-top:var(--viking-space-3)}@media(prefers-reduced-motion: reduce){.backend-status-dot{animation:none}}body.backend-swagger{background:var(--viking-bg, var(--bg-color))}.backend-swagger-shell{padding-block:var(--viking-space-3) var(--viking-space-6)}.backend-swagger-panel{padding:0;overflow:hidden}.backend-swagger-hero{border:none;border-radius:0;box-shadow:none;border-bottom:1px solid var(--viking-border);margin:0}.backend-swagger-toolbar{padding:var(--viking-space-2) var(--viking-space-3);border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-surface-alt) 40%, transparent)}.backend-swagger-search{margin:0;max-width:none}.backend-swagger-search .viking-input-shell{width:100%}.backend-swagger-panel #swagger-ui{padding:0 var(--viking-space-3) var(--viking-space-3)}.swagger-ui .opblock .opblock-summary{flex-wrap:wrap;gap:var(--viking-space-1, 8px)}.swagger-ui .topbar{display:none}.swagger-ui{font-family:var(--viking-font-family, "Inter", system-ui, sans-serif);color:var(--viking-text, var(--text-color))}.swagger-ui,.swagger-ui .wrapper,.swagger-ui section{background:rgba(0,0,0,0)}.swagger-ui .info .title{display:none}.swagger-ui .info{margin:0;padding:var(--viking-space-2, 16px) 0;border-bottom:1px solid var(--viking-border, var(--border))}.swagger-ui .info .markdown,.swagger-ui .info .description{margin:0;max-width:none;text-align:left}.swagger-ui .info .base-url,.swagger-ui .info p,.swagger-ui .info li,.swagger-ui .info .markdown p{font-size:.92rem;line-height:1.6;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .info .description{padding:var(--viking-space-2, 16px);border-radius:var(--viking-radius, 8px);border:1px solid color-mix(in srgb, var(--viking-accent, var(--color-primary)) 22%, var(--border));background:color-mix(in srgb, var(--viking-accent, var(--color-primary)) 6%, transparent)}.swagger-ui .info a{color:var(--viking-accent, var(--color-primary));text-decoration:none}.swagger-ui .info a:hover,.swagger-ui .info a:focus-visible{text-decoration:underline;text-underline-offset:3px}.swagger-ui .scheme-container{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--viking-space-2, 16px);margin:0;padding:var(--viking-space-2, 16px) 0;border:none;border-bottom:1px solid var(--viking-border, var(--border));border-radius:0;box-shadow:none !important;background:rgba(0,0,0,0) !important}.swagger-ui .scheme-container .schemes>label{color:var(--viking-text-muted, var(--text-muted));font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .scheme-container select{background:var(--viking-surface-alt, var(--viking-charcoal-700));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius-sm, 6px);color:var(--viking-text, var(--text-color));font-family:inherit;font-size:var(--viking-font-size-sm, 14px);min-height:36px;padding:0 var(--viking-space-2, 16px)}.swagger-ui .filter-container{margin:0;padding:0;border:none;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.swagger-ui .filter-container input[type=text]{width:100%;max-width:100%;min-height:36px;padding:0 var(--viking-space-2, 16px);border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface-alt, var(--viking-charcoal-800));box-shadow:none;color:var(--viking-text, var(--text-color))}.swagger-ui .btn{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:none;color:var(--viking-text, var(--text-color));font-family:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;min-height:36px;padding:0 var(--viking-space-2, 16px);text-transform:uppercase;transition:var(--viking-transition-interactive, all 0.2s ease)}.swagger-ui .btn:hover{background:var(--viking-surface-raised, var(--viking-charcoal-600));border-color:var(--viking-accent-strong, var(--viking-teal-400));transform:none}.swagger-ui .btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--focus-ring-color));outline-offset:var(--viking-ring-offset, 2px)}.swagger-ui .btn.authorize,.swagger-ui .btn.authorize.unlocked,.swagger-ui .btn.execute{background:var(--viking-accent, var(--color-primary));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));color:var(--viking-accent-content, var(--viking-white-pure));box-shadow:var(--viking-shadow-sm);min-height:var(--viking-control-height, 40px);border-radius:var(--viking-radius, 8px)}.swagger-ui .btn.authorize:hover,.swagger-ui .btn.authorize.unlocked:hover,.swagger-ui .btn.execute:hover{background:var(--viking-accent-hover, var(--viking-teal-500));border-color:color-mix(in srgb, var(--viking-accent-hover) 82%, var(--viking-black));color:var(--viking-accent-content, var(--viking-white-pure));box-shadow:var(--viking-shadow-md)}.swagger-ui .opblock-tag-section{margin:0}.swagger-ui .opblock-tag{margin:var(--viking-space-3, 24px) 0 var(--viking-space-1, 8px);padding:0 0 var(--viking-space-1, 8px);border-bottom:1px solid var(--viking-border, var(--border));font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .opblock-tag small{font-size:.85rem;font-weight:500;letter-spacing:normal;text-transform:none}.swagger-ui .opblock-tag svg{fill:var(--viking-text-muted, var(--text-muted))}.swagger-ui .opblock{margin:0;border:none;border-bottom:1px solid var(--viking-border, var(--border));border-radius:0;box-shadow:none;background:rgba(0,0,0,0)}.swagger-ui .opblock.opblock-post,.swagger-ui .opblock.opblock-get,.swagger-ui .opblock.opblock-put,.swagger-ui .opblock.opblock-patch,.swagger-ui .opblock.opblock-delete,.swagger-ui .opblock.opblock-options,.swagger-ui .opblock.opblock-head{border:none;border-bottom:1px solid var(--viking-border, var(--border));background:rgba(0,0,0,0)}.swagger-ui .opblock .opblock-summary{border:none;background:rgba(0,0,0,0) !important;padding:var(--viking-space-2, 16px) 0}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid var(--viking-border-subtle, var(--border))}.swagger-ui .opblock .opblock-summary-method{border-radius:var(--viking-radius-sm, 6px);font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.68rem;font-weight:700;letter-spacing:.06em;min-width:64px;text-align:center}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:color-mix(in srgb, var(--viking-accent) 16%, transparent);color:var(--viking-accent-strong)}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:color-mix(in srgb, var(--viking-accent) 16%, transparent);color:var(--viking-accent-strong)}.swagger-ui .opblock.opblock-put .opblock-summary-method,.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:color-mix(in srgb, var(--viking-gold-500) 16%, transparent);color:var(--viking-gold-500)}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:color-mix(in srgb, var(--viking-crimson-600) 14%, transparent);color:var(--viking-crimson-400)}.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem}.swagger-ui .opblock .opblock-summary-description{color:var(--viking-text-muted, var(--text-muted));font-size:.88rem}.swagger-ui .opblock-body,.swagger-ui .opblock-section{background:color-mix(in srgb, var(--viking-bg, var(--bg-color)) 35%, transparent)}.swagger-ui .opblock .opblock-section-header{align-items:center;background:color-mix(in srgb, var(--viking-surface-alt, var(--viking-charcoal-800)) 72%, transparent) !important;border-bottom:1px solid var(--viking-border-subtle, var(--border));box-shadow:none !important;min-height:auto;padding:var(--viking-space-1-5, 12px) var(--viking-space-2, 16px)}.swagger-ui .opblock .opblock-section-header h4{color:var(--viking-text-muted, var(--text-muted));flex:1;font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.swagger-ui .opblock .opblock-section-header>label{align-items:center;color:var(--viking-text-muted, var(--text-muted));display:flex;font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0 0 0 auto;text-transform:uppercase}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 var(--viking-space-1, 8px) 0 0}.swagger-ui .opblock-section-header{background:color-mix(in srgb, var(--viking-surface-alt, var(--viking-charcoal-800)) 72%, transparent) !important;border-bottom:1px solid var(--viking-border-subtle, var(--border));box-shadow:none !important;padding:var(--viking-space-1-5, 12px) 0}.swagger-ui .opblock-section-header h4,.swagger-ui .opblock-section-header label{color:var(--viking-text-muted, var(--text-muted));font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .opblock-body{padding:var(--viking-space-2, 16px) 0}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{background:rgba(0,0,0,0);color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:.88rem;margin:0;padding:var(--viking-space-1, 8px) 0}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .table-container{background:rgba(0,0,0,0);padding:var(--viking-space-1, 8px) 0}.swagger-ui .parameters-col_description,.swagger-ui .parameters-col_name{color:var(--viking-text, var(--text-color))}.swagger-ui .parameters-col_description .markdown p,.swagger-ui .parameters-col_description .renderedMarkdown p,.swagger-ui .opblock-body .markdown p,.swagger-ui .opblock-body .renderedMarkdown p{color:var(--viking-text-muted, var(--text-muted));font-size:.88rem;margin:0}.swagger-ui .parameter__name{color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem;font-weight:600}.swagger-ui .parameter__name.required span{color:var(--viking-crimson-400, var(--color-error))}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{color:var(--viking-text-muted, var(--text-muted));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.78rem}.swagger-ui .tab{display:flex;gap:var(--viking-space-2, 16px);margin:0 0 var(--viking-space-1, 8px)}.swagger-ui .tab li{color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;min-width:0;padding:0;text-transform:uppercase}.swagger-ui .tab li:first-of-type:after{background:var(--viking-border-subtle, var(--border))}.swagger-ui .tab li.active{color:var(--viking-accent-strong, var(--viking-teal-400));font-weight:700}.swagger-ui .tab li button.tablinks{color:inherit}.swagger-ui .body-param-options label{color:var(--viking-text-muted, var(--text-muted));font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:var(--viking-space-1, 8px) 0;text-transform:uppercase}.swagger-ui .body-param__media-type,.swagger-ui .body-param__text{color:var(--viking-text, var(--text-color))}.swagger-ui .execute-wrapper{background:rgba(0,0,0,0);padding:var(--viking-space-2, 16px) 0 0;text-align:left}.swagger-ui .execute-wrapper .btn{width:100%}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5,.swagger-ui .response-control-media-type__title,.swagger-ui .response-control-examples__title{color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .response-col_status,.swagger-ui .response-col_links{color:var(--viking-text, var(--text-color));font-family:inherit;font-size:.88rem}.swagger-ui .response-col_status .response-undocumented{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .response-control-media-type__accept-message{color:var(--viking-success, var(--viking-green-500))}.swagger-ui .response-control-media-type--accept-controller select.content-type{border-color:var(--viking-success, var(--viking-green-500))}.swagger-ui .btn.cancel{background:rgba(0,0,0,0) !important;border-color:var(--viking-border-strong, var(--border)) !important;color:var(--viking-text-muted, var(--text-muted)) !important}.swagger-ui .btn.cancel:hover{background:color-mix(in srgb, var(--viking-crimson-500, var(--color-error)) 10%, transparent) !important;border-color:var(--viking-crimson-400, var(--color-error)) !important;color:var(--viking-crimson-400, var(--color-error)) !important}.swagger-ui .opblock-body pre.microlight{background:var(--viking-charcoal-950, #0a0a0a) !important;border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius, 8px);color:var(--viking-text, var(--text-color)) !important;font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace) !important;font-size:.84rem !important;padding:var(--viking-space-2, 16px) !important}.swagger-ui .markdown p,.swagger-ui .renderedMarkdown p{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{background:none;color:var(--viking-text, var(--text-color));font-weight:400;padding:0}.swagger-ui .copy-to-clipboard{background:var(--viking-surface-alt, var(--viking-charcoal-700));border:1px solid var(--viking-border, var(--border))}.swagger-ui .copy-to-clipboard:hover{background:var(--viking-surface-raised, var(--viking-charcoal-600))}.swagger-ui .parameters-col_description input[type=text],.swagger-ui .parameters-col_description select,.swagger-ui .opblock-body input[type=text],.swagger-ui .opblock-body input[type=password],.swagger-ui .opblock-body input[type=search],.swagger-ui .opblock-body input[type=email],.swagger-ui .opblock-body input[type=url],.swagger-ui .opblock-body textarea,.swagger-ui textarea,.swagger-ui input[type=text],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=email],.swagger-ui input[type=url],.swagger-ui select{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius-sm, 6px);color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem;min-height:32px;padding:var(--viking-space-1, 8px) var(--viking-space-2, 16px)}.swagger-ui input:focus-visible,.swagger-ui textarea:focus-visible,.swagger-ui select:focus-visible{border-color:var(--viking-accent-strong, var(--viking-teal-400));outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--focus-ring-color));outline-offset:var(--viking-ring-offset, 2px)}.swagger-ui .parameter__name,.swagger-ui .parameter__type,.swagger-ui .parameter__in{font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem}.swagger-ui .parameter__in{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui table thead tr th,.swagger-ui table thead tr td{border-bottom:1px solid var(--viking-border, var(--border));color:var(--viking-text-muted, var(--text-muted));font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui table tbody tr td{border-bottom:1px solid var(--viking-border-subtle, var(--border));font-size:.88rem;padding:var(--viking-space-1-5, 12px) 0}.swagger-ui .responses-inner{padding:var(--viking-space-2, 16px) 0}.swagger-ui .response-col_status{font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-weight:700}.swagger-ui .response-col_description__inner p,.swagger-ui .response-col_links{color:var(--viking-text-muted, var(--text-muted));font-size:.88rem}.swagger-ui .highlight-code,.swagger-ui .microlight,.swagger-ui .renderedMarkdown pre,.swagger-ui pre{background:var(--viking-charcoal-950, #0a0a0a) !important;border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius, 8px);color:var(--viking-text, var(--text-color)) !important;font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace) !important;font-size:.84rem !important;line-height:1.55;padding:var(--viking-space-2, 16px) !important}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:color-mix(in srgb, var(--viking-surface-alt, #1a1a1a) 70%, transparent);border:1px solid var(--viking-border-subtle, var(--border));border-radius:4px;color:var(--viking-accent-strong, var(--viking-teal-400));font-size:.84em;padding:1px 5px}.swagger-ui section.models{margin-top:var(--viking-space-3, 24px);border:none;border-top:1px solid var(--viking-border, var(--border));border-radius:0;overflow:visible}.swagger-ui section.models h4{margin:0;padding:var(--viking-space-3, 24px) 0 var(--viking-space-1, 8px);border:none;background:rgba(0,0,0,0);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui section.models.is-open h4{border-bottom:none}.swagger-ui section.models .model-container{margin:0;padding:0}.swagger-ui section.models .model-box{display:flex;align-items:center;flex-wrap:wrap;gap:var(--viking-space-1, 8px);margin:0;padding:var(--viking-space-2, 16px) 0;border:none;border-bottom:1px solid var(--viking-border-subtle, var(--border));border-radius:0;background:rgba(0,0,0,0)}.swagger-ui section.models .model-box:last-child{border-bottom:none}.swagger-ui section.models .model-box-control{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--viking-space-1, 8px);margin:0;padding:0;border:none;background:rgba(0,0,0,0) !important;box-shadow:none !important;text-align:left}.swagger-ui section.models .model-box .btn,.swagger-ui section.models .model-toggle,.swagger-ui section.models button.model-box-control{background:rgba(0,0,0,0) !important;border:none !important;box-shadow:none !important;min-height:auto;padding:0;text-transform:none;letter-spacing:normal;font-weight:600;color:var(--viking-text, var(--text-color))}.swagger-ui section.models .model-box>.btn{margin-left:auto;font-size:.75rem;font-weight:500;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui section.models .model-title,.swagger-ui section.models .model-title__text{color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem;font-weight:600}.swagger-ui section.models .model .prop-type,.swagger-ui section.models .model .prop-format{margin-left:auto;color:var(--viking-accent, var(--color-primary));font-size:.78rem}.swagger-ui .model .property-row{border-bottom:1px solid var(--viking-border-subtle, var(--border))}.swagger-ui .dialog-ux .modal-ux{background:color-mix(in srgb, #0a0a0a 72%, transparent)}.swagger-ui .dialog-ux .modal-ux-content{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius-lg, 12px);box-shadow:var(--viking-shadow-lg, var(--shadow-lg));padding:var(--viking-space-3, 24px)}.swagger-ui .dialog-ux .modal-ux-header{border-bottom:1px solid var(--viking-border, var(--border));padding:0 0 var(--viking-space-2, 16px);margin-bottom:var(--viking-space-2, 16px)}.swagger-ui .dialog-ux .modal-ux-header h3{font-size:1.1rem;font-weight:700;color:var(--viking-text, var(--text-color))}.swagger-ui .auth-container h4,.swagger-ui .auth-container label{color:var(--viking-text, var(--text-color))}.swagger-ui .loading-container .loading{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .errors-wrapper{background:color-mix(in srgb, var(--viking-crimson-500) 10%, transparent);border:1px solid color-mix(in srgb, var(--viking-crimson-500) 30%, transparent);border-radius:var(--viking-radius, 8px);color:var(--viking-crimson-400);margin:var(--viking-space-2, 16px) 0;padding:var(--viking-space-2, 16px)}html[data-theme=light] .swagger-ui .highlight-code,html[data-theme=light] .swagger-ui .microlight,html[data-theme=light] .swagger-ui pre,html[data-theme=light] .swagger-ui .opblock-body pre.microlight{background:var(--viking-charcoal-900, #111111) !important}html[data-theme=light] .swagger-ui .opblock .opblock-section-header{background:color-mix(in srgb, var(--viking-surface-alt, var(--charcoal-800)) 35%, var(--viking-surface, var(--card-bg))) !important}html[data-theme=light] .swagger-ui .filter-container input[type=text]{background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color))}html[data-theme=light] .swagger-ui .scheme-container select,html[data-theme=light] .swagger-ui .opblock-body select,html[data-theme=light] .swagger-ui select{background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color))}@media(prefers-reduced-motion: reduce){.swagger-ui .btn:hover{transform:none}}@media(min-width: 641px){.backend-swagger-hero{padding:var(--viking-space-3) var(--viking-space-3) var(--viking-space-2)}.backend-swagger-toolbar{padding:var(--viking-space-2) var(--viking-space-3)}.backend-swagger-panel #swagger-ui{padding:0 var(--viking-space-3) var(--viking-space-3)}.swagger-ui .opblock .opblock-summary{flex-wrap:nowrap;gap:0}}
1
+ @font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/inter/InterVariable.woff2") format("woff2 supports variations"),url("fonts/inter/InterVariable.woff2") format("woff2-variations")}@font-face{font-family:"Inter";font-style:italic;font-weight:100 900;font-display:swap;src:url("fonts/inter/InterVariable-Italic.woff2") format("woff2 supports variations"),url("fonts/inter/InterVariable-Italic.woff2") format("woff2-variations")}html{font-family:var(--viking-font-family);font-size:var(--viking-font-size, 16px);line-height:var(--viking-line-height-relaxed, 1.625);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,.viking-ui-body{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:var(--viking-font-weight-regular, 400);color:var(--viking-text);background-color:var(--viking-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-semibold, 600);line-height:var(--viking-line-height-tight, 1.25);letter-spacing:var(--viking-letter-spacing-tight, -0.02em)}h1{font-size:var(--viking-font-size-2xl, 30px);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-tighter, -0.03em)}h2{font-size:var(--viking-font-size-xl, 24px)}h3{font-size:var(--viking-font-size-lg, 20px)}h4{font-size:var(--viking-font-size-md, 18px)}h5,h6{font-size:var(--viking-font-size, 16px);font-weight:var(--viking-font-weight-medium, 500)}p{line-height:var(--viking-line-height-relaxed, 1.625)}code,pre,kbd,samp,.viking-font-mono{font-family:var(--viking-font-family-mono)}button,input,select,textarea{font-family:inherit}.viking-font-display{font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-caps, 0.08em);text-transform:uppercase}.viking-tabular-nums{font-variant-numeric:tabular-nums lining-nums}:root{color-scheme:dark light;--viking-navy-1000: #01030a;--viking-navy-950: #030818;--viking-navy-900: #0a1024;--viking-navy-800: #101b33;--viking-navy-700: #162544;--viking-navy-600: #1e3054;--viking-navy-500: #284068;--viking-navy-400: #39547f;--viking-navy-300: #58719e;--viking-navy-200: #8fa2c2;--viking-navy-100: #d7e0ef;--viking-electric-900: #04225f;--viking-electric-800: #073a99;--viking-electric-700: #0a4fd4;--viking-electric-600: #1565f0;--viking-electric-500: #2176ff;--viking-electric-400: #4d94ff;--viking-electric-300: #7ab0ff;--viking-electric-200: #b6d3ff;--viking-electric-100: #e7f1ff;--viking-charcoal-950: var(--viking-navy-950);--viking-charcoal-900: var(--viking-navy-900);--viking-charcoal-800: var(--viking-navy-800);--viking-charcoal-700: var(--viking-navy-700);--viking-charcoal-600: var(--viking-navy-600);--viking-charcoal-500: var(--viking-navy-500);--viking-charcoal-400: var(--viking-navy-400);--viking-charcoal-300: var(--viking-navy-300);--viking-charcoal-200: var(--viking-navy-200);--viking-charcoal-100: var(--viking-navy-100);--viking-metallic-600: #555555;--viking-metallic-500: #666666;--viking-metallic-400: #777777;--viking-metallic-300: #999999;--viking-metallic-200: #aaaaaa;--viking-metallic-100: #bbbbbb;--viking-metallic-050: #e6e8ec;--viking-teal-700: var(--viking-electric-700);--viking-teal-600: var(--viking-electric-600);--viking-teal-500: var(--viking-electric-500);--viking-teal-400: var(--viking-electric-400);--viking-teal-300: var(--viking-electric-300);--viking-crimson-700: #7a2231;--viking-crimson-600: #922b3e;--viking-crimson-500: #a83344;--viking-crimson-400: #c44355;--viking-crimson-300: #dc6b78;--viking-crimson-100: #fde8ec;--viking-cyan-600: #168aad;--viking-cyan-500: #1fa2c9;--viking-cyan-400: #47bee0;--viking-violet-600: #6f5bd7;--viking-violet-500: #8674f0;--viking-amber-600: #a77912;--viking-amber-500: #d69e2e;--viking-green-500: #2a9d8f;--viking-gold-500: #c4a035;--viking-blue-500: var(--viking-electric-400);--viking-red-500: var(--viking-crimson-500);--viking-ink-1000: #000000;--viking-ink-950: #050609;--viking-ink-900: #0c0f14;--viking-ink-800: #151a22;--viking-ink-700: #202735;--viking-slate-100: #f4f7fb;--viking-slate-050: #fbfcfe;--viking-white: #f5f5f5;--viking-white-pure: #ffffff;--viking-black: #000000;--viking-grid-unit: 4px;--viking-space-unit: 8px;--viking-space-0: 0;--viking-space-px: 1px;--viking-space-half: 4px;--viking-space-0-5: 4px;--viking-space-1: 8px;--viking-space-1-5: 12px;--viking-space-2: 16px;--viking-space-2-5: 20px;--viking-space-3: 24px;--viking-space-4: 32px;--viking-space-5: 40px;--viking-space-6: 48px;--viking-space-7: 56px;--viking-space-8: 64px;--viking-space-8-5: 72px;--viking-space-9: 80px;--viking-space-10: 96px;--viking-space-11: 112px;--viking-space-12: 128px;--viking-space-14: 160px;--viking-space-16: 192px;--viking-space-20: 256px;--viking-space-24: 320px;--viking-font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--viking-font-family-mono: ui-monospace, 'JetBrains Mono', 'SF Mono', 'Cascadia Code', Consolas, monospace;--viking-font-size-2xs: 11px;--viking-font-size-xs: 12px;--viking-font-size-sm: 14px;--viking-font-size-base: 16px;--viking-font-size-md: 18px;--viking-font-size-lg: 20px;--viking-font-size-xl: 24px;--viking-font-size-2xl: 30px;--viking-font-size-3xl: 36px;--viking-font-size-4xl: 48px;--viking-font-size-5xl: 60px;--viking-font-size-6xl: 72px;--viking-font-weight-regular: 400;--viking-font-weight-medium: 500;--viking-font-weight-semibold: 600;--viking-font-weight-bold: 700;--viking-font-weight-extrabold: 800;--viking-line-height-none: 1;--viking-line-height-tight: 1.25;--viking-line-height-snug: 1.375;--viking-line-height-normal: 1.5;--viking-line-height-relaxed: 1.625;--viking-line-height-loose: 1.75;--viking-letter-spacing-tighter: -0.03em;--viking-letter-spacing-tight: -0.02em;--viking-letter-spacing-normal: 0;--viking-letter-spacing-wide: 0.025em;--viking-letter-spacing-wider: 0.05em;--viking-letter-spacing-caps: 0.08em;--viking-type-caption: var(--viking-font-weight-medium) var(--viking-font-size-xs) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body-sm: var(--viking-font-weight-regular) var(--viking-font-size-sm) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body: var(--viking-font-weight-regular) var(--viking-font-size-base) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body-lg: var(--viking-font-weight-regular) var(--viking-font-size-md) / var(--viking-line-height-relaxed) var(--viking-font-family);--viking-type-heading-sm: var(--viking-font-weight-semibold) var(--viking-font-size-lg) / var(--viking-line-height-tight) var(--viking-font-family);--viking-type-heading: var(--viking-font-weight-bold) var(--viking-font-size-2xl) / var(--viking-line-height-tight) var(--viking-font-family);--viking-type-display: var(--viking-font-weight-extrabold) var(--viking-font-size-4xl) / var(--viking-line-height-none) var(--viking-font-family);--viking-radius-xs: 4px;--viking-radius-sm: 6px;--viking-radius: 8px;--viking-radius-md: 10px;--viking-radius-lg: 12px;--viking-radius-xl: 16px;--viking-radius-2xl: 24px;--viking-radius-pill: 999px;--viking-radius-full: var(--viking-radius-pill);--viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.04);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.16), 0 4px 8px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.05);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.14), 0 12px 24px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.06);--viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.14);--viking-shadow-hover: 0 8px 16px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.06);--viking-shadow-focus: 0 0 0 var(--viking-ring-offset) var(--viking-bg), 0 0 0 calc(var(--viking-ring-offset) + var(--viking-ring-width)) var(--viking-ring);--viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.06);--viking-chart-ratio: 3 / 1;--viking-chart-min-height: clamp(9.5rem, 22vw, 12rem);--viking-chart-max-height: clamp(13rem, 36vw, 17.5rem);--viking-chart-fill-min-height: clamp(18rem, 36vw, 20rem);--viking-chart-fill-max-height: none;--viking-chart-fill-min-height-lg: clamp(20rem, 40vw, 22rem);--viking-chart-fill-max-height-lg: none;--viking-chart-empty-min-height: var(--viking-chart-fill-min-height);--viking-chart-empty-min-height-lg: var(--viking-chart-fill-min-height-lg);--viking-chart-panel-min-height-md: 26rem;--viking-chart-panel-min-height-lg: 30rem;--viking-chart-panel-body-min-height-md: 22rem;--viking-chart-panel-body-min-height-lg: 25rem;--viking-chart-sparkline-height: 2.5rem;--viking-chart-map-min-height: 22.5rem;--viking-bp-sm: 600px;--viking-bp-md: 768px;--viking-bp-sidebar: 901px;--viking-bp-lg: 1024px;--viking-bp-xl: 1440px;--viking-bp-2xl: 1920px;--viking-ease-default: cubic-bezier(0.4, 0, 0.2, 1);--viking-ease-in: cubic-bezier(0.4, 0, 1, 1);--viking-ease-out: cubic-bezier(0, 0, 0.2, 1);--viking-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);--viking-duration-instant: 75ms;--viking-duration-fast: 150ms;--viking-duration: 250ms;--viking-duration-slow: 350ms;--viking-duration-slower: 500ms;--viking-transition-colors: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), fill var(--viking-duration) var(--viking-ease-default), stroke var(--viking-duration) var(--viking-ease-default);--viking-transition-interactive: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), fill var(--viking-duration) var(--viking-ease-default), stroke var(--viking-duration) var(--viking-ease-default), transform var(--viking-duration) var(--viking-ease-default), opacity var(--viking-duration) var(--viking-ease-default);--viking-transition: all var(--viking-duration) var(--viking-ease-default);--viking-transition-fast: all var(--viking-duration-fast) var(--viking-ease-default);--viking-transition-transform: transform var(--viking-duration) var(--viking-ease-emphasized);--viking-state-hover-lift: -1px;--viking-state-active-scale: 0.985;--viking-state-disabled-opacity: 0.48;--viking-control-height: 44px;--viking-control-height-sm: 32px;--viking-control-height-xs: 24px;--viking-touch-target-min: 44px;--viking-control-padding-x: var(--viking-space-2);--viking-btn-min-width: 120px;--viking-select-panel-bg: var(--viking-surface-raised);--viking-select-half-max-width: min(100%, 24rem);--viking-container-max-width: 1260px;--viking-navbar-height: 64px;--viking-sidebar-width: 256px;--viking-page-gutter: var(--viking-space-3);--viking-page-gutter-lg: var(--viking-space-4);--viking-page-gutter-xl: var(--viking-space-6);--viking-page-stack-gap: var(--viking-space-4);--viking-page-section-gap: var(--viking-space-6);--viking-section-padding-y: var(--viking-space-8);--viking-section-padding-y-compact: var(--viking-space-5);--viking-card-padding: var(--viking-space-4);--viking-card-padding-compact: var(--viking-space-3);--viking-panel-padding: var(--viking-space-4);--viking-panel-header-padding: var(--viking-space-3) var(--viking-space-4);--viking-form-max-width: 42rem;--viking-form-narrow-max-width: 28rem;--viking-content-readable-max-width: 48rem;--viking-card-min-width: 0;--viking-card-max-width: none;--viking-metric-card-min-height: 6.5rem;--viking-metric-card-tall-min-height: 8.25rem;--viking-metric-card-min-width: 10rem;--viking-surface-hairline-strength: 22%;--viking-z-overlay: 1000;--viking-z-toast: 1100;--viking-z-tooltip: 1200;--viking-chart-axis-size: 12px;--viking-icon-size-sm: 16px;--viking-icon-size-md: 20px;--viking-icon-size-lg: 24px;--viking-icon-stroke-width: 1.75;--viking-icon-stroke-width-sm: 1.5}:root,html[data-theme=dark]{color-scheme:dark;--viking-bg: var(--viking-charcoal-900);--viking-bg-subtle: var(--viking-ink-950);--viking-bg-inverted: var(--viking-white-pure);--viking-surface: var(--viking-charcoal-800);--viking-surface-alt: var(--viking-charcoal-700);--viking-surface-inset: var(--viking-charcoal-950);--viking-surface-raised: var(--viking-charcoal-600);--viking-surface-overlay: var(--viking-ink-800);--viking-text: var(--viking-white);--viking-text-muted: var(--viking-metallic-200);--viking-text-subtle: var(--viking-metallic-300);--viking-text-disabled: var(--viking-metallic-400);--viking-text-link: var(--viking-electric-300);--viking-text-link-hover: var(--viking-electric-200);--viking-text-inverted: var(--viking-charcoal-900);--viking-border: color-mix(in srgb, var(--viking-metallic-600) 48%, transparent);--viking-border-strong: color-mix(in srgb, var(--viking-metallic-400) 68%, transparent);--viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 28%, transparent);--viking-border-accent: color-mix(in srgb, var(--viking-electric-500) 72%, transparent);--viking-accent: var(--viking-electric-500);--viking-accent-hover: var(--viking-electric-400);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix(in srgb, var(--viking-electric-500) 18%, transparent);--viking-accent-muted: color-mix(in srgb, var(--viking-electric-500) 10%, transparent);--viking-accent-strong: var(--viking-electric-300);--viking-accent-secondary: var(--viking-crimson-600);--viking-accent-secondary-hover: var(--viking-crimson-500);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-600) 16%, transparent);--viking-success: var(--viking-green-500);--viking-success-soft: color-mix(in srgb, var(--viking-green-500) 14%, transparent);--viking-warning: var(--viking-gold-500);--viking-warning-soft: color-mix(in srgb, var(--viking-gold-500) 16%, transparent);--viking-danger: var(--viking-crimson-500);--viking-danger-soft: color-mix(in srgb, var(--viking-crimson-500) 16%, transparent);--viking-info: var(--viking-blue-500);--viking-info-soft: color-mix(in srgb, var(--viking-blue-500) 14%, transparent);--viking-danger-text: var(--viking-crimson-400);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-400);--viking-ring-width: 2px;--viking-ring-offset: 2px;--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-950) 72%, transparent);--viking-surface-glass: color-mix(in srgb, var(--viking-charcoal-800) 82%, transparent);--viking-surface-glass-blur: 12px;--viking-state-hover-bg: color-mix(in srgb, var(--viking-electric-500) 10%, transparent);--viking-state-active-bg: color-mix(in srgb, var(--viking-electric-700) 14%, transparent);--viking-state-selected-bg: color-mix(in srgb, var(--viking-electric-500) 18%, transparent);--viking-state-disabled-bg: color-mix(in srgb, var(--viking-metallic-600) 20%, transparent);--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.28), 0 1px 3px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.24), 0 4px 8px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.05);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.2), 0 12px 24px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.06)}html[data-theme=light]{color-scheme:light;--viking-bg: var(--viking-slate-050);--viking-bg-subtle: var(--viking-slate-100);--viking-bg-inverted: var(--viking-charcoal-900);--viking-surface: var(--viking-white-pure);--viking-surface-alt: var(--viking-slate-100);--viking-surface-inset: var(--viking-metallic-050);--viking-surface-raised: var(--viking-white-pure);--viking-surface-overlay: var(--viking-white-pure);--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--viking-text-disabled: var(--viking-metallic-300);--viking-text-link: var(--viking-electric-700);--viking-text-link-hover: var(--viking-electric-600);--viking-text-inverted: var(--viking-white-pure);--viking-border: color-mix(in srgb, var(--viking-metallic-600) 32%, transparent);--viking-border-strong: color-mix(in srgb, var(--viking-metallic-600) 48%, transparent);--viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 22%, transparent);--viking-border-accent: color-mix(in srgb, var(--viking-electric-600) 58%, transparent);--viking-accent: var(--viking-electric-600);--viking-accent-hover: var(--viking-electric-500);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix(in srgb, var(--viking-electric-600) 14%, transparent);--viking-accent-muted: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);--viking-accent-strong: var(--viking-electric-400);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-700) 12%, transparent);--viking-success-soft: color-mix(in srgb, var(--viking-green-500) 12%, transparent);--viking-warning-soft: color-mix(in srgb, var(--viking-gold-500) 14%, transparent);--viking-danger-soft: color-mix(in srgb, var(--viking-crimson-500) 12%, transparent);--viking-info-soft: color-mix(in srgb, var(--viking-blue-500) 12%, transparent);--viking-danger-text: var(--viking-crimson-700);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-500);--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-900) 45%, transparent);--viking-surface-glass: color-mix(in srgb, var(--viking-white-pure) 88%, transparent);--viking-surface-glass-blur: 10px;--viking-state-hover-bg: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);--viking-state-active-bg: color-mix(in srgb, var(--viking-electric-700) 12%, transparent);--viking-state-selected-bg: color-mix(in srgb, var(--viking-electric-600) 14%, transparent);--viking-state-disabled-bg: color-mix(in srgb, var(--viking-metallic-600) 12%, transparent);--viking-shadow-sm: 0 1px 2px rgba(17, 17, 17, 0.06), 0 1px 3px rgba(17, 17, 17, 0.08);--viking-shadow-md: 0 2px 4px rgba(17, 17, 17, 0.06), 0 4px 8px rgba(17, 17, 17, 0.08);--viking-shadow-lg: 0 4px 8px rgba(17, 17, 17, 0.06), 0 12px 24px rgba(17, 17, 17, 0.1)}@media(prefers-color-scheme: light){html:not([data-theme=dark]){color-scheme:light;--viking-bg: var(--viking-slate-050);--viking-bg-subtle: var(--viking-slate-100);--viking-bg-inverted: var(--viking-charcoal-900);--viking-surface: var(--viking-white-pure);--viking-surface-alt: var(--viking-slate-100);--viking-surface-inset: var(--viking-metallic-050);--viking-surface-raised: var(--viking-white-pure);--viking-surface-overlay: var(--viking-white-pure);--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--viking-text-disabled: var(--viking-metallic-300);--viking-text-link: var(--viking-electric-700);--viking-text-link-hover: var(--viking-electric-600);--viking-text-inverted: var(--viking-white-pure);--viking-border: color-mix(in srgb, var(--viking-metallic-600) 22%, transparent);--viking-border-strong: color-mix(in srgb, var(--viking-metallic-600) 38%, transparent);--viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 12%, transparent);--viking-border-accent: color-mix(in srgb, var(--viking-electric-600) 58%, transparent);--viking-accent: var(--viking-electric-600);--viking-accent-hover: var(--viking-electric-500);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix(in srgb, var(--viking-electric-600) 10%, transparent);--viking-accent-muted: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);--viking-accent-strong: var(--viking-electric-400);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-700) 8%, transparent);--viking-success-soft: color-mix(in srgb, var(--viking-green-500) 12%, transparent);--viking-warning-soft: color-mix(in srgb, var(--viking-gold-500) 14%, transparent);--viking-danger-soft: color-mix(in srgb, var(--viking-crimson-500) 12%, transparent);--viking-info-soft: color-mix(in srgb, var(--viking-blue-500) 12%, transparent);--viking-danger-text: var(--viking-crimson-700);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-500);--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-900) 45%, transparent);--viking-surface-glass: color-mix(in srgb, var(--viking-white-pure) 88%, transparent);--viking-surface-glass-blur: 10px;--viking-state-hover-bg: color-mix(in srgb, var(--viking-electric-600) 8%, transparent);--viking-state-active-bg: color-mix(in srgb, var(--viking-electric-700) 12%, transparent);--viking-state-selected-bg: color-mix(in srgb, var(--viking-electric-600) 14%, transparent);--viking-state-disabled-bg: color-mix(in srgb, var(--viking-metallic-600) 12%, transparent);--viking-shadow-sm: 0 1px 2px rgba(17, 17, 17, 0.06), 0 1px 3px rgba(17, 17, 17, 0.08);--viking-shadow-md: 0 2px 4px rgba(17, 17, 17, 0.06), 0 4px 8px rgba(17, 17, 17, 0.08);--viking-shadow-lg: 0 4px 8px rgba(17, 17, 17, 0.06), 0 12px 24px rgba(17, 17, 17, 0.1)}}:root{--viking-series-1: var(--viking-electric-500);--viking-series-2: var(--viking-crimson-600);--viking-series-3: var(--viking-green-500);--viking-series-4: var(--viking-gold-500);--viking-series-5: var(--viking-crimson-500);--viking-series-6: var(--viking-blue-500);--viking-series-7: var(--viking-charcoal-700);--viking-series-8: var(--viking-metallic-500);--viking-series-default: var(--viking-series-1);--viking-series-palette: var(--viking-series-1), var(--viking-series-2), var(--viking-series-3), var(--viking-series-4), var(--viking-series-5), var(--viking-series-6), var(--viking-series-7), var(--viking-series-8)}:root{--charcoal-950: var(--viking-charcoal-950);--charcoal-900: var(--viking-charcoal-900);--charcoal-800: var(--viking-charcoal-800);--charcoal-700: var(--viking-charcoal-700);--charcoal-600: var(--viking-charcoal-600);--charcoal-500: var(--viking-charcoal-500);--metallic-600: var(--viking-metallic-600);--metallic-500: var(--viking-metallic-500);--metallic-400: var(--viking-metallic-400);--metallic-300: var(--viking-metallic-300);--metallic-200: var(--viking-metallic-200);--metallic-100: var(--viking-metallic-100);--white: var(--viking-white-pure);--black: var(--viking-black);--base-font-size: var(--viking-font-size-base);--ui-font-size: var(--viking-font-size-sm);--header-letter-spacing: var(--viking-letter-spacing-tight);--grid-unit: var(--viking-grid-unit);--space-0: var(--viking-space-0);--space-half: var(--viking-space-half);--space-0-5: var(--viking-space-0-5);--space-1: var(--viking-space-1);--space-1-5: var(--viking-space-1-5);--space-2: var(--viking-space-2);--space-2-5: var(--viking-space-2-5);--space-3: var(--viking-space-3);--space-4: var(--viking-space-4);--space-5: var(--viking-space-5);--space-6: var(--viking-space-6);--space-7: var(--viking-space-7);--space-8: var(--viking-space-8);--space-8-5: var(--viking-space-8-5);--space-9: var(--viking-space-9);--space-10: var(--viking-space-10);--space-11: var(--viking-space-11);--space-12: var(--viking-space-12);--space-14: var(--viking-space-14);--space-16: var(--viking-space-16);--space-20: var(--viking-space-20);--space-24: var(--viking-space-24);--grid-gap: var(--viking-space-3);--card-padding: var(--viking-card-padding);--page-gutter: var(--viking-page-gutter);--page-gutter-lg: var(--viking-page-gutter-lg);--page-stack-gap: var(--viking-page-stack-gap);--page-section-gap: var(--viking-page-section-gap);--form-max-width: var(--viking-form-max-width);--form-narrow-max-width: var(--viking-form-narrow-max-width);--content-readable-max-width: var(--viking-content-readable-max-width);--container-max-width: var(--viking-container-max-width);--navbar-height: var(--viking-navbar-height);--btn-min-width: var(--viking-btn-min-width);--border-radius-xs: var(--viking-radius-xs);--border-radius-sm: var(--viking-radius-sm);--border-radius-md: var(--viking-radius);--border-radius-lg: var(--viking-radius-lg);--border-radius-xl: var(--viking-radius-xl);--border-radius-pill: var(--viking-radius-pill);--transition-smooth: var(--viking-transition);--shadow-sm: var(--viking-shadow-sm);--shadow-md: var(--viking-shadow-md);--shadow-lg: var(--viking-shadow-lg);--shadow-hover: var(--viking-shadow-hover);--primary-color: var(--viking-electric-500);--accent-color: var(--viking-crimson-600);--focus-ring-width: var(--viking-ring-width);--focus-ring-offset: var(--viking-ring-offset)}:root,html[data-theme=dark]{--color-primary: var(--viking-electric-500);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-electric-400);--color-on-primary-container: var(--viking-charcoal-900);--color-surface: var(--viking-charcoal-800);--color-on-surface: var(--viking-white);--color-background: var(--viking-charcoal-900);--color-on-background: var(--viking-white);--color-surface-variant: var(--viking-charcoal-700);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-500);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-400);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-bg) 96%, transparent);--link-color: var(--viking-electric-300);--link-hover-color: var(--viking-electric-400);--hero-title-color: var(--viking-white);--primary-text-color: var(--viking-electric-300);--button-primary: var(--color-primary);--button-primary-text: var(--viking-white-pure);--color-dark-grey-btn-bg: var(--viking-charcoal-700);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-400)}html[data-theme=light]{--color-primary: var(--viking-electric-600);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-teal-500);--color-on-primary-container: var(--viking-white-pure);--color-surface: var(--viking-white-pure);--color-on-surface: var(--viking-charcoal-900);--color-background: var(--viking-white-pure);--color-on-background: var(--viking-charcoal-900);--color-surface-variant: var(--viking-surface-alt);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-500);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-white-pure) 96%, transparent);--link-color: var(--viking-electric-700);--link-hover-color: var(--viking-electric-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-electric-700);--button-primary: var(--color-primary);--button-primary-text: var(--color-on-primary);--color-dark-grey-btn-bg: var(--viking-charcoal-800);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-500)}@media(prefers-color-scheme: light){html:not([data-theme=dark]){--color-primary: var(--viking-electric-600);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-teal-500);--color-on-primary-container: var(--viking-white-pure);--color-surface: var(--viking-white-pure);--color-on-surface: var(--viking-charcoal-900);--color-background: var(--viking-white-pure);--color-on-background: var(--viking-charcoal-900);--color-surface-variant: var(--viking-surface-alt);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-500);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-white-pure) 96%, transparent);--link-color: var(--viking-electric-700);--link-hover-color: var(--viking-electric-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-electric-700);--button-primary: var(--color-primary);--button-primary-text: var(--color-on-primary);--color-dark-grey-btn-bg: var(--viking-charcoal-800);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-500)}}:root{--viking-touch-target-min: 44px;--viking-touch-target-comfort: 44px;--viking-state-disabled-opacity: 0.48;--viking-state-hover-lift: -1px;--viking-state-active-scale: 0.985;--viking-state-press-inset: inset 0 1px 2px rgba(0, 0, 0, 0.18);--viking-shadow-hover: var( --shadow-hover, 0 8px 16px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.06) );--viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.06);--viking-surface-recipe: var(--viking-surface) linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 100%);--viking-transition-interactive: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), transform var(--viking-duration-fast) var(--viking-ease-default), opacity var(--viking-duration-fast) var(--viking-ease-default);--viking-transition-transform: transform var(--viking-duration-fast) var(--viking-ease-default)}@keyframes viking-fade-in{from{opacity:0}to{opacity:1}}@keyframes viking-slide-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes viking-slide-in-right{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes viking-modal-in{from{opacity:0;transform:translateY(12px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viking-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes viking-shimmer{from{background-position:120% 0}to{background-position:-80% 0}}@keyframes viking-pulse-soft{0%,100%{opacity:1}50%{opacity:.72}}@keyframes viking-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}@keyframes viking-tooltip-in{from{opacity:0;transform:translateY(4px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viking-spin{to{transform:rotate(360deg)}}.viking-focus-ring:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-focus-ring-inset:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:calc(var(--viking-ring-offset)*-1)}.viking-touch-target{position:relative;min-width:var(--viking-touch-target-min);min-height:var(--viking-touch-target-min)}.viking-touch-target::before{content:"";position:absolute;inset:50%;width:max(100%,var(--viking-touch-target-min));height:max(100%,var(--viking-touch-target-min));transform:translate(-50%, -50%)}@media(min-width: 768px){:root{--viking-touch-target-comfort: 36px}}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}.viking-control{display:flex;align-items:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-space-2);font-family:var(--viking-font-family);font-size:var(--viking-font-size);color:var(--viking-text);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);box-shadow:var(--viking-shadow-xs);transition:var(--viking-transition-interactive);width:100%;min-width:0;box-sizing:border-box}.viking-control:hover:not(.viking-disabled):not(.viking-loading):not(:disabled){border-color:color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border-strong));box-shadow:var(--viking-shadow-sm)}.viking-control:focus-within:not(.viking-loading){outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);border-color:var(--viking-accent);box-shadow:var(--viking-shadow-sm)}.viking-form-row{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);width:100%;max-width:var(--viking-form-max-width)}@media(min-width: 600px){.viking-form-row{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.viking-form-row--3{grid-template-columns:repeat(3, minmax(0, 1fr))}}.viking-form-section-actions viking-button .viking-btn,.viking-modal-footer viking-button .viking-btn,.viking-sheet-footer viking-button .viking-btn,.viking-empty-state-actions viking-button .viking-btn,.viking-chart-empty-actions viking-button .viking-btn{min-width:0}.viking-btn,a.viking-btn,button.viking-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn:focus-visible,a.viking-btn:focus-visible,button.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn::before,a.viking-btn::before,button.viking-btn::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn::after,a.viking-btn::after,button.viking-btn::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn:disabled,.viking-btn[aria-busy=true],a.viking-btn:disabled,a.viking-btn[aria-busy=true],button.viking-btn:disabled,button.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn[aria-busy=true]::before,.viking-btn[aria-busy=true] .viking-btn-label,a.viking-btn[aria-busy=true]::before,a.viking-btn[aria-busy=true] .viking-btn-label,button.viking-btn[aria-busy=true]::before,button.viking-btn[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon],a.viking-btn viking-icon,a.viking-btn .viking-icon,a.viking-btn [data-viking-icon],button.viking-btn viking-icon,button.viking-btn .viking-icon,button.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn .viking-btn-label,a.viking-btn .viking-btn-label,button.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-primary:focus-visible,a.viking-btn-primary:focus-visible,button.viking-btn-primary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-primary::before,a.viking-btn-primary::before,button.viking-btn-primary::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-primary::after,a.viking-btn-primary::after,button.viking-btn-primary::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-primary:disabled,.viking-btn-primary[aria-busy=true],a.viking-btn-primary:disabled,a.viking-btn-primary[aria-busy=true],button.viking-btn-primary:disabled,button.viking-btn-primary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-primary[aria-busy=true]::before,.viking-btn-primary[aria-busy=true] .viking-btn-label,a.viking-btn-primary[aria-busy=true]::before,a.viking-btn-primary[aria-busy=true] .viking-btn-label,button.viking-btn-primary[aria-busy=true]::before,button.viking-btn-primary[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-primary viking-icon,.viking-btn-primary .viking-icon,.viking-btn-primary [data-viking-icon],a.viking-btn-primary viking-icon,a.viking-btn-primary .viking-icon,a.viking-btn-primary [data-viking-icon],button.viking-btn-primary viking-icon,button.viking-btn-primary .viking-icon,button.viking-btn-primary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-primary .viking-btn-label,a.viking-btn-primary .viking-btn-label,button.viking-btn-primary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-secondary:focus-visible,a.viking-btn-secondary:focus-visible,button.viking-btn-secondary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-secondary::before,a.viking-btn-secondary::before,button.viking-btn-secondary::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-secondary::after,a.viking-btn-secondary::after,button.viking-btn-secondary::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-secondary:disabled,.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary:disabled,a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary:disabled,button.viking-btn-secondary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-secondary[aria-busy=true]::before,.viking-btn-secondary[aria-busy=true] .viking-btn-label,a.viking-btn-secondary[aria-busy=true]::before,a.viking-btn-secondary[aria-busy=true] .viking-btn-label,button.viking-btn-secondary[aria-busy=true]::before,button.viking-btn-secondary[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-secondary viking-icon,.viking-btn-secondary .viking-icon,.viking-btn-secondary [data-viking-icon],a.viking-btn-secondary viking-icon,a.viking-btn-secondary .viking-icon,a.viking-btn-secondary [data-viking-icon],button.viking-btn-secondary viking-icon,button.viking-btn-secondary .viking-icon,button.viking-btn-secondary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-secondary .viking-btn-label,a.viking-btn-secondary .viking-btn-label,button.viking-btn-secondary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-outline:focus-visible,a.viking-btn-outline:focus-visible,button.viking-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-outline::before,a.viking-btn-outline::before,button.viking-btn-outline::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-outline::after,a.viking-btn-outline::after,button.viking-btn-outline::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-outline:disabled,.viking-btn-outline[aria-busy=true],a.viking-btn-outline:disabled,a.viking-btn-outline[aria-busy=true],button.viking-btn-outline:disabled,button.viking-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-outline[aria-busy=true]::before,.viking-btn-outline[aria-busy=true] .viking-btn-label,a.viking-btn-outline[aria-busy=true]::before,a.viking-btn-outline[aria-busy=true] .viking-btn-label,button.viking-btn-outline[aria-busy=true]::before,button.viking-btn-outline[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-outline viking-icon,.viking-btn-outline .viking-icon,.viking-btn-outline [data-viking-icon],a.viking-btn-outline viking-icon,a.viking-btn-outline .viking-icon,a.viking-btn-outline [data-viking-icon],button.viking-btn-outline viking-icon,button.viking-btn-outline .viking-icon,button.viking-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-outline .viking-btn-label,a.viking-btn-outline .viking-btn-label,button.viking-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-danger:focus-visible,a.viking-btn-danger:focus-visible,button.viking-btn-danger:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-danger::before,a.viking-btn-danger::before,button.viking-btn-danger::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-danger::after,a.viking-btn-danger::after,button.viking-btn-danger::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-danger:disabled,.viking-btn-danger[aria-busy=true],a.viking-btn-danger:disabled,a.viking-btn-danger[aria-busy=true],button.viking-btn-danger:disabled,button.viking-btn-danger[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-danger[aria-busy=true]::before,.viking-btn-danger[aria-busy=true] .viking-btn-label,a.viking-btn-danger[aria-busy=true]::before,a.viking-btn-danger[aria-busy=true] .viking-btn-label,button.viking-btn-danger[aria-busy=true]::before,button.viking-btn-danger[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-danger viking-icon,.viking-btn-danger .viking-icon,.viking-btn-danger [data-viking-icon],a.viking-btn-danger viking-icon,a.viking-btn-danger .viking-icon,a.viking-btn-danger [data-viking-icon],button.viking-btn-danger viking-icon,button.viking-btn-danger .viking-icon,button.viking-btn-danger [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-danger .viking-btn-label,a.viking-btn-danger .viking-btn-label,button.viking-btn-danger .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));border-color:color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));background:color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-ghost:focus-visible,a.viking-btn-ghost:focus-visible,button.viking-btn-ghost:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-ghost::before,a.viking-btn-ghost::before,button.viking-btn-ghost::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-ghost::after,a.viking-btn-ghost::after,button.viking-btn-ghost::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-ghost:disabled,.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost:disabled,a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost:disabled,button.viking-btn-ghost[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-ghost[aria-busy=true]::before,.viking-btn-ghost[aria-busy=true] .viking-btn-label,a.viking-btn-ghost[aria-busy=true]::before,a.viking-btn-ghost[aria-busy=true] .viking-btn-label,button.viking-btn-ghost[aria-busy=true]::before,button.viking-btn-ghost[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-ghost viking-icon,.viking-btn-ghost .viking-icon,.viking-btn-ghost [data-viking-icon],a.viking-btn-ghost viking-icon,a.viking-btn-ghost .viking-icon,a.viking-btn-ghost [data-viking-icon],button.viking-btn-ghost viking-icon,button.viking-btn-ghost .viking-icon,button.viking-btn-ghost [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-ghost .viking-btn-label,a.viking-btn-ghost .viking-btn-label,button.viking-btn-ghost .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{background:rgba(0,0,0,0);color:var(--viking-text);min-width:auto;box-shadow:none;border-color:rgba(0,0,0,0)}.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-btn-subtle:focus-visible,a.viking-btn-subtle:focus-visible,button.viking-btn-subtle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-subtle::before,a.viking-btn-subtle::before,button.viking-btn-subtle::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.viking-btn-subtle::after,a.viking-btn-subtle::after,button.viking-btn-subtle::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.viking-btn-subtle:disabled,.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle:disabled,a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle:disabled,button.viking-btn-subtle[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-subtle[aria-busy=true]::before,.viking-btn-subtle[aria-busy=true] .viking-btn-label,a.viking-btn-subtle[aria-busy=true]::before,a.viking-btn-subtle[aria-busy=true] .viking-btn-label,button.viking-btn-subtle[aria-busy=true]::before,button.viking-btn-subtle[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.viking-btn-subtle viking-icon,.viking-btn-subtle .viking-icon,.viking-btn-subtle [data-viking-icon],a.viking-btn-subtle viking-icon,a.viking-btn-subtle .viking-icon,a.viking-btn-subtle [data-viking-icon],button.viking-btn-subtle viking-icon,button.viking-btn-subtle .viking-icon,button.viking-btn-subtle [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.viking-btn-subtle .viking-btn-label,a.viking-btn-subtle .viking-btn-label,button.viking-btn-subtle .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{background:rgba(0,0,0,0);color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb, var(--viking-accent-soft) 70%, var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 24%, transparent)}.viking-btn.viking-outline{background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.viking-btn.viking-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-primary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.viking-btn.viking-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-secondary:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-secondary-hover);border-color:var(--viking-accent-secondary-hover);color:var(--viking-accent-secondary-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.viking-btn.viking-filled{background:var(--viking-surface-alt);color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-btn.viking-filled:hover:not(:disabled):not([aria-busy=true]){border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface-alt));box-shadow:var(--viking-shadow-sm);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm);border-color:color-mix(in srgb, var(--viking-accent) 20%, var(--viking-border));background:color-mix(in srgb, var(--viking-surface-alt) 84%, var(--viking-accent))}.viking-btn.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-danger:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-danger) 88%, var(--viking-white));border-color:color-mix(in srgb, var(--viking-danger) 92%, var(--viking-white));color:var(--viking-on-danger);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));background:color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.viking-btn.viking-ghost{background:rgba(0,0,0,0);color:var(--viking-text);min-width:auto;box-shadow:none;border-color:rgba(0,0,0,0)}.viking-btn.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-subtle{background:rgba(0,0,0,0);color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-accent-soft);border-color:var(--viking-border-strong)}.viking-btn.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb, var(--viking-accent-soft) 70%, var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 24%, transparent)}.viking-btn.viking-compact{min-width:0}.viking-btn.viking-full{width:100%;min-width:0}.viking-btn-label{display:inline-flex;align-items:center;line-height:inherit}.viking-stack{display:flex;flex-direction:column;gap:var(--viking-stack-gap, var(--viking-space-3));align-items:var(--viking-stack-align, stretch)}.viking-stack--tight{--viking-stack-gap: var(--viking-space-1)}.viking-stack--compact{--viking-stack-gap: var(--viking-space-1-5)}.viking-stack--loose{--viking-stack-gap: var(--viking-space-4)}.viking-stack--center{--viking-stack-align: center}.viking-cluster{display:flex;flex-wrap:wrap;gap:var(--viking-cluster-gap, var(--viking-space-2));align-items:var(--viking-cluster-align, center);justify-content:var(--viking-cluster-justify, flex-start)}.viking-cluster--between{--viking-cluster-justify: space-between}.viking-cluster--end{--viking-cluster-justify: flex-end}.viking-cluster--tight{--viking-cluster-gap: var(--viking-space-half)}.viking-inline{display:inline-flex;align-items:center;gap:var(--viking-inline-gap, var(--viking-space-half))}.viking-inline--wide{--viking-inline-gap: var(--viking-space-1)}.viking-grid{display:grid;gap:var(--viking-grid-gap, var(--viking-space-3));width:100%}.viking-grid--tight{--viking-grid-gap: var(--viking-space-1)}.viking-grid--loose{--viking-grid-gap: var(--viking-space-4)}.viking-grid--2,.viking-grid--3,.viking-grid--4{grid-template-columns:1fr}@media(min-width: 768px){.viking-grid--2{grid-template-columns:repeat(2, minmax(0, 1fr))}.viking-grid--3,.viking-grid--4{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.viking-grid--3{grid-template-columns:repeat(3, minmax(0, 1fr))}.viking-grid--4{grid-template-columns:repeat(4, minmax(0, 1fr))}}.viking-divider{border:0;border-top:1px solid var(--viking-border-subtle);margin:var(--viking-space-3) 0}.viking-divider--strong{border-top-color:var(--viking-border)}.viking-surface-panel,.glass-panel{background:var(--viking-surface);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm);position:relative;overflow:hidden}.viking-surface-panel::before,.glass-panel::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}.viking-status-dot{display:inline-block;width:var(--viking-space-1);height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:currentColor;flex-shrink:0}.viking-status-dot--pulse,.telemetry-pulse{position:relative}.viking-status-dot--pulse::after,.telemetry-pulse::after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:.35;animation:viking-pulse-soft 2s var(--viking-ease-default) infinite;pointer-events:none}.dashboard-page-container .page-inner-wrapper,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{display:flex;flex-direction:column;gap:var(--viking-page-stack-gap);flex:1;padding-block:var(--viking-page-gutter-lg);padding-inline:var(--viking-page-gutter-lg);box-sizing:border-box}@media(min-width: 1440px){.dashboard-page-container .page-inner-wrapper,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{padding-inline:var(--viking-page-gutter-xl)}}.viking-page-stack,.viking-content-stack{gap:var(--viking-page-stack-gap)}.viking-card{display:block;background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm),inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 6%, transparent);padding:var(--viking-card-padding);color:var(--viking-text);min-width:var(--viking-card-min-width);max-width:var(--viking-card-max-width);box-sizing:border-box;position:relative;overflow:hidden;transition:var(--viking-transition-interactive)}.viking-card::after{content:"";position:absolute;inset:0 auto auto 0;right:0;width:1px;height:28px;background:linear-gradient(180deg, color-mix(in srgb, var(--viking-metallic-100) 22%, transparent), transparent);pointer-events:none}.viking-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none;z-index:1}.viking-card.viking-card-compact,.viking-card--compact{padding:var(--viking-card-padding-compact)}.viking-card.viking-card-interactive:hover,.viking-card[data-interactive=true]:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover),inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 6%, transparent);transform:translateY(var(--viking-state-hover-lift))}.viking-card.viking-card-interactive:active,.viking-card[data-interactive=true]:active{transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 24%, transparent),var(--viking-shadow-sm)}.viking-card.viking-card-interactive:focus-visible,.viking-card[data-interactive=true]:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-card.viking-card-loading{pointer-events:none}.viking-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-2);margin-bottom:var(--viking-space-2)}.viking-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--viking-space-2);margin-top:var(--viking-space-2)}.viking-card-title{display:inline-flex;align-items:center;gap:var(--viking-space-1);flex:1 1 auto;min-width:0}.viking-form-constrained,.viking-form-narrow,.viking-login-form,.login-shell .viking-card,.login-shell form{width:100%;max-width:var(--viking-form-max-width);margin-inline:auto}.viking-form-narrow,.login-shell .viking-card,.login-shell form{max-width:var(--viking-form-narrow-max-width)}.viking-form-constrained .viking-form-section,.viking-form-constrained viking-form-section,.viking-form-narrow .viking-form-section,.viking-form-narrow viking-form-section{max-width:var(--viking-form-max-width)}.viking-readable-prose,.viking-section-lead,.viking-page-header-subtitle{max-width:var(--viking-content-readable-max-width)}.viking-hud-panel,.panel-section,.viking-panel-card,.status-card-outlined,.panel-card{min-width:var(--viking-card-min-width)}.viking-hud-panel-header,.panel-header,.viking-panel-card-header,.card-header-clean{padding:var(--viking-panel-header-padding)}.viking-panel-card-body,.card-body-clean,.viking-hud-panel-body,.panel-body{padding:var(--viking-panel-padding)}.panel-card{padding:var(--viking-panel-padding)}.viking-metric-card,.metric-card{padding:var(--viking-card-padding-compact)}.viking-page-header,.hud-header,.dashboard-topbar{gap:var(--viking-space-3);padding-bottom:var(--viking-space-3);margin-bottom:var(--viking-page-section-gap)}.viking-page-header-sidebar.dashboard-topbar{padding:var(--viking-space-3)}.viking-footer,.mega-footer{padding:var(--viking-space-6) var(--viking-page-gutter-lg)}.viking-metric-row,.hud-metrics{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);margin-bottom:var(--viking-page-section-gap, var(--viking-space-6))}@media(min-width: 480px){.viking-metric-row,.hud-metrics{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 600px){.viking-metric-row,.hud-metrics{grid-template-columns:repeat(4, 1fr)}}@media(min-width: 768px){.viking-metric-row,.hud-metrics{grid-template-columns:repeat(12, 1fr)}}.viking-metric-card,.metric-card{display:flex;flex-direction:column;gap:var(--viking-space-1);background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);padding:var(--viking-card-padding-compact, var(--viking-space-2));border-radius:var(--viking-radius-lg);min-width:0;min-height:var(--viking-metric-card-min-height);align-items:center;justify-content:center;text-align:center;box-sizing:border-box;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);position:relative;overflow:hidden}.viking-metric-card::before,.metric-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}@media(min-width: 481px){.viking-metric-card,.metric-card{min-width:var(--viking-metric-card-min-width)}}.viking-metric-card-tall,.kpi-card{min-height:var(--viking-metric-card-tall-min-height);align-items:stretch;justify-content:flex-start;text-align:left}.viking-metric-label,.metric-card .metric-label{font-size:var(--viking-font-size-ui);font-family:var(--viking-font-family);color:var(--viking-text-muted);letter-spacing:.05em}.viking-metric-value,.metric-card .metric-value{font-size:calc(var(--viking-font-size)*1.35);font-weight:700;font-family:var(--viking-font-family);line-height:1.2}.viking-metric-card-warning,.metric-card.warning{border-left:3px solid var(--viking-warning)}.viking-metric-card-warning .viking-metric-value,.viking-metric-card-warning .metric-value,.metric-card.warning .viking-metric-value,.metric-card.warning .metric-value{color:var(--viking-warning)}.viking-metric-card-critical,.metric-card.critical{border-left:3px solid var(--viking-danger)}.viking-metric-card-critical .viking-metric-value,.viking-metric-card-critical .metric-value,.metric-card.critical .viking-metric-value,.metric-card.critical .metric-value{color:var(--viking-danger-text, var(--viking-danger))}.viking-hud-panel,.panel-section{background-color:var(--viking-surface);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--viking-shadow-sm);min-width:0;position:relative}.viking-hud-panel::before,.panel-section::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none;z-index:1}.viking-table-scroll,.table-scroll,.panel-body-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.viking-hud-panel-header,.panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding:var(--viking-panel-header-padding, var(--viking-space-3));background-color:color-mix(in srgb, var(--viking-bg) 2%, transparent);border-bottom:1px solid var(--viking-border)}.viking-hud-panel-title,.panel-header h2{font-size:var(--viking-font-size-ui);font-weight:700;text-transform:uppercase;margin:0;letter-spacing:.05em;flex:1}.viking-panel-card,.status-card-outlined{position:relative;border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background-color:var(--viking-surface);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.viking-panel-card::before,.status-card-outlined::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none;z-index:1}.viking-panel-card-header,.card-header-clean{padding:var(--viking-panel-header-padding, var(--viking-space-3));display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-2);border-bottom:1px solid var(--viking-border)}.viking-panel-card-body,.card-body-clean{padding:var(--viking-panel-padding, var(--viking-space-3))}.viking-page-header,.hud-header,.dashboard-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-4);padding-bottom:var(--viking-space-4);margin-bottom:var(--viking-page-section-gap, var(--viking-space-4));border-bottom:1px solid var(--viking-border)}.viking-page-header-sidebar.dashboard-topbar{padding:var(--viking-panel-padding, var(--viking-space-3));background-color:var(--viking-surface);border-bottom:1px solid var(--viking-border-subtle);box-shadow:var(--viking-shadow-xs)}.viking-page-header-main,.title-group.topbar-left{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-2);min-width:0;flex:1 1 min(100%,36rem)}.viking-page-header-title-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-1);width:100%;min-width:0}.viking-page-back-link-host{flex-shrink:0}.viking-page-header-title,.hud-title,.page-title{margin:0;font-size:clamp(var(--viking-font-size-xl),3vw,var(--viking-font-size-3xl));font-weight:700;letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-page-header-subtitle,.hud-subtitle,.page-description{margin:var(--viking-space-1) 0 0;font-size:var(--viking-font-size);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed);max-width:var(--viking-content-readable-max-width)}.viking-page-header-actions,.topbar-right{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-end;gap:var(--viking-space-2);flex-shrink:0;min-width:0;margin-left:auto}.viking-empty-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--viking-space-4) var(--viking-space-3);text-align:center;color:var(--viking-text-muted);gap:var(--viking-space-1-5);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.status-card-outlined:has(.chart-custom-header) .chart-custom-header,.status-card-outlined:has(.chart-custom-header) viking-chart-card-header,.viking-chart-panel:has(viking-chart-card-header) .chart-custom-header,.viking-chart-panel:has(viking-chart-card-header) viking-chart-card-header{border-bottom:1px solid var(--viking-border-subtle);padding-bottom:var(--viking-space-2);margin-bottom:0}.viking-chart-panel-body viking-chart,.viking-chart-panel-body .viking-chart-large,.viking-chart-panel-body .viking-chart-medium{flex:1 1 auto;display:flex;width:100%;min-height:inherit;height:100%}.chart-container-large{--viking-chart-fill-min-height: var(--viking-chart-fill-min-height-lg, clamp(20rem, 40vw, 22rem));min-height:var(--viking-chart-panel-body-min-height-lg, 25rem)}.chart-container-medium{--viking-chart-fill-min-height: var(--viking-chart-fill-min-height, clamp(18rem, 36vw, 20rem));min-height:var(--viking-chart-panel-body-min-height-md, 22rem)}.viking-chart-empty,.empty-chart-state,.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-4) var(--viking-space-3);border-radius:var(--viking-radius-lg);background:var(--viking-surface-alt);border:1px dashed var(--viking-border-strong);box-shadow:var(--viking-shadow-inner);min-height:220px;gap:var(--viking-space-2);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.viking-chart-empty.compact,.empty-chart-state.compact,.panel-empty.compact{min-height:160px;padding:var(--viking-space-3) var(--viking-space-3)}.viking-chart-empty.inline,.empty-chart-state.inline,.panel-empty.inline{min-height:auto;border-style:solid;border-color:var(--viking-border);background:color-mix(in srgb, var(--viking-surface-alt) 50%, transparent)}.viking-chart-empty.is-secure .empty-icon,.viking-chart-empty.is-secure viking-app-icon,.empty-chart-state.is-secure .empty-icon,.empty-chart-state.is-secure viking-app-icon,.panel-empty.is-secure .empty-icon,.panel-empty.is-secure viking-app-icon{background:color-mix(in srgb, var(--viking-success) 14%, transparent);color:var(--viking-success)}.viking-chart-empty .empty-icon,.viking-chart-empty viking-app-icon,.empty-chart-state .empty-icon,.empty-chart-state viking-app-icon,.panel-empty .empty-icon,.panel-empty viking-app-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-6);height:var(--viking-space-6);border-radius:var(--viking-radius-lg);background:var(--viking-accent-soft);color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-sm);margin-bottom:var(--viking-space-2);font-size:28px;opacity:1}.viking-chart-empty .empty-title,.viking-chart-empty h3,.empty-chart-state .empty-title,.empty-chart-state h3,.panel-empty .empty-title,.panel-empty h3{margin:0 0 var(--viking-space-1) 0;font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-chart-empty .empty-subtitle,.viking-chart-empty p,.empty-chart-state .empty-subtitle,.empty-chart-state p,.panel-empty .empty-subtitle,.panel-empty p{margin:0;font-size:var(--viking-font-size);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed);max-width:28rem}.viking-list-empty,.empty-data-text{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-4) var(--viking-space-3);gap:var(--viking-space-1);color:var(--viking-text-muted);font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);background:var(--viking-surface-alt);border-top:1px solid var(--viking-border-subtle)}.viking-list-empty .empty-icon,.viking-list-empty viking-app-icon,.empty-data-text .empty-icon,.empty-data-text viking-app-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-5);height:var(--viking-space-5);border-radius:var(--viking-radius-md);background:var(--viking-accent-soft);color:var(--viking-accent-strong);font-size:22px;margin-bottom:var(--viking-space-2)}.viking-list-empty .empty-title,.empty-data-text .empty-title{margin:0 0 var(--viking-space-1) 0;font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text)}.viking-list-empty .empty-subtitle,.empty-data-text .empty-subtitle{margin:0;max-width:24rem}.panel-card{position:relative;padding:var(--viking-panel-padding, var(--viking-space-3));border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background-color:var(--viking-surface);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.panel-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none;z-index:1}.status-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-4) var(--viking-space-3);margin-top:var(--viking-space-4);background:var(--viking-surface-alt);border:1px dashed var(--viking-border-strong);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-inner);gap:var(--viking-space-1-5);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}@media(min-width: 601px){.status-error-state{padding:var(--viking-space-7) var(--viking-space-4)}}.status-error-state .error-state-icon,.status-error-state viking-app-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-7);height:var(--viking-space-7);border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-text-muted) 10%, transparent);color:var(--viking-text-muted);font-size:36px;margin-bottom:var(--viking-space-1);opacity:.85}.status-error-state .error-title{margin:0;font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold);color:var(--viking-text);letter-spacing:var(--viking-letter-spacing-tight)}.status-error-state .error-subtitle{margin:0 0 var(--viking-space-2);font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted);max-width:26rem}.status-error-state .retry-btn{font-weight:var(--viking-font-weight-bold)}.viking-loader-state,.loader-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--viking-space-4) var(--viking-space-3);gap:var(--viking-space-2);color:var(--viking-text-muted);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.viking-spinner,.spinner{width:var(--viking-space-4);height:var(--viking-space-4);border:3px solid var(--viking-border);border-top-color:var(--viking-accent);border-radius:50%;animation:viking-spin .8s linear infinite}@media(prefers-reduced-motion: reduce){.viking-spinner,.spinner{animation:none;border-top-color:var(--viking-accent)}}.viking-dashboard-layout,.dashboard-layout{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;min-height:calc(100vh - 64px)}@media(min-width: 901px){.viking-dashboard-layout,.dashboard-layout{flex-direction:row}}.viking-dashboard-main,.dashboard-main{flex:1;display:flex;flex-direction:column;min-width:0}.metrics-overview-header{display:flex;flex-direction:column;gap:var(--viking-space-2);margin-bottom:var(--viking-space-4)}.metrics-section-spacing{margin-top:var(--viking-page-section-gap, var(--viking-space-7))}.section-title-premium{display:flex;align-items:center;gap:var(--viking-space-2);font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-tight, -0.01em);color:var(--viking-text, var(--text-color));margin:0}.section-title-premium viking-app-icon,.section-title-premium viking-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-space-3);height:var(--viking-space-3);border-radius:var(--viking-radius-sm);background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 14%, transparent));color:var(--viking-accent-strong, var(--viking-accent));flex-shrink:0}.section-description-premium{font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted, var(--text-muted));margin:0 0 var(--viking-space-4);max-width:var(--viking-content-readable-max-width, 42rem)}.ml-stat-panels-row,.stat-panels-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2, var(--grid-gap));margin-bottom:var(--viking-space-3)}@media(min-width: 600px){.ml-stat-panels-row,.stat-panels-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.ml-stat-panels-row,.stat-panels-grid{grid-template-columns:repeat(4, 1fr)}}.ml-stat-panel{position:relative;background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding-compact, var(--viking-space-2));display:flex;justify-content:space-between;align-items:center;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);overflow:hidden;min-width:0}.ml-stat-panel::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}.ml-stat-panel:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}.ml-stat-panel.viking-stat-alert{border-color:var(--viking-danger);border-left:3px solid var(--viking-danger)}.ml-stat-panel.viking-stat-alert .stat-value{color:var(--viking-danger-text, var(--viking-danger))}.stat-info{display:flex;align-items:center;gap:var(--viking-space-2);min-width:0}.stat-title{font-weight:var(--viking-font-weight-semibold, 600);font-size:var(--viking-font-size-sm);letter-spacing:var(--viking-letter-spacing-caps, 0.04em);text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted));white-space:nowrap}.stat-value{font-size:calc(var(--viking-font-size)*1.35);font-weight:var(--viking-font-weight-bold, 700);color:var(--viking-accent-strong, var(--viking-accent));letter-spacing:var(--viking-letter-spacing-tight, -0.02em);line-height:var(--viking-line-height-tight, 1.2)}.stat-unit{font-size:var(--viking-font-size-md);color:var(--viking-text-muted, var(--text-muted));font-weight:var(--viking-font-weight-medium, 500)}.ces-meter-section{margin-bottom:var(--viking-space-4)}.ces-gauge-cluster{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--viking-space-2, var(--grid-gap))}@media(min-width: 768px){.ces-gauge-cluster{grid-template-columns:repeat(12, 1fr)}}.gauge-card{position:relative;background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding, var(--viking-space-3));display:flex;flex-direction:column;align-items:center;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);overflow:hidden}.gauge-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}.gauge-card:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}.gauge-card-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--viking-space-3);padding-bottom:var(--viking-space-1);border-bottom:1px solid var(--viking-border-subtle)}.gauge-card-header h3{font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-semibold, 600);color:var(--viking-text, var(--text-color));margin:0}.gauge-card-header viking-app-icon,.gauge-card-header viking-icon{color:var(--viking-text-muted, var(--text-muted))}.gauge-card-footer{width:100%;margin-top:var(--viking-space-3);padding-top:var(--viking-space-2);border-top:1px solid var(--viking-border-subtle);font-size:var(--viking-font-size);color:var(--viking-text-muted, var(--text-muted));display:flex;align-items:center;justify-content:center;gap:var(--viking-space-1)}.gauge-card-footer viking-app-icon,.gauge-card-footer viking-icon{color:var(--viking-warning, var(--color-warning))}.gauge-wrapper{display:flex;flex-direction:column;align-items:center;position:relative;width:100%}.gauge-center-text{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;width:100%}.gauge-center-text.threat-text{color:var(--viking-accent)}.gauge-center-text.main-text{color:var(--viking-danger, var(--color-gauge-red))}.gauge-center-text.stability-text{color:var(--viking-accent, var(--color-primary))}.gauge-center-text .unit{font-size:var(--viking-font-size-sm);margin-bottom:var(--viking-space-1);color:var(--viking-text-muted, var(--text-muted));text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps, 0.1em)}.gauge-center-text .value{font-size:calc(var(--viking-font-size)*2.25);line-height:var(--viking-line-height-tight, 1);color:var(--viking-text, var(--text-color));font-weight:var(--viking-font-weight-bold, 700)}.gauge-center-text .value .unit-symbol{font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-medium, 500);color:var(--viking-text-muted, var(--text-muted))}html[data-theme=light] .gauge-card,html[data-theme=light] .ml-stat-panel{background:var(--viking-surface-recipe, var(--viking-surface))}.viking-page-shell,.page-inner-wrapper{width:100%;max-width:var(--viking-container-max-width, var(--container-max-width, 1260px));margin-inline:auto;padding-inline:var(--viking-page-gutter, var(--viking-space-2, var(--space-2, 16px)));padding-block:var(--viking-page-gutter-lg, var(--viking-space-4, var(--space-4, 32px)));box-sizing:border-box}@media(min-width: 1440px){.viking-page-shell,.page-inner-wrapper,.viking-section-inner{padding-inline:var(--viking-page-gutter-lg, var(--viking-space-3, var(--space-3, 24px)))}}@media(min-width: 1920px){.viking-page-shell,.page-inner-wrapper,.viking-section-inner{padding-inline:var(--viking-page-gutter-xl, var(--viking-space-4, var(--space-4, 32px)))}}.viking-section{width:100%;padding-block:var(--viking-section-padding-y, var(--viking-space-6, var(--space-6, 48px)))}.viking-content-stack{display:flex;flex-direction:column;gap:var(--viking-page-stack-gap, var(--viking-space-3, var(--space-3, 24px)));width:100%}.viking-content-stack--tight{gap:var(--viking-space-3, var(--space-3, 24px))}.viking-section--compact{padding-block:var(--viking-section-padding-y-compact, var(--viking-space-4, var(--space-4, 32px)))}.viking-section--hero{padding-block:var(--viking-space-8, var(--space-8, 64px)) var(--viking-space-6, var(--space-6, 48px))}@media(min-width: 768px){.viking-section--hero{padding-block:var(--viking-space-10, 96px) var(--viking-space-8, 64px)}}.viking-section-inner{width:100%;max-width:var(--viking-container-max-width, var(--container-max-width, 1260px));margin-inline:auto;padding-inline:var(--viking-page-gutter, var(--viking-space-3, var(--space-3, 24px)));box-sizing:border-box}.viking-section-header{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--space-2, 16px));margin-bottom:var(--viking-page-section-gap, var(--viking-space-6, var(--space-6, 48px)));max-width:48rem}.viking-section-title{margin:0;font-family:var(--viking-font-family);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:var(--header-letter-spacing, -0.02em);color:var(--viking-text, var(--text-color))}.viking-section-lead{margin:0;font-family:var(--viking-font-family);font-size:var(--viking-font-size, var(--base-font-size, 16px));line-height:1.6;color:var(--viking-text-muted, var(--text-muted))}.viking-cta-row{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--space-2, 16px));align-items:stretch;width:100%}@media(min-width: 600px){.viking-cta-row{flex-direction:row;flex-wrap:wrap;align-items:center;width:auto}}.viking-cta-row .viking-btn,.viking-cta-row a.viking-btn,.viking-cta-row a.cta-button{min-width:var(--viking-btn-min-width, var(--btn-min-width, 120px))}:root{--viking-accent: var(--color-primary, var(--viking-electric-500));--viking-accent-hover: var(--viking-electric-400);--viking-accent-content: var(--color-on-primary, var(--viking-white-pure));--viking-accent-soft: color-mix(in srgb, var(--viking-accent) 18%, transparent);--viking-accent-strong: var(--color-primary-container, var(--viking-electric-300));--viking-accent-secondary: var(--accent-color, var(--viking-crimson-600));--viking-accent-secondary-hover: var(--viking-crimson-500);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-accent-secondary) 16%, transparent);--viking-bg: var(--bg-color, var(--viking-charcoal-900));--viking-surface: var(--card-bg, var(--viking-charcoal-800));--viking-surface-alt: var(--color-surface-variant, var(--viking-charcoal-700));--viking-surface-raised: var(--viking-charcoal-600);--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-950) 72%, transparent);--viking-text: var(--text-color, var(--viking-white));--viking-text-muted: var(--text-muted, var(--viking-metallic-200));--viking-text-subtle: var(--viking-metallic-300);--viking-text-inverted: var(--color-on-primary, var(--viking-charcoal-900));--viking-border: var(--border, color-mix(in srgb, var(--viking-metallic-600) 48%, transparent));--viking-border-strong: var(--border-layout, color-mix(in srgb, var(--viking-metallic-400) 68%, transparent));--viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600) 28%, transparent);--viking-ring: var(--focus-ring-color, var(--viking-electric-400));--viking-ring-width: var(--focus-ring-width, 2px);--viking-ring-offset: var(--focus-ring-offset, 2px);--viking-success: var(--color-success, var(--viking-green-500));--viking-warning: var(--color-warning, var(--viking-gold-500));--viking-danger: var(--color-error, var(--viking-crimson-500));--viking-info: var(--color-info, var(--viking-blue-500));--viking-danger-text: color-mix(in srgb, var(--viking-danger) 50%, var(--viking-charcoal-900));--viking-on-danger: var(--viking-white-pure);--viking-radius-xs: 4px;--viking-radius-sm: 6px;--viking-radius: var(--border-radius-md, 8px);--viking-radius-md: 10px;--viking-radius-lg: var(--border-radius-lg, 12px);--viking-radius-xl: 16px;--viking-radius-pill: var(--border-radius-pill, 999px);--viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--viking-shadow-sm: var( --shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.04) );--viking-shadow-md: var( --shadow-md, 0 2px 4px rgba(0, 0, 0, 0.16), 0 4px 8px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.05) );--viking-shadow-lg: var( --shadow-lg, 0 4px 8px rgba(0, 0, 0, 0.14), 0 12px 24px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.06) );--viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.14);--viking-font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--viking-font-family-mono: ui-monospace, 'JetBrains Mono', 'SF Mono', 'Cascadia Code', Consolas, monospace;--viking-font-size-2xs: 11px;--viking-font-size-xs: 12px;--viking-font-size-sm: max(14px, var(--ui-font-size, 14px));--viking-font-size: max(16px, var(--base-font-size, 16px));--viking-font-size-md: max(16px, calc(var(--viking-font-size) * 1.125));--viking-font-size-lg: max(16px, calc(var(--viking-font-size) * 1.25));--viking-font-size-xl: max(18px, calc(var(--viking-font-size) * 1.5));--viking-font-size-2xl: max(20px, calc(var(--viking-font-size) * 1.875));--viking-font-size-3xl: max(24px, calc(var(--viking-font-size) * 2.25));--viking-font-size-4xl: max(30px, calc(var(--viking-font-size) * 3));--viking-font-size-ui: var(--viking-font-size-sm);--viking-font-weight-regular: 400;--viking-font-weight-medium: 500;--viking-font-weight-semibold: 600;--viking-font-weight-bold: 700;--viking-line-height-tight: 1.25;--viking-line-height-snug: 1.375;--viking-line-height-normal: 1.5;--viking-line-height-relaxed: 1.625;--viking-line-height-loose: 1.75;--viking-letter-spacing-tight: var(--header-letter-spacing, -0.02em);--viking-letter-spacing-normal: 0;--viking-letter-spacing-wide: 0.025em;--viking-letter-spacing-wider: 0.05em;--viking-letter-spacing-caps: 0.08em;--viking-control-height: var(--viking-touch-target-min, 44px);--viking-control-height-sm: 40px;--viking-control-height-xs: 24px;--viking-control-padding-x: var(--viking-space-2, 16px);--viking-btn-min-width: var(--btn-min-width, 120px);--viking-grid-unit: 4px;--viking-space-0: 0;--viking-space-half: 4px;--viking-space-1: 8px;--viking-space-1-5: 12px;--viking-space-2: 16px;--viking-space-3: 24px;--viking-space-4: 32px;--viking-space-5: 40px;--viking-space-6: 48px;--viking-space-7: 56px;--viking-space-8: 64px;--viking-chart-axis-size: 12px;--viking-container-max-width: var(--container-max-width, 1260px);--viking-navbar-height: var(--navbar-height, 64px);--viking-sidebar-width: 256px;--viking-ease-default: cubic-bezier(0.4, 0, 0.2, 1);--viking-duration-fast: 150ms;--viking-duration: 250ms;--viking-duration-slow: 350ms;--viking-transition-colors: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default);--viking-transition: var(--transition-smooth, all 0.25s cubic-bezier(0.4, 0, 0.2, 1));--viking-z-overlay: 1000;--viking-z-toast: 1100;--viking-z-tooltip: 1200}html[data-theme=dark]{--viking-danger-text: var(--viking-danger)}@media(prefers-color-scheme: dark){html:not([data-theme=light]){--viking-danger-text: var(--viking-danger)}}html{color-scheme:dark light}html,body,.viking-btn,.viking-card,.viking-hud-panel,.viking-metric-card,.viking-panel-card{transition:var(--viking-transition-colors)}@media(min-width: 768px){:root{--viking-control-height: 40px;--viking-control-height-sm: 32px}}.viking-tooltip{position:fixed;z-index:var(--viking-z-tooltip);display:inline-flex;align-items:center;gap:var(--viking-space-1);max-width:min(20rem,100vw - var(--viking-space-4));padding:var(--viking-space-half) var(--viking-space-1);font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);line-height:var(--viking-line-height-snug);color:var(--viking-text-inverted);background:var(--viking-charcoal-900);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius);box-shadow:var(--viking-shadow-md);pointer-events:none;animation:viking-tooltip-in var(--viking-duration-fast) var(--viking-ease-out)}html[data-theme=light] .viking-tooltip{color:var(--viking-white-pure);background:var(--viking-charcoal-800);border-color:color-mix(in srgb, var(--viking-charcoal-600) 45%, transparent)}@media(prefers-color-scheme: light){html:not([data-theme=dark]) .viking-tooltip{color:var(--viking-white-pure);background:var(--viking-charcoal-800);border-color:color-mix(in srgb, var(--viking-charcoal-600) 45%, transparent)}}.viking-tooltip-text{flex:1;min-width:0}.viking-tooltip-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);padding:0 var(--viking-space-half);border:1px solid color-mix(in srgb, var(--viking-text-inverted) 35%, transparent);border-radius:var(--viking-radius-xs);line-height:1.4;white-space:nowrap}.viking-tooltip-host{-webkit-tap-highlight-color:rgba(0,0,0,0)}@media(prefers-reduced-motion: reduce){.viking-tooltip{animation:none}}.viking-heading{margin:0;font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);line-height:var(--viking-line-height-tight);color:var(--viking-text)}.viking-heading-xl{font-size:clamp(var(--viking-font-size-2xl),4vw,var(--viking-font-size-4xl))}.viking-heading-lg{font-size:var(--viking-font-size-xl)}.viking-heading-sm{font-size:var(--viking-font-size-lg)}.viking-text{margin:0;line-height:var(--viking-line-height-relaxed);color:var(--viking-text)}.viking-text-muted{margin:0;line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted);max-width:var(--viking-content-readable-max-width, 48rem)}.viking-label{display:block;font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted)}.viking-metric{display:block;font-size:var(--viking-font-size-2xl);font-weight:var(--viking-font-weight-bold);font-variant-numeric:tabular-nums;color:var(--viking-text)}.viking-badge{display:inline-flex;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-half) var(--viking-space-1);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);border-radius:var(--viking-radius-pill);border:1px solid var(--viking-border);background:var(--viking-surface-alt);color:var(--viking-text);white-space:nowrap}.viking-badge-accent{background:var(--viking-accent);border-color:color-mix(in srgb, var(--viking-accent) 80%, var(--viking-black));color:var(--viking-accent-content)}.viking-badge-success{background:color-mix(in srgb, var(--viking-success) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-success) 40%, transparent);color:var(--viking-success)}.viking-badge-warning{background:color-mix(in srgb, var(--viking-warning) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-warning) 40%, transparent);color:var(--viking-warning)}.viking-badge-danger{background:color-mix(in srgb, var(--viking-danger) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-danger) 40%, transparent);color:var(--viking-danger)}.viking-badge-subtle{background:var(--viking-surface-alt);color:var(--viking-text-muted);font-size:var(--viking-font-size-2xs)}.viking-callout-static{padding:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-border);background:var(--viking-surface-alt)}.viking-callout-static strong{display:block;margin-bottom:var(--viking-space-half)}.viking-callout-static p{margin:0;font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.viking-callout-info{border-color:color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface))}.viking-callout-warning{border-color:color-mix(in srgb, var(--viking-warning) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-warning) 8%, var(--viking-surface))}.viking-callout-success{border-color:color-mix(in srgb, var(--viking-success) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-success) 8%, var(--viking-surface))}.viking-callout-danger{border-color:color-mix(in srgb, var(--viking-danger) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-danger) 8%, var(--viking-surface))}.viking-progress{width:100%;height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);overflow:hidden}.viking-progress-bar{height:100%;background:var(--viking-accent);border-radius:inherit;transition:width var(--viking-duration) var(--viking-ease-out)}.viking-progress-indeterminate .viking-progress-bar{width:40%;animation:viking-progress-slide 1.2s ease-in-out infinite}@keyframes viking-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}.viking-skeleton-row{display:flex;align-items:center;gap:var(--viking-space-2)}.viking-skeleton-lines{flex:1;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-skeleton{background:linear-gradient(90deg, var(--viking-surface-alt) 25%, var(--viking-surface-raised) 50%, var(--viking-surface-alt) 75%);background-size:200% 100%;animation:viking-shimmer 1.5s ease-in-out infinite;border-radius:var(--viking-radius-sm)}.viking-skeleton-circle{width:3rem;height:3rem;border-radius:50%;flex-shrink:0}.viking-skeleton-line{height:.75rem}.viking-skeleton-line-short{width:60%}@keyframes viking-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.viking-checkbox-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);cursor:pointer;font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-checkbox-label input{width:1.125rem;height:1.125rem;accent-color:var(--viking-accent)}.viking-select-native{width:100%;min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-family:inherit;font-size:var(--viking-font-size-sm)}.viking-select-native:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}.viking-table-wrap{overflow-x:auto;width:100%}.viking-table{width:100%;border-collapse:collapse;font-size:var(--viking-font-size-sm)}.viking-table th,.viking-table td{padding:var(--viking-space-1) var(--viking-space-2);text-align:left;border-bottom:1px solid var(--viking-border)}.viking-table th{color:var(--viking-text-muted);font-weight:var(--viking-font-weight-semibold)}.viking-tabs{display:inline-flex;gap:var(--viking-space-half);padding:var(--viking-space-half);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-tab{padding:var(--viking-space-1) var(--viking-space-2);border:none;border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);cursor:pointer;min-height:var(--viking-touch-target-min, 44px)}.viking-tab-active{background:var(--viking-surface);color:var(--viking-text);box-shadow:var(--viking-shadow-xs)}.viking-tab:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}.viking-page-header-static{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-4);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-md)}.viking-kbd-static{display:inline-block;font-family:inherit;font-size:calc(var(--viking-font-size)*.75);padding:2px 6px;border-radius:calc(var(--viking-radius)/2);border:1px solid var(--viking-border);background:var(--viking-surface-alt)}.viking-divider{display:flex;align-items:center;gap:var(--viking-space-2);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs)}.viking-divider::before,.viking-divider::after{content:"";flex:1;height:1px;background:var(--viking-border)}.viking-demo-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.viking-demo-row-stack{flex-direction:column;align-items:stretch}.viking-breadcrumbs-static{font-size:var(--viking-font-size-sm)}.viking-breadcrumbs-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);margin:0;padding:0;list-style:none}.viking-breadcrumbs-list li:not(:last-child)::after{content:"/";margin-left:var(--viking-space-1);color:var(--viking-text-muted)}.viking-breadcrumbs-list a{color:var(--viking-accent);text-decoration:none}.viking-breadcrumbs-list a:hover{text-decoration:underline}.viking-pagination-static{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.viking-switch-static{display:inline-flex;align-items:center;gap:var(--viking-space-1);cursor:pointer;font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-switch-static input{width:2.5rem;height:1.375rem;accent-color:var(--viking-accent)}.viking-kanban-demo{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.viking-kanban-col{flex:1;min-width:10rem;padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-kanban-card{padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:var(--viking-surface-alt);font-size:var(--viking-font-size-sm)}.viking-uptime-demo{display:flex;flex-direction:column;gap:var(--viking-space-1);max-width:20rem}.viking-uptime-segments{display:flex;gap:2px;height:var(--viking-space-2)}.viking-uptime-seg{flex:1;border-radius:1px;min-width:4px}.viking-uptime-up{background:var(--viking-success)}.viking-uptime-degraded{background:var(--viking-warning)}.viking-uptime-down{background:var(--viking-danger)}.viking-sheet-demo{max-width:20rem;padding:var(--viking-space-2)}.viking-wizard-demo{max-width:24rem;padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2)}@media(prefers-reduced-motion: reduce){.viking-skeleton,.viking-progress-indeterminate .viking-progress-bar{animation:none}}.viking-hud-panel{display:flex;flex-direction:column;gap:var(--viking-space-1);padding:var(--viking-card-padding);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-md);max-width:20rem}.viking-avatar-static{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--viking-border);background:var(--viking-surface-alt);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-bold);color:var(--viking-text)}.viking-avatar-accent{background:var(--viking-accent-soft);border-color:var(--viking-accent);color:var(--viking-accent)}.viking-empty-state-static{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-4);text-align:center;border:1px dashed var(--viking-border);border-radius:var(--viking-radius-lg);max-width:24rem}.viking-spinner-static{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--viking-border);border-top-color:var(--viking-accent);border-radius:50%;animation:viking-spinner-spin .8s linear infinite}@keyframes viking-spinner-spin{to{transform:rotate(360deg)}}.viking-loading-overlay-demo{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-3);max-width:20rem}.viking-separator-static{border:0;border-top:1px solid var(--viking-border);margin:var(--viking-space-1) 0}.viking-icon-badge-static{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-badge-size, var(--viking-space-6));height:var(--viking-icon-badge-size, var(--viking-space-6));padding:var(--viking-icon-badge-padding, var(--viking-space-half));box-sizing:border-box;border-radius:var(--viking-radius-lg);border:none;background:var(--viking-accent-soft);color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-sm);font-size:var(--viking-font-size-sm)}.viking-textarea-static{width:100%;min-height:5rem;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-family:inherit;font-size:var(--viking-font-size-sm);resize:vertical}.viking-textarea-static:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-radio-static{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-radio-static label{display:inline-flex;align-items:center;gap:var(--viking-space-1);font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-slider-static{width:100%;accent-color:var(--viking-accent)}.viking-otp-static{display:flex;gap:var(--viking-space-1)}.viking-otp-static input{width:2.5rem;height:2.5rem;text-align:center;border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-size:var(--viking-font-size-lg)}.viking-file-upload-static{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);text-align:center}.viking-pillbox-static{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-gauge-demo,.viking-ring-gauge-demo{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-1)}.viking-chart-empty-static{text-align:center}.viking-status-metric-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-bar-static{display:flex;flex-direction:column;gap:var(--viking-space-half);max-width:16rem}.viking-bar-track{width:100%;height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);overflow:hidden}.viking-bar-fill{height:100%;background:var(--viking-accent);border-radius:inherit}.viking-nav-menu-static,.viking-sidebar-nav-static{display:flex;flex-direction:column;gap:var(--viking-space-half);max-width:14rem}.viking-nav-item-static,.viking-sidebar-nav-item{display:block;padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-sm);color:var(--viking-text-muted);text-decoration:none;font-size:var(--viking-font-size-sm)}.viking-nav-item-static.is-active,.viking-sidebar-nav-item.is-active{background:var(--viking-accent-soft);color:var(--viking-accent);font-weight:var(--viking-font-weight-semibold)}.viking-menubar-static{display:inline-flex;gap:var(--viking-space-half);padding:var(--viking-space-half);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-command-static{display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-accordion-static{padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-accordion-static summary{cursor:pointer;list-style:none}.viking-accordion-static summary::-webkit-details-marker{display:none}.viking-timeline-static{margin:0;padding:0 0 0 var(--viking-space-3);border-left:2px solid var(--viking-border);list-style:none;display:flex;flex-direction:column;gap:var(--viking-space-2)}.viking-toggle-group-static{display:inline-flex;gap:var(--viking-space-half);padding:var(--viking-space-half);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-fab-static{position:absolute;right:var(--viking-space-2);bottom:var(--viking-space-2);display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid var(--viking-border-strong);border-radius:50%;background:var(--viking-accent);color:var(--viking-accent-content);font-size:var(--viking-font-size-xl);cursor:pointer;box-shadow:var(--viking-shadow-md)}.viking-scroll-area-static{max-height:8rem;overflow-y:auto;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-button-group-static{display:inline-flex;flex-wrap:wrap;gap:var(--viking-space-half)}.viking-whitepaper-cta-static{display:flex;flex-direction:column;gap:var(--viking-space-2);max-width:24rem}.viking-search-result-static{display:flex;flex-direction:column;gap:var(--viking-space-half);padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);text-decoration:none;color:inherit;transition:var(--viking-transition-interactive)}.viking-search-result-static:hover{background:color-mix(in srgb, var(--viking-accent) 5%, transparent);border-color:color-mix(in srgb, var(--viking-accent) 30%, transparent)}.viking-search-result-title{font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);color:var(--viking-text)}.viking-search-result-snippet{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}@media(prefers-reduced-motion: reduce){.viking-spinner-static{animation:none}}.viking-input,.viking-input-shell{display:flex;align-items:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-space-2);font-family:var(--viking-font-family);font-size:var(--viking-font-size);color:var(--viking-text);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);box-shadow:var(--viking-shadow-xs);transition:var(--viking-transition-interactive);width:100%;min-width:0;box-sizing:border-box}.viking-input:hover:not(.viking-disabled):not(.viking-loading):not(:disabled),.viking-input-shell:hover:not(.viking-disabled):not(.viking-loading):not(:disabled){border-color:color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border-strong));box-shadow:var(--viking-shadow-sm)}.viking-input:focus-within:not(.viking-loading),.viking-input-shell:focus-within:not(.viking-loading){outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);border-color:var(--viking-accent);box-shadow:var(--viking-shadow-sm)}.viking-input input,.viking-input-shell input,input.viking-input-native{flex:1;min-width:0;border:none;outline:none !important;background:rgba(0,0,0,0);color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size);padding:0}.viking-input input::placeholder,.viking-input-shell input::placeholder,input.viking-input-native::placeholder{color:var(--viking-text-muted)}.viking-input input:disabled,.viking-input-shell input:disabled,input.viking-input-native:disabled{cursor:not-allowed}.viking-input-clear{display:inline-flex;align-items:center;justify-content:center;min-width:var(--viking-touch-target-comfort);min-height:var(--viking-touch-target-comfort);border:none;background:rgba(0,0,0,0);color:var(--viking-text-muted);cursor:pointer;padding:var(--viking-space-half);border-radius:var(--viking-radius-pill);transition:var(--viking-transition-interactive);position:relative;flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-input-clear:hover{color:var(--viking-text);background:var(--viking-accent-soft)}.viking-input-clear:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-input-clear:active{transform:scale(var(--viking-state-active-scale))}.viking-input-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xs);padding:0 var(--viking-space-half);line-height:1.4}.viking-input-icon{color:var(--viking-text-muted);flex-shrink:0}.viking-input-shell.viking-disabled,.viking-input-shell.viking-loading,.viking-input.viking-disabled,.viking-input.viking-loading{opacity:var(--viking-state-disabled-opacity)}.viking-input-shell.viking-loading,.viking-input.viking-loading{cursor:wait}.auth-btn,a.auth-btn,button.auth-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.auth-btn:focus-visible,a.auth-btn:focus-visible,button.auth-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.auth-btn::before,a.auth-btn::before,button.auth-btn::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.auth-btn::after,a.auth-btn::after,button.auth-btn::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.auth-btn:disabled,.auth-btn[aria-busy=true],a.auth-btn:disabled,a.auth-btn[aria-busy=true],button.auth-btn:disabled,button.auth-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.auth-btn[aria-busy=true]::before,.auth-btn[aria-busy=true] .viking-btn-label,a.auth-btn[aria-busy=true]::before,a.auth-btn[aria-busy=true] .viking-btn-label,button.auth-btn[aria-busy=true]::before,button.auth-btn[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.auth-btn viking-icon,.auth-btn .viking-icon,.auth-btn [data-viking-icon],a.auth-btn viking-icon,a.auth-btn .viking-icon,a.auth-btn [data-viking-icon],button.auth-btn viking-icon,button.auth-btn .viking-icon,button.auth-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.auth-btn .viking-btn-label,a.auth-btn .viking-btn-label,button.auth-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.auth-btn,a.auth-btn,button.auth-btn{text-transform:uppercase;background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.auth-btn:hover:not(:disabled):not([aria-busy=true]),a.auth-btn:hover:not(:disabled):not([aria-busy=true]),button.auth-btn:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.auth-btn:active:not(:disabled):not([aria-busy=true]),a.auth-btn:active:not(:disabled):not([aria-busy=true]),button.auth-btn:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.auth-btn svg,.auth-btn .material-icons,a.auth-btn svg,a.auth-btn .material-icons,button.auth-btn svg,button.auth-btn .material-icons{flex-shrink:0;transition:transform var(--viking-duration-fast, 150ms) var(--viking-ease-default, ease)}.auth-btn:hover svg,a.auth-btn:hover svg,button.auth-btn:hover svg{transform:translateX(2px)}.auth-btn,a.auth-btn,button.auth-btn{color:var(--viking-white-pure, var(--viking-white-pure)) !important}.auth-btn svg,.auth-btn .material-icons,.auth-btn [data-viking-icon],.auth-btn viking-icon,.auth-btn span,a.auth-btn svg,a.auth-btn .material-icons,a.auth-btn [data-viking-icon],a.auth-btn viking-icon,a.auth-btn span,button.auth-btn svg,button.auth-btn .material-icons,button.auth-btn [data-viking-icon],button.auth-btn viking-icon,button.auth-btn span{color:inherit !important}.auth-btn.auth-btn-outline,a.auth-btn.auth-btn-outline{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.auth-btn.auth-btn-outline:focus-visible,a.auth-btn.auth-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.auth-btn.auth-btn-outline::before,a.auth-btn.auth-btn-outline::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.auth-btn.auth-btn-outline::after,a.auth-btn.auth-btn-outline::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.auth-btn.auth-btn-outline:disabled,.auth-btn.auth-btn-outline[aria-busy=true],a.auth-btn.auth-btn-outline:disabled,a.auth-btn.auth-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.auth-btn.auth-btn-outline[aria-busy=true]::before,.auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label,a.auth-btn.auth-btn-outline[aria-busy=true]::before,a.auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.auth-btn.auth-btn-outline viking-icon,.auth-btn.auth-btn-outline .viking-icon,.auth-btn.auth-btn-outline [data-viking-icon],a.auth-btn.auth-btn-outline viking-icon,a.auth-btn.auth-btn-outline .viking-icon,a.auth-btn.auth-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.auth-btn.auth-btn-outline .viking-btn-label,a.auth-btn.auth-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.auth-btn.auth-btn-outline,a.auth-btn.auth-btn-outline{text-transform:uppercase;background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]),a.auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.auth-btn.auth-btn-outline:hover svg,a.auth-btn.auth-btn-outline:hover svg{transform:none}.mobile-auth-btn,a.mobile-auth-btn,button.mobile-auth-btn{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.mobile-auth-btn:focus-visible,a.mobile-auth-btn:focus-visible,button.mobile-auth-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.mobile-auth-btn::before,a.mobile-auth-btn::before,button.mobile-auth-btn::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.mobile-auth-btn::after,a.mobile-auth-btn::after,button.mobile-auth-btn::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.mobile-auth-btn:disabled,.mobile-auth-btn[aria-busy=true],a.mobile-auth-btn:disabled,a.mobile-auth-btn[aria-busy=true],button.mobile-auth-btn:disabled,button.mobile-auth-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.mobile-auth-btn[aria-busy=true]::before,.mobile-auth-btn[aria-busy=true] .viking-btn-label,a.mobile-auth-btn[aria-busy=true]::before,a.mobile-auth-btn[aria-busy=true] .viking-btn-label,button.mobile-auth-btn[aria-busy=true]::before,button.mobile-auth-btn[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.mobile-auth-btn viking-icon,.mobile-auth-btn .viking-icon,.mobile-auth-btn [data-viking-icon],a.mobile-auth-btn viking-icon,a.mobile-auth-btn .viking-icon,a.mobile-auth-btn [data-viking-icon],button.mobile-auth-btn viking-icon,button.mobile-auth-btn .viking-icon,button.mobile-auth-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.mobile-auth-btn .viking-btn-label,a.mobile-auth-btn .viking-btn-label,button.mobile-auth-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.mobile-auth-btn,a.mobile-auth-btn,button.mobile-auth-btn{text-transform:uppercase;background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-shadow-sm)}.mobile-auth-btn:hover:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn:hover:not(:disabled):not([aria-busy=true]),button.mobile-auth-btn:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]),button.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.mobile-auth-btn svg,.mobile-auth-btn .material-icons,a.mobile-auth-btn svg,a.mobile-auth-btn .material-icons,button.mobile-auth-btn svg,button.mobile-auth-btn .material-icons{flex-shrink:0;transition:transform var(--viking-duration-fast, 150ms) var(--viking-ease-default, ease)}.mobile-auth-btn:hover svg,a.mobile-auth-btn:hover svg,button.mobile-auth-btn:hover svg{transform:translateX(2px)}.mobile-auth-btn,a.mobile-auth-btn,button.mobile-auth-btn{width:100%;min-width:0;justify-content:center;color:var(--viking-white-pure, var(--viking-white-pure)) !important}.mobile-auth-btn svg,.mobile-auth-btn .material-icons,.mobile-auth-btn [data-viking-icon],.mobile-auth-btn viking-icon,.mobile-auth-btn span,a.mobile-auth-btn svg,a.mobile-auth-btn .material-icons,a.mobile-auth-btn [data-viking-icon],a.mobile-auth-btn viking-icon,a.mobile-auth-btn span,button.mobile-auth-btn svg,button.mobile-auth-btn .material-icons,button.mobile-auth-btn [data-viking-icon],button.mobile-auth-btn viking-icon,button.mobile-auth-btn span{color:inherit !important}.mobile-auth-btn:hover,.mobile-auth-btn:focus-visible,a.mobile-auth-btn:hover,a.mobile-auth-btn:focus-visible,button.mobile-auth-btn:hover,button.mobile-auth-btn:focus-visible{color:var(--viking-white-pure, var(--viking-white-pure)) !important}.mobile-auth-btn.auth-signout-btn,a.mobile-auth-btn.auth-signout-btn,button.mobile-auth-btn.auth-signout-btn{color:var(--viking-text-muted) !important}.mobile-auth-btn.auth-btn-outline,a.mobile-auth-btn.auth-btn-outline{font-family:var(--viking-font-family);font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-snug);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-radius-lg);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-shadow-sm)}.mobile-auth-btn.auth-btn-outline:focus-visible,a.mobile-auth-btn.auth-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.mobile-auth-btn.auth-btn-outline::before,a.mobile-auth-btn.auth-btn-outline::before{content:"";position:absolute;inset:1px 1px auto 1px;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 45%, transparent), transparent);pointer-events:none;opacity:.82;transition:var(--viking-transition-interactive)}.mobile-auth-btn.auth-btn-outline::after,a.mobile-auth-btn.auth-btn-outline::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-100) 18%, transparent), transparent);pointer-events:none;opacity:.45;transition:var(--viking-transition-interactive)}.mobile-auth-btn.auth-btn-outline:disabled,.mobile-auth-btn.auth-btn-outline[aria-busy=true],a.mobile-auth-btn.auth-btn-outline:disabled,a.mobile-auth-btn.auth-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.mobile-auth-btn.auth-btn-outline[aria-busy=true]::before,.mobile-auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label,a.mobile-auth-btn.auth-btn-outline[aria-busy=true]::before,a.mobile-auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label{opacity:.85;transform:translateY(1px)}.mobile-auth-btn.auth-btn-outline viking-icon,.mobile-auth-btn.auth-btn-outline .viking-icon,.mobile-auth-btn.auth-btn-outline [data-viking-icon],a.mobile-auth-btn.auth-btn-outline viking-icon,a.mobile-auth-btn.auth-btn-outline .viking-icon,a.mobile-auth-btn.auth-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto}.mobile-auth-btn.auth-btn-outline .viking-btn-label,a.mobile-auth-btn.auth-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-width:0;justify-content:center;text-align:center;white-space:nowrap}.mobile-auth-btn.auth-btn-outline,a.mobile-auth-btn.auth-btn-outline{text-transform:uppercase;background:var(--viking-surface);color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.mobile-auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-surface-alt);border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border-strong));color:var(--viking-text);box-shadow:var(--viking-shadow-md);transform:translateY(var(--viking-state-hover-lift))}.mobile-auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 28%, transparent),var(--viking-shadow-sm)}.mobile-auth-btn.auth-btn-outline:hover svg,a.mobile-auth-btn.auth-btn-outline:hover svg{transform:none}.sr-only,.visually-hidden{position:absolute !important;width:0 !important;height:0 !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.skip-link{position:absolute;top:0;left:var(--space-2, 16px);z-index:10000;padding:var(--space-1, 8px) var(--space-2, 16px);border-radius:var(--border-radius-sm, 8px);background-color:var(--black, var(--viking-black)) !important;color:var(--white, var(--viking-white-pure)) !important;text-decoration:none;font-weight:600;font-size:max(16px,var(--base-font-size, 16px));line-height:1.4;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;border:0}.skip-link:focus,.skip-link:focus-visible{clip:auto;clip-path:none;width:auto;height:auto;overflow:visible;white-space:normal;outline:var(--focus-ring-width, 3px) solid var(--focus-ring-color, var(--viking-accent));outline-offset:var(--focus-ring-offset, 2px)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color) !important;outline-offset:var(--focus-ring-offset) !important}.viking-input-shell input:focus,.viking-input-shell input:focus-visible,.viking-textarea-shell textarea:focus,.viking-textarea-shell textarea:focus-visible{outline:none !important}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}@media(forced-colors: active){a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid CanvasText !important}}.navbar{position:sticky;top:0;z-index:50;width:100%;min-height:var(--viking-navbar-height, 64px);background-color:var(--navbar-bg, var(--viking-surface));border-bottom:1px solid var(--border-layout, var(--viking-border));display:flex;flex-direction:column;align-items:stretch;padding:0 var(--viking-space-2, 16px);box-sizing:border-box;overflow:visible;container-type:inline-size;container-name:viking-navbar}@media(min-width: 768px){.navbar{padding-inline:var(--viking-space-3, 24px)}}.navbar{box-shadow:var(--viking-shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.2));isolation:isolate}.navbar-brand{margin-right:var(--viking-space-1, 8px);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, 8px);text-decoration:none;overflow:visible;flex-shrink:0;padding:0;min-height:36px;line-height:1;transition:filter .3s ease}.navbar-title{font-size:var(--base-font-size);font-weight:700;line-height:1.2;color:var(--text-color);letter-spacing:-0.02em}.navbar-logo{font-size:28px;width:36px;height:36px;line-height:1;color:var(--color-primary, var(--viking-accent));overflow:visible;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.navbar-brand .navbar-logo,.navbar-brand viking-icon.navbar-logo{color:var(--color-primary, var(--viking-accent)) !important}.navbar-brand .navbar-logo.mat-icon,.navbar-brand mat-icon.navbar-logo{overflow:visible !important;width:36px !important;height:36px !important;font-size:28px !important;line-height:36px !important;padding:0 !important;box-sizing:border-box;display:inline-flex !important;align-items:center !important;justify-content:center !important}.navbar-content{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--viking-space-1, 8px);width:100%;max-width:var(--viking-container-max-width, 1260px);margin-inline:auto;min-width:0;min-height:var(--viking-navbar-height, 64px)}.navbar-left{grid-column:1;display:flex;align-items:center;justify-content:flex-start;flex:0 1 auto;min-width:0;flex-shrink:0}.navbar-right{grid-column:3;display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:var(--viking-space-1, 8px);min-width:0;flex-shrink:0}.navbar-search,.navbar-search viking-button-wc,.navbar-right viking-theme-toggle-wc,.navbar-right .menu-toggle-btn,.navbar-right viking-button.menu-toggle-btn,.navbar-right viking-button-wc.menu-toggle-btn{flex:0 0 auto}.navbar-center{grid-column:2;display:flex;justify-content:center;align-items:center;min-width:0}.desktop-nav{display:none;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--viking-space-1, 8px);padding:var(--viking-space-half, 4px) 0;min-width:0;max-width:100%;overflow:hidden}.desktop-auth{display:none;align-items:center;flex-shrink:0;gap:var(--viking-space-1, 8px)}.desktop-auth viking-button,.desktop-auth viking-button-wc{min-width:var(--viking-btn-min-width, 120px) !important}.nav-btn{position:relative;font-size:var(--viking-font-size-sm, 14px) !important;color:var(--nav-link-color, var(--text-muted)) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease !important;border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0 !important;padding:0 var(--viking-space-1-5, 12px) !important;height:var(--viking-control-height, 40px) !important;line-height:var(--viking-control-height, 40px) !important;display:inline-flex !important;align-items:center !important;gap:6px !important;text-decoration:none;background:rgba(0,0,0,0);border:none;cursor:pointer;overflow:hidden;flex-shrink:1;min-width:0;white-space:nowrap}.nav-btn[hidden],.mobile-nav-btn[hidden]{display:none !important}.nav-btn .material-icons,.nav-btn svg,.nav-btn .viking-icon,.nav-btn [data-viking-icon],.mobile-nav-btn svg,.mobile-nav-btn [data-viking-icon],.auth-btn svg,.auth-btn [data-viking-icon],.theme-toggle-btn svg,.menu-toggle-btn svg,.navbar-search-trigger [data-viking-icon],.navbar-search-mobile-btn [data-viking-icon]{margin:0;flex-shrink:0}.nav-btn svg,.mobile-nav-btn svg,.auth-btn svg,.nav-btn [data-viking-icon] svg,.mobile-nav-btn [data-viking-icon] svg,.auth-btn [data-viking-icon] svg{width:16px;height:16px}.theme-toggle-btn svg,.menu-toggle-btn svg,.navbar-search-trigger svg,.navbar-search-mobile-btn svg,.theme-toggle-btn [data-viking-icon] svg,.menu-toggle-btn [data-viking-icon] svg,.navbar-search-trigger [data-viking-icon] svg,.navbar-search-mobile-btn [data-viking-icon] svg{width:24px;height:24px}.navbar-search-trigger [data-viking-icon] svg,.navbar-search-mobile-btn [data-viking-icon] svg{width:20px;height:20px}.nav-btn .material-icons{font-size:var(--base-font-size);width:16px;height:16px}.nav-btn::before{content:"";position:absolute;inset:auto 16px 0;height:2px;border-radius:2px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 80%, transparent), transparent);opacity:0;transform:scaleX(0.4);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.nav-btn:hover{color:var(--text-color) !important;background-color:color-mix(in srgb, var(--viking-accent) 10%, transparent) !important;transform:translateY(-1px)}.nav-btn:hover::before{opacity:1;transform:scaleX(1)}html[data-theme=light]{--nav-link-color: color-mix(in srgb, var(--viking-charcoal-900) 88%, var(--white))}html[data-theme=light] .nav-btn,html[data-theme=light] .mobile-nav-btn{color:var(--nav-link-color) !important}html[data-theme=light] .menu-toggle-btn,html[data-theme=light] .theme-toggle-btn,html[data-theme=light] .navbar-search-trigger,html[data-theme=light] .navbar-search-mobile-btn{color:var(--viking-text, var(--text-color)) !important}html[data-theme=light] .nav-btn:hover,html[data-theme=light] .mobile-nav-btn:hover{background-color:color-mix(in srgb, var(--viking-accent) 10%, transparent) !important}.nav-btn.active{color:var(--text-color) !important;background-color:color-mix(in srgb, var(--viking-accent) 14%, transparent) !important;box-shadow:inset 0 -2px 0 0 var(--viking-accent),0 0 12px color-mix(in srgb, var(--viking-accent) 18%, transparent) !important}.nav-btn.active::before{opacity:1;transform:scaleX(1)}.navbar .theme-toggle-btn,.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);padding:0;margin:0;border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.navbar .theme-toggle-btn:hover,.theme-toggle-btn:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.navbar .theme-toggle-btn:focus-visible,.theme-toggle-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.navbar .theme-toggle-btn,.theme-toggle-btn{display:inline-grid;place-items:center;padding:0;border-color:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 32%, var(--viking-border-strong, var(--border)));background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 8%, var(--viking-surface, var(--card-bg)));color:var(--viking-accent-strong, var(--viking-ring))}.navbar .theme-toggle-btn svg,.navbar .theme-toggle-btn viking-icon,.theme-toggle-btn svg,.theme-toggle-btn viking-icon{display:block;width:24px;height:24px}.navbar .theme-toggle-btn:hover,.theme-toggle-btn:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background-color:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 14%, var(--viking-surface, var(--card-bg)));color:var(--viking-accent-strong, var(--viking-ring));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.navbar .theme-toggle-btn:active,.theme-toggle-btn:active{transform:scale(var(--viking-state-active-scale, 0.98))}.navbar .theme-toggle-btn .material-icons,.navbar .theme-toggle-btn svg,.theme-toggle-btn .material-icons,.theme-toggle-btn svg{width:24px;height:24px}.menu-toggle-btn,viking-button.menu-toggle-btn,viking-button-wc.menu-toggle-btn,#navbar-search-trigger{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);padding:0;margin:0;border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.menu-toggle-btn:hover,viking-button.menu-toggle-btn:hover,viking-button-wc.menu-toggle-btn:hover,#navbar-search-trigger:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.menu-toggle-btn:focus-visible,viking-button.menu-toggle-btn:focus-visible,viking-button-wc.menu-toggle-btn:focus-visible,#navbar-search-trigger:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.menu-toggle-btn,viking-button.menu-toggle-btn,viking-button-wc.menu-toggle-btn,#navbar-search-trigger{display:inline-grid !important;place-items:center;padding:0}.menu-toggle-btn svg,.menu-toggle-btn viking-icon,viking-button.menu-toggle-btn svg,viking-button.menu-toggle-btn viking-icon,viking-button-wc.menu-toggle-btn svg,viking-button-wc.menu-toggle-btn viking-icon,#navbar-search-trigger svg,#navbar-search-trigger viking-icon{display:block;width:24px;height:24px}.navbar-search viking-button-wc::part(control),viking-button-wc.menu-toggle-btn::part(control),.navbar-right viking-theme-toggle-wc::part(control){display:inline-grid;place-items:center;width:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);max-width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-height:var(--viking-control-height, 40px);padding:0;line-height:1;box-sizing:border-box}.navbar-search viking-button-wc [data-viking-icon],viking-button-wc.menu-toggle-btn [data-viking-icon]{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md, 20px);height:var(--viking-icon-size-md, 20px);line-height:1}.menu-toggle-btn[aria-expanded=true]{border-color:var(--viking-accent, var(--viking-accent));color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent));box-shadow:var(--viking-shadow-sm, var(--shadow-sm))}.divider{height:24px;width:0px;background-color:var(--border);margin:0 8px}.auth-btn .material-icons{margin:0;font-size:var(--viking-font-size-sm, 14px);width:16px;height:16px}.auth-btn,a.auth-btn,button.auth-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:var(--viking-space-1, 8px) !important;min-width:var(--viking-btn-min-width, 120px) !important;height:var(--viking-control-height, 40px) !important;min-height:var(--viking-control-height, 40px) !important;padding:0 var(--viking-space-2, 16px) !important;border-radius:var(--viking-radius, 8px) !important;letter-spacing:var(--viking-letter-spacing-caps, 0.08em) !important;text-transform:uppercase !important;white-space:nowrap !important;line-height:1 !important}.auth-btn::part(control),viking-button.auth-btn::part(control),viking-button.auth-btn viking-button-wc::part(control),viking-button.auth-btn viking-button-wc,viking-button-wc.auth-btn::part(control),.auth-btn.viking-full::part(control){display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:var(--viking-space-1, 8px) !important;min-width:var(--viking-btn-min-width, 120px) !important;min-height:var(--viking-control-height, 40px) !important;height:var(--viking-control-height, 40px) !important;padding:0 var(--viking-space-2, 16px) !important;box-sizing:border-box !important}.auth-signout-btn{background:rgba(0,0,0,0) !important;color:var(--text-muted) !important;font-weight:600 !important;border-radius:var(--viking-radius, 8px) !important;padding:0 var(--viking-space-2, 16px) !important;border:1px solid var(--border) !important;height:var(--viking-control-height, 40px) !important;line-height:var(--viking-control-height, 40px) !important;display:inline-flex !important;align-items:center !important;gap:var(--viking-space-1, 8px) !important;white-space:nowrap !important;text-transform:uppercase !important;letter-spacing:.08em !important;cursor:pointer;transition:var(--viking-transition-interactive) !important}.auth-signout-btn[hidden]{display:none !important}.auth-btn [data-viking-icon],.auth-btn [data-viking-icon] svg,.auth-signout-btn [data-viking-icon],.auth-signout-btn [data-viking-icon] svg{margin:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;width:16px !important;height:16px !important;line-height:1 !important}.auth-signout-btn:hover{color:var(--text-color) !important;border-color:var(--viking-crimson-500) !important;background:color-mix(in srgb, var(--viking-crimson-500) 10%, transparent) !important}.mobile-menu:not(.open){display:none !important}.mobile-menu{display:none;flex-direction:column;position:absolute;top:var(--viking-navbar-height, var(--navbar-height, 64px));left:0;right:0;width:auto;max-height:calc(100dvh - var(--viking-navbar-height, var(--navbar-height, 64px)));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background-color:var(--viking-surface, var(--card-bg));box-shadow:var(--viking-shadow-md, var(--shadow-md));border-bottom:1px solid var(--viking-border, var(--border));padding:var(--viking-space-3, 24px);padding-bottom:calc(var(--viking-space-3, 24px) + env(safe-area-inset-bottom, 0px));box-sizing:border-box;z-index:49;gap:var(--viking-space-half, 4px)}.mobile-menu viking-button,.mobile-menu viking-button-wc,.mobile-menu .mobile-auth-btn{width:100%}.mobile-menu .mobile-auth-btn,.mobile-menu .auth-signout-btn,.mobile-menu .mobile-auth-btn::part(control),.mobile-menu .mobile-auth-btn.auth-btn::part(control),.mobile-menu .mobile-auth-btn.auth-signout-btn::part(control){flex-shrink:0;width:100%}.mobile-menu{transform:translateY(-10px);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(0.16, 1, 0.3, 1),opacity .25s ease}.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto;display:flex}.mobile-nav-btn{width:100% !important;justify-content:flex-start !important;font-size:var(--viking-font-size-sm, 14px) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;color:var(--viking-text-muted, var(--text-muted)) !important;min-height:44px !important;border-radius:var(--viking-radius, 8px) !important;padding:0 var(--viking-space-2, 16px) !important;display:inline-flex !important;align-items:center !important;gap:var(--viking-space-1, 8px) !important;text-decoration:none;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);transition:var(--viking-transition-interactive, all 0.25s ease)}.mobile-nav-btn .material-icons{margin:0;font-size:20px;width:20px;height:20px}.mobile-nav-btn:hover{color:var(--viking-text, var(--text-color)) !important;background-color:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 8%, transparent)) !important}.mobile-nav-btn.active{color:var(--viking-text, var(--text-color)) !important;background-color:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;box-shadow:inset 0 0 0 1px var(--viking-accent-strong, var(--viking-ring)) !important}.mobile-divider{height:1px;background-color:var(--viking-border, var(--border));margin:var(--viking-space-2, 16px) 0 var(--viking-space-1, 8px);flex-shrink:0}.mobile-menu .mobile-auth-btn{margin-top:var(--viking-space-half, 4px)}.mobile-menu a.mobile-auth-btn:not(.auth-signout-btn),.mobile-menu a.mobile-auth-btn:not(.auth-signout-btn) span,.mobile-menu a.mobile-auth-btn:not(.auth-signout-btn) svg{color:var(--viking-white-pure, var(--viking-white-pure)) !important}.navbar-link{font-size:1rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;transition:var(--transition-smooth)}.navbar-link:hover{color:var(--text-color)}.glowing-icon-sm{color:var(--color-primary, var(--primary-text-color, var(--viking-accent))) !important;transition:all .3s ease}.navbar-brand.glowing-icon-sm,.navbar-brand:has(.glowing-icon-sm){filter:drop-shadow(0 0 6px color-mix(in srgb, var(--color-primary) 60%, transparent))}.navbar-brand.glowing-icon-sm:hover,.navbar-brand:has(.glowing-icon-sm):hover{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--color-primary) 90%, transparent))}.loader-logo.glowing-icon-sm,:not(.navbar-brand)>.glowing-icon-sm{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--color-primary) 60%, transparent))}.loader-logo.glowing-icon-sm:hover,:not(.navbar-brand)>.glowing-icon-sm:hover{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--color-primary) 90%, transparent))}.navbar-search{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto;justify-content:center;max-width:none;min-width:0;min-height:var(--viking-control-height, 40px);margin:0;line-height:0}.navbar-search viking-button,.navbar-search viking-button-wc{flex-shrink:0}.algolia-autocomplete-host{display:none;font-family:var(--viking-font-family, inherit);--aa-font-family: var(--viking-font-family, inherit);--aa-font-size: var(--viking-font-size-sm, 14px);--aa-spacing: var(--viking-space-1, 8px);--aa-spacing-half: var(--viking-space-half, 4px);--aa-panel-max-height: 288px;--aa-panel-shadow: var(--viking-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.25));--aa-icon-size: 20px;--aa-icon-stroke-width: 2px;--aa-primary-color-rgb: 20, 163, 168;--aa-muted-color-rgb: 148, 163, 184}.algolia-autocomplete-host.algolia-autocomplete-open{display:flex;align-items:flex-start;justify-content:center;position:fixed;inset:0;z-index:var(--viking-z-overlay, 10001);padding:10vh var(--viking-space-2, 16px) var(--viking-space-2, 16px);background:var(--viking-overlay-backdrop, rgba(0, 0, 0, 0.55));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;box-shadow:none;max-width:none;width:auto;min-width:0}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Autocomplete,.algolia-autocomplete-host.algolia-autocomplete-open .aa-DetachedContainer{max-width:600px;width:100%;border:1px solid var(--viking-border-strong, var(--viking-border, var(--border)));border-radius:var(--viking-radius-lg, 12px);background:var(--viking-surface, var(--card-bg));box-shadow:var(--viking-shadow-lg, var(--shadow-md));overflow:hidden;font-family:var(--viking-font-family, inherit);color:var(--viking-text, var(--text-color));position:relative}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Autocomplete::before,.algolia-autocomplete-host.algolia-autocomplete-open .aa-DetachedContainer::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) 22%, transparent), transparent);pointer-events:none;z-index:1}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form,.algolia-autocomplete-host.algolia-autocomplete-open form{display:flex;align-items:center;gap:var(--viking-space-1, 8px);min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, 16px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form:hover,.algolia-autocomplete-host.algolia-autocomplete-open form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--border)));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form,.algolia-autocomplete-host.algolia-autocomplete-open form{margin:0 !important;border:0 !important;border-bottom:1px solid var(--viking-border, var(--border)) !important;border-radius:0 !important;box-shadow:none !important;background:color-mix(in srgb, var(--viking-bg, var(--bg-color)) 20%, transparent)}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form:focus-within,.algolia-autocomplete-host.algolia-autocomplete-open form:focus-within{border-bottom-color:var(--viking-accent, var(--viking-accent)) !important;box-shadow:inset 0 -2px 0 var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;outline:none}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Panel{position:static;margin:0;border:0;border-radius:0;box-shadow:none;background:rgba(0,0,0,0);max-height:50vh;padding:var(--viking-space-2, 16px)}.algolia-autocomplete-host.algolia-autocomplete-open::after{content:"⌘K toggle · Esc close";display:block;max-width:600px;width:100%;margin:0 auto;padding:var(--viking-space-1, 8px) var(--viking-space-2, 16px);border:1px solid var(--viking-border, var(--border));border-top:1px solid var(--viking-border, var(--border));border-radius:0 0 var(--viking-radius-lg, 12px) var(--viking-radius-lg, 12px);background:var(--viking-surface, var(--card-bg));font-size:calc(var(--viking-font-size, 16px)*.85);color:var(--viking-text-muted, var(--text-muted));text-align:center;letter-spacing:.01em}.navbar-search-trigger,.navbar-search-mobile-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);padding:0;margin:0;border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.navbar-search-trigger:hover,.navbar-search-mobile-btn:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.navbar-search-trigger:focus-visible,.navbar-search-mobile-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.navbar-search-trigger,.navbar-search-mobile-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);padding:0;flex-shrink:0;align-self:center}.algolia-autocomplete-host .aa-Autocomplete,.algolia-autocomplete-host .aa-DetachedContainer{width:100%}.algolia-autocomplete-host .aa-Form,.algolia-autocomplete-host form{display:flex;align-items:center;gap:var(--viking-space-1, 8px);min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, 16px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.algolia-autocomplete-host .aa-Form:hover,.algolia-autocomplete-host form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--border)));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.algolia-autocomplete-host .aa-Form,.algolia-autocomplete-host form{margin:0 !important}.algolia-autocomplete-host .aa-Form:focus-within,.algolia-autocomplete-host form:focus-within{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.algolia-autocomplete-host .aa-InputWrapper{display:flex;align-items:center;flex:1;min-width:0;gap:var(--viking-space-1, 8px);border:0 !important;box-shadow:none !important;background:rgba(0,0,0,0) !important;padding:0 !important}.algolia-autocomplete-host .aa-InputWrapperPrefix,.algolia-autocomplete-host .aa-InputWrapperSuffix{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;color:var(--viking-accent-strong, var(--viking-ring));border:0 !important;box-shadow:none !important;background:rgba(0,0,0,0) !important;padding:0 !important;line-height:1}.algolia-autocomplete-host .aa-SubmitButton,.algolia-autocomplete-host .aa-DetachedSearchButton,.algolia-autocomplete-host .aa-Label,.algolia-autocomplete-host .aa-PoweredBy{display:none !important}.algolia-autocomplete-host .aa-InputWrapperPrefix svg,.algolia-autocomplete-host .aa-InputWrapperSuffix svg,.algolia-autocomplete-host .aa-InputWrapperPrefix img,.algolia-autocomplete-host .aa-InputWrapperSuffix img{width:20px !important;height:20px !important;max-width:20px !important;max-height:20px !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;fill:currentColor !important;stroke:currentColor !important}.algolia-autocomplete-host .aa-Input,.algolia-autocomplete-host input{flex:1;width:100%;min-width:0;min-height:0 !important;height:auto;padding:0 !important;border:0 !important;border-radius:0 !important;outline:none !important;background:rgba(0,0,0,0) !important;color:var(--viking-text, var(--text-color));font:inherit;font-size:var(--viking-font-size, 16px);line-height:var(--viking-line-height-normal, 1.5);box-shadow:none !important}.algolia-autocomplete-host .aa-Input::placeholder,.algolia-autocomplete-host input::placeholder{color:var(--viking-text-muted, var(--text-muted))}.algolia-autocomplete-host .aa-Panel{margin:0;padding:var(--viking-space-1, 8px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-md, var(--shadow-md));max-height:288px;overflow:auto;font-family:var(--viking-font-family, inherit);position:absolute;top:calc(100% + var(--viking-space-1, 8px));left:0;right:0;z-index:var(--viking-z-overlay, 10001)}.algolia-autocomplete-host .aa-PanelLayout,.algolia-autocomplete-host .aa-Source{margin:0}.algolia-autocomplete-host .aa-List{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.algolia-autocomplete-host .aa-SourceHeader{display:flex;align-items:center;gap:var(--viking-space-1, 8px);padding:var(--viking-space-1, 8px) var(--viking-space-1, 8px) 0;margin:0}.algolia-autocomplete-host .aa-SourceHeaderTitle{font-size:calc(var(--viking-font-size-sm, 14px)*.85);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--viking-text-muted, var(--text-muted))}.algolia-autocomplete-host .aa-SourceHeaderLine{flex:1;height:1px;background:var(--viking-border, var(--border))}.algolia-autocomplete-host .aa-Item{border-radius:calc(var(--viking-radius, 8px)/1.5);padding:0;margin:0}.algolia-autocomplete-host .aa-ItemLink,.algolia-autocomplete-host .aa-ItemWrapper{display:flex;align-items:flex-start;gap:var(--viking-space-1-5, 12px);min-height:var(--viking-control-height-sm, 36px);padding:var(--viking-space-1-5, 12px);border-radius:calc(var(--viking-radius, 8px)/1.5);color:var(--viking-text, var(--text-color));text-decoration:none;transition:var(--viking-transition-interactive, background-color 0.2s ease)}.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemLink,.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemWrapper,.algolia-autocomplete-host .aa-Item:hover .aa-ItemLink,.algolia-autocomplete-host .aa-Item:hover .aa-ItemWrapper{background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent))}.algolia-autocomplete-host .aa-ItemContent{display:flex;align-items:flex-start;gap:var(--viking-space-1-5, 12px);min-width:0;flex:1}.algolia-autocomplete-host .aa-ItemIcon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-space-5, 40px);height:var(--viking-space-5, 40px);margin-top:2px;border-radius:var(--viking-radius, 8px);background:var(--viking-surface-alt, var(--viking-charcoal-700)) !important;box-shadow:none !important;color:var(--viking-accent-strong, var(--viking-ring));overflow:hidden}.algolia-autocomplete-host .aa-ItemIcon img,.algolia-autocomplete-host .aa-ItemIcon svg{width:20px;height:20px;object-fit:contain}.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemIcon,.algolia-autocomplete-host .aa-Item:hover .aa-ItemIcon{color:var(--viking-accent, var(--viking-accent))}.algolia-autocomplete-host .aa-ItemContentBody{display:flex;flex-direction:column;gap:calc(var(--viking-space-1, 8px)/2);min-width:0;flex:1}.algolia-autocomplete-host .aa-ItemContentTitle{font-size:var(--viking-font-size, 16px);font-weight:600;color:var(--viking-text, var(--text-color));line-height:1.3}.algolia-autocomplete-host .aa-ItemContentDescription{font-size:var(--viking-font-size-sm, 14px);color:var(--viking-text-muted, var(--text-muted));line-height:var(--viking-line-height-relaxed, 1.625);white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-overflow:ellipsis}.algolia-autocomplete-host mark,.algolia-autocomplete-host .aa-ItemContentTitle mark,.algolia-autocomplete-host .aa-ItemContentDescription mark{background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 20%, transparent);color:var(--viking-accent, var(--viking-accent));border-radius:0;padding:0;font-weight:600}.algolia-autocomplete-host .aa-ItemActions,.algolia-autocomplete-host .aa-GradientBottom,.algolia-autocomplete-host .aa-GradientTop{display:none}.aa-DetachedOverlay{background:var(--viking-overlay-backdrop, rgba(0, 0, 0, 0.55)) !important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.aa-DetachedContainer{font-family:var(--viking-font-family, inherit);border:1px solid var(--viking-border, var(--border)) !important;border-radius:var(--viking-radius-lg, 12px) !important;background:var(--viking-surface, var(--card-bg)) !important;box-shadow:var(--viking-shadow-lg, var(--shadow-md)) !important}.aa-DetachedContainer .aa-Form,.aa-DetachedContainer form{display:flex;align-items:center;gap:var(--viking-space-1, 8px);min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, 16px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.aa-DetachedContainer .aa-Form:hover,.aa-DetachedContainer form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--border)));box-shadow:var(--viking-shadow-md, var(--shadow-md))}.aa-DetachedContainer .aa-Form,.aa-DetachedContainer form{margin:var(--viking-space-1, 8px) !important;border-bottom:1px solid var(--viking-border, var(--border)) !important;border-radius:var(--viking-radius, 8px) var(--viking-radius, 8px) 0 0 !important;box-shadow:none !important}.aa-DetachedContainer .aa-Panel{margin:0;padding:var(--viking-space-1, 8px);background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-md, var(--shadow-md));max-height:288px;overflow:auto;font-family:var(--viking-font-family, inherit);position:static !important;border:0 !important;box-shadow:none !important;max-height:50vh !important}@media(min-width: 768px){.navbar-content{position:relative}.navbar-center.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);z-index:1;pointer-events:auto;max-width:min(100% - 22rem,42rem);overflow:hidden;justify-content:center}.navbar-left{position:relative;z-index:2;flex-shrink:0}.navbar-right{position:relative;z-index:2;flex-shrink:0;min-width:12.5rem;pointer-events:none}.navbar-right>*{pointer-events:auto}.desktop-nav{display:flex}.desktop-auth{display:flex}.menu-toggle-btn,viking-button.menu-toggle-btn{display:none !important}.mobile-menu:not(.open){display:none !important}.mobile-menu.open{display:none !important}.navbar-right{gap:var(--viking-space-2, 16px)}.desktop-nav{gap:var(--viking-space-1, 8px)}}@container viking-navbar (min-width: 880px) and (max-width: 1120px){.nav-btn{padding:0 var(--viking-space-1, 8px) !important;gap:0 !important}.nav-btn>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}}@container viking-navbar (min-width: 1121px){.nav-btn{padding:0 var(--viking-space-2, 16px) !important;gap:8px !important;font-size:var(--viking-font-size, 16px) !important;letter-spacing:.08em !important}}.viking-footer,.mega-footer{background-color:var(--viking-surface, var(--color-surface));border-top:1px solid var(--viking-border-strong, var(--border-layout));padding:calc(var(--viking-space-2)*2) var(--viking-space-2);font-family:var(--viking-font-family);color:var(--viking-text-muted)}.viking-footer-content,.footer-content{max-width:var(--container-max-width, 1260px);margin:0 auto}.viking-footer-directory,.footer-directory{display:grid;grid-template-columns:1fr;gap:calc(var(--viking-space-2)*1.75);padding-bottom:calc(var(--viking-space-2)*2);border-bottom:1px solid var(--viking-border-strong, var(--border-layout))}@media(min-width: 600px){.viking-footer-directory,.footer-directory{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 900px){.viking-footer-directory,.footer-directory{grid-template-columns:repeat(4, 1fr)}}.viking-footer-column-title,.footer-column-title{font-size:var(--viking-font-size);font-weight:700;color:var(--viking-text);margin:0 0 var(--viking-space-2);letter-spacing:.05em}.viking-footer-list,.footer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-footer-list a,.footer-list a{font-size:var(--viking-font-size);color:var(--viking-text-muted);text-decoration:none !important;border-bottom:1px solid rgba(0,0,0,0);transition:color .2s ease,border-color .2s ease}.viking-footer-list a:hover,.footer-list a:hover{color:var(--viking-text);border-bottom-color:var(--viking-text)}.viking-footer-bottom,.footer-bottom{padding-top:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2)}.viking-footer-badges-top,.footer-badges-top{display:flex;justify-content:center;margin-bottom:var(--viking-space-2)}.viking-footer-compliance-row,.footer-compliance-row{display:flex;justify-content:center;align-items:center}.viking-copyright-info,.copyright-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--viking-space-2);font-size:var(--viking-font-size);color:var(--viking-text-muted);text-align:center}.viking-copyright-info a,.copyright-info a{color:var(--viking-text-muted);text-decoration:none !important;border-bottom:1px solid rgba(0,0,0,0);transition:color .2s ease,border-color .2s ease}.viking-copyright-info a:hover,.copyright-info a:hover{color:var(--viking-text);border-bottom-color:var(--viking-text)}.viking-usa-badge,.usa-badge{display:inline-flex;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-pill);background-color:rgba(0,0,0,0);border:1px solid var(--viking-border);cursor:default;transition:var(--viking-transition-colors);font-size:var(--viking-font-size);font-weight:500;color:var(--viking-text-muted)}.viking-usa-badge:hover,.usa-badge:hover{background-color:color-mix(in srgb, var(--viking-surface) 95%, var(--viking-accent) 5%);border-color:var(--viking-border-strong);color:var(--viking-text);box-shadow:var(--viking-shadow-sm)}.viking-usa-badge-icon,.usa-badge-icon{font-size:1.1em;line-height:1;transition:transform .3s cubic-bezier(0.34, 1.56, 0.64, 1)}.viking-usa-badge:hover .viking-usa-badge-icon,.usa-badge:hover .usa-badge-icon{transform:scale(1.15) rotate(-5deg)}.viking-whitepaper-cta{position:relative;max-width:720px;margin:0 auto;padding:var(--viking-space-4) var(--viking-space-3);border-radius:var(--viking-radius-xl);overflow:hidden;border:1px solid color-mix(in srgb, var(--viking-accent) 22%, transparent);background:color-mix(in srgb, var(--viking-accent) 6%, var(--viking-surface));text-align:center;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-colors)}@media(min-width: 768px){.viking-whitepaper-cta{padding:var(--viking-space-5) var(--viking-space-4)}}.viking-whitepaper-cta-bg{position:absolute;inset:0;pointer-events:none;opacity:.5}.viking-whitepaper-polars-grid{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;gap:var(--viking-space-half);padding:0 var(--viking-space-3);mask-image:linear-gradient(to top, black 30%, transparent 85%)}.viking-bar,.viking-whitepaper-polars-bar{display:block;flex:1;max-width:28px;height:calc(var(--viking-bar-height, 50)*1%);background:var(--viking-accent);border-radius:var(--viking-radius-xs) var(--viking-radius-xs) 0 0;opacity:.75}.viking-whitepaper-polars-bar{animation:vikingWhitepaperBarPulse 4s var(--viking-ease-default) infinite}.viking-whitepaper-polars-bar:nth-child(1){animation-delay:0.12s}.viking-whitepaper-polars-bar:nth-child(2){animation-delay:0.24s}.viking-whitepaper-polars-bar:nth-child(3){animation-delay:0.36s}.viking-whitepaper-polars-bar:nth-child(4){animation-delay:0.48s}.viking-whitepaper-polars-bar:nth-child(5){animation-delay:0.6s}.viking-whitepaper-polars-bar:nth-child(6){animation-delay:0.72s}.viking-whitepaper-polars-bar:nth-child(7){animation-delay:0.84s}.viking-whitepaper-polars-bar:nth-child(8){animation-delay:0.96s}.viking-whitepaper-polars-bar:nth-child(9){animation-delay:1.08s}.viking-whitepaper-polars-bar:nth-child(10){animation-delay:1.2s}.viking-whitepaper-polars-bar:nth-child(11){animation-delay:1.32s}.viking-whitepaper-polars-bar:nth-child(12){animation-delay:1.44s}@keyframes vikingWhitepaperBarPulse{0%,100%{opacity:.4;transform:scaleY(1)}50%{opacity:.75;transform:scaleY(1.06)}}@media(prefers-reduced-motion: reduce){.viking-whitepaper-polars-bar{animation:none;opacity:.5}}.viking-whitepaper-sparkline{position:absolute;bottom:0;left:0;width:100%;height:40%;opacity:.65}.viking-whitepaper-cta-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-1-5)}.viking-whitepaper-tag{font-size:var(--viking-font-size-ui);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);color:var(--viking-accent);text-transform:uppercase}.viking-whitepaper-title{font-size:clamp(1.375rem,3vw,1.75rem);font-weight:var(--viking-font-weight-bold);margin:0;text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-whitepaper-description{color:var(--viking-text-muted);margin:0;max-width:30rem;line-height:var(--viking-line-height-relaxed);font-size:var(--viking-font-size)}.viking-whitepaper-btn{margin-top:var(--viking-space-1);color:var(--viking-accent-content)}.viking-whitepaper-btn:hover,.viking-whitepaper-btn:focus-visible{color:var(--viking-accent-content);border-bottom-color:rgba(0,0,0,0)}body{font-size:var(--base-font-size);color:var(--text-color);background-color:var(--bg-color)}h1,h2,h3,h4,h5,h6{letter-spacing:var(--header-letter-spacing)}.cta-group{display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--viking-space-2);align-items:stretch;width:100%}@media(min-width: 600px){.cta-group{flex-direction:row;flex-wrap:nowrap;align-items:center;width:auto;align-self:flex-start}}a.cta-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;width:100%;flex:1 1 auto;min-width:0;box-sizing:border-box}@media(min-width: 600px){a.cta-button{width:auto;flex:0 0 auto}}a.cta-button .cta-content{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:var(--viking-line-height-none)}a.cta-button .cta-icon,a.cta-button svg.cta-icon{flex:0 0 auto;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:var(--viking-line-height-none);margin:0;padding:0;overflow:visible;vertical-align:middle}a.cta-button .cta-label{white-space:normal;line-height:var(--viking-line-height-snug)}@media(min-width: 480px){a.cta-button .cta-label{white-space:nowrap}}pre[class*=language-]{background-color:var(--viking-charcoal-900) !important;border:1px solid var(--border);border-radius:var(--border-radius-md);padding:var(--space-3);margin:var(--space-4) 0;box-shadow:none;tab-size:4}code[class*=language-]{font-size:1rem;line-height:1.65;color:var(--white) !important}*,::before,::after{box-sizing:border-box}pre,pre code{white-space:pre-wrap !important;word-wrap:break-word !important;word-break:break-word !important;max-width:100%}html,body{height:100%;margin:0;padding:0;overflow-x:hidden;max-width:100vw}app-root{display:flex;flex-direction:column;min-height:100vh}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--viking-font-family);font-size:var(--base-font-size, 16px);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}html[data-theme=light] body{background-color:var(--bg-color)}p{margin-bottom:var(--space-3)}h1,h2,h3,h4,h5,h6{line-height:1.25;margin-top:var(--space-4);margin-bottom:var(--space-2);font-weight:600;letter-spacing:var(--header-letter-spacing)}h1{font-size:clamp(1.75rem,5vw,2.5rem)}h2{font-size:clamp(1.5rem,4vw,2rem)}h3{font-size:1.5rem;letter-spacing:.05em;text-transform:uppercase}ul,ol{margin-bottom:var(--space-3);padding-left:var(--space-3)}li{margin-bottom:var(--space-1)}a:not(.viking-button):not(.viking-btn):not(.cta-button):not(.nav-item):not(.nav-btn):not(.auth-btn):not(.mobile-auth-btn):not(.mobile-nav-btn):not(.integration-link):not(.integration-logo-item){color:var(--link-color);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(0,0,0,0);box-shadow:none !important;text-shadow:none !important;transition:border-bottom-color .2s ease,color .2s ease}a:not(.viking-button):not(.viking-btn):not(.cta-button):not(.nav-item):not(.nav-btn):not(.auth-btn):not(.mobile-auth-btn):not(.mobile-nav-btn):not(.integration-link):not(.integration-logo-item):hover,a:not(.viking-button):not(.viking-btn):not(.cta-button):not(.nav-item):not(.nav-btn):not(.auth-btn):not(.mobile-auth-btn):not(.mobile-nav-btn):not(.integration-link):not(.integration-logo-item):focus-visible{color:var(--link-hover-color);text-decoration:none;border-bottom-color:var(--link-hover-color)}:not(pre)>code{background-color:var(--color-dark-grey-btn-bg);padding:.1em .35em;border-radius:4px;font-size:.875em;line-height:inherit;color:var(--text-muted);white-space:normal;vertical-align:baseline}app-page{display:block;margin-top:24px}main.main{padding:var(--viking-space-2)}@media(min-width: 481px){main.main{padding:var(--viking-space-8) var(--viking-space-3)}}@media(min-width: 768px){main.main{padding:var(--viking-space-9) var(--viking-space-4)}}.landing-container-global{position:relative;min-height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;margin-top:-64px;padding-top:72px;width:100%;box-sizing:border-box}@media(min-width: 768px){.landing-container-global{padding:32px;padding-top:72px}}.dashboard-container{display:flex;flex-direction:column;flex:1;justify-content:flex-start;padding-top:16px;padding-bottom:16px;width:100%;box-sizing:border-box}@media(min-width: 768px){.dashboard-container{padding-top:72px;padding-bottom:72px}}.page-content{position:relative;z-index:10;width:100%;max-width:var(--container-max-width);padding:16px;margin:0 auto;box-sizing:border-box;background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}@media(min-width: 768px){.page-content{padding:56px}}.dashboard-content-area{flex:1;padding:var(--viking-space-3, 24px) 0 var(--viking-space-4, 32px);position:relative;z-index:1;box-sizing:border-box}@media(min-width: 768px){.dashboard-content-area{padding-top:var(--viking-space-4, 32px)}}.content-wrapper{max-width:var(--container-max-width, 1260px);margin:0 auto;width:100%;display:flex;flex-direction:column;gap:var(--grid-gap)}.content-wrapper.full-width{max-width:100%}#global-error-toast{position:fixed;bottom:24px;right:24px;z-index:99999;font-family:var(--viking-font-family);max-width:400px;animation:slideIn .3s cubic-bezier(0.16, 1, 0.3, 1) forwards;--toast-bg: var(--color-surface);--toast-border: 1px solid var(--color-error);--toast-text: var(--color-error);--toast-title: var(--color-on-surface);--toast-icon: var(--color-error);--toast-close: var(--text-muted);--toast-close-hover: var(--color-error);--toast-shadow: var(--shadow-hover)}html[data-theme=light] #global-error-toast{--toast-bg: var(--color-surface);--toast-border: 1px solid var(--color-error);--toast-text: var(--color-error);--toast-title: var(--color-on-surface);--toast-icon: var(--color-error);--toast-close: var(--text-muted);--toast-close-hover: var(--color-error);--toast-shadow: var(--shadow-hover)}#global-error-toast .toast-container{background:var(--toast-bg);border:var(--toast-border);color:var(--toast-text);padding:16px 16px;border-radius:var(--border-radius-md);box-shadow:var(--toast-shadow);display:flex;align-items:center;gap:8px;transition:all .3s ease}#global-error-toast .toast-icon{width:16px;height:16px;flex-shrink:0;color:var(--toast-icon)}#global-error-toast .toast-content{flex-grow:1}#global-error-toast .toast-title{display:block;font-size:var(--ui-font-size, 14px);font-weight:600;margin-bottom:0px;color:var(--toast-title)}#global-error-toast .toast-message{font-size:var(--base-font-size, 16px);opacity:.9;line-height:1.4}#global-error-toast .toast-close{background:none;border:none;color:var(--toast-close);cursor:pointer;font-size:20px;line-height:1;padding:0 8px;margin-left:8px;opacity:.7;transition:opacity .2s,color .2s}#global-error-toast .toast-close:hover{opacity:1;color:var(--toast-close-hover)}@keyframes slideIn{from{transform:translateY(24px) scale(0.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.status-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;background:var(--viking-surface);border:1px solid var(--border);border-radius:var(--border-radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-sm);margin-top:32px}@media(min-width: 601px){.status-error-state{padding:72px 32px}}.status-error-state .error-state-icon{font-size:72px;width:72px;height:72px;color:var(--text-muted);margin-bottom:24px;opacity:.6}.status-error-state .error-title{margin:0 0 8px;font-size:1.5rem;font-weight:700;color:var(--text-color);letter-spacing:-0.01em}.status-error-state .error-subtitle{margin:0 0 32px;font-size:1rem;line-height:1.6;color:var(--text-muted);max-width:416px}.status-error-state .retry-btn{font-weight:700 !important;padding:8px 24px !important;border-radius:var(--border-radius-sm) !important;box-shadow:var(--shadow-sm) !important;transition:all .2s ease !important}.status-error-state .retry-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md) !important;opacity:.95}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid color-mix(in srgb, var(--viking-white) 30%, transparent);border-radius:50%;border-top-color:currentColor;animation:spin .8s linear infinite;vertical-align:middle;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.hud-header,.panel-header,.filter-bar,.telemetry-bar,.video-flat-info,.sidebar-brand,.sidebar-footer,.dashboard-sidebar,.vuln-profile-header,.page-content:not([style*=border]){border-radius:0 !important}.hud-header{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:16px;border-bottom:1px solid var(--border-layout);margin-bottom:24px;flex-wrap:wrap;gap:16px}.hud-brand{display:flex;align-items:center;gap:16px}.hud-title{font-family:var(--viking-font-family-mono);font-size:1.25rem;font-weight:800;letter-spacing:.1em;margin:0;color:var(--text-color);text-transform:uppercase}.hud-subtitle{font-size:1rem;color:var(--text-muted);margin:8px 0 0 0;font-family:var(--viking-font-family-mono)}.grecaptcha-badge{visibility:hidden !important}.grecaptcha-bubble-holder,div.grecaptcha-bubble-holder,#recaptcha-container,#firebase-recaptcha-container,iframe[src*=recaptcha],iframe[src*="google.com/recaptcha"],body>div[style*=z-index]:has(iframe[src*=recaptcha]),body>div[style*=z-index]:has(iframe[src*="google.com/recaptcha"]),body>div:has(iframe[src*=recaptcha]),body>div:has(iframe[src*="google.com/recaptcha"]),body>div:has(iframe[title*=recaptcha]),body>div:has(iframe[title*=reCAPTCHA]),div[style*=z-index]:has(iframe[src*=recaptcha]),div[style*=z-index]:has(iframe[src*="google.com/recaptcha"]){z-index:2000000000 !important}.section-tag-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.section-tag{font-family:var(--viking-font-family-mono);font-size:1rem;font-weight:800;color:var(--color-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:0;display:inline-block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--viking-radius-pill, 999px)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-container)}.dashboard-page-container{display:block;width:100%;min-height:calc(100vh - var(--navbar-height, 64px));background-color:var(--bg-color);color:var(--text-color);overflow-x:hidden}.dashboard-layout{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;min-height:calc(100vh - var(--navbar-height, 64px))}.dashboard-main{flex:1;display:flex;flex-direction:column;min-width:0}.mobile-chapter-select{display:block;width:100%;margin-bottom:16px}.mobile-chapter-select select{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--border-radius-md);border:1px solid var(--border);background:var(--viking-surface);color:var(--text-color);font:inherit}.dashboard-sidebar{display:none}@media(min-width: 901px){.dashboard-layout{flex-direction:row}.dashboard-sidebar{display:block;width:280px;flex-shrink:0;border-right:1px solid var(--border)}.mobile-chapter-select{display:none}}.grid-layout{display:grid;grid-template-columns:1fr;gap:var(--grid-gap);width:100%}@media(min-width: 600px){.grid-layout{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 768px){.grid-layout{grid-template-columns:repeat(12, 1fr)}}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}@media(min-width: 768px){.col-span-md-1{grid-column:span 1}.col-span-md-2{grid-column:span 2}.col-span-md-3{grid-column:span 3}.col-span-md-4{grid-column:span 4}.col-span-md-5{grid-column:span 5}.col-span-md-6{grid-column:span 6}.col-span-md-7{grid-column:span 7}.col-span-md-8{grid-column:span 8}.col-span-md-9{grid-column:span 9}.col-span-md-10{grid-column:span 10}.col-span-md-11{grid-column:span 11}.col-span-md-12{grid-column:span 12}}select,select::picker(select){appearance:base-select}select{font-family:var(--viking-font-family);background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--text-muted);border-radius:var(--border-radius-md, 8px);padding:16px 16px;font-size:1rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:space-between;gap:16px}select:hover{border-color:var(--color-primary)}select::picker(select){font-family:var(--viking-font-family);background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--text-muted);border-radius:var(--border-radius-md, 8px);padding:8px;box-shadow:var(--shadow-md);box-sizing:border-box;margin:0;width:anchor-size(width)}select::picker-icon{color:var(--text-color);margin-left:16px;margin-right:0px}select option::checkmark{color:var(--color-primary)}select option{padding:8px 16px;border-radius:var(--border-radius-sm, 4px);color:var(--text-color);cursor:pointer;transition:background-color .2s ease}select option:hover,select option:focus{background-color:var(--hover-color);color:var(--color-on-primary)}select option:checked{background-color:var(--color-primary-container);color:var(--color-on-primary-container);font-weight:600}.docs-bento-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3, 24px);width:100%}@media(min-width: 768px){.docs-bento-grid{grid-template-columns:repeat(12, 1fr)}}.docs-bento-card{grid-column:span 1;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--viking-radius-xl, 24px);padding:var(--viking-space-4, 32px);display:flex;flex-direction:column;gap:var(--viking-space-3, 24px);box-shadow:var(--shadow-sm);transition:transform var(--viking-duration-normal, 0.3s) ease,border-color var(--viking-duration-normal, 0.3s) ease,box-shadow var(--viking-duration-normal, 0.3s) ease;overflow:hidden;position:relative;min-height:100%}@media(min-width: 768px){.docs-bento-card{grid-column:span 6}}.docs-bento-card:hover{transform:translateY(-4px);border-color:var(--viking-accent, var(--viking-teal-600));box-shadow:var(--shadow-hover)}.docs-bento-card .viking-icon-heading{flex-shrink:0}.docs-bento-card__body{display:flex;flex-direction:column;gap:var(--viking-space-2, 16px);min-width:0}@media(min-width: 768px){.docs-bento-full{grid-column:span 12}}@media(min-width: 768px){.docs-bento-grid[data-bento-even-pairs=true] .docs-bento-card:not(.docs-bento-full):last-child:nth-child(even){grid-column:span 12}}.landing-container{position:relative;min-height:calc(100vh - 64px);padding-block:var(--viking-space-6) var(--viking-space-4);overflow:hidden;font-family:var(--viking-font-family)}@media(min-width: 768px){.landing-container{padding-block:var(--viking-space-9) var(--viking-space-8)}}.showcase-layout{max-width:var(--viking-container-max-width, var(--container-max-width, 1260px));margin:0 auto}.hero-showcase{display:grid;grid-template-columns:1fr;gap:var(--viking-page-section-gap, var(--viking-space-6));align-items:center;margin-bottom:var(--viking-space-9);position:relative;z-index:10;overflow:hidden}@media(min-width: 960px){.hero-showcase{grid-template-columns:1fr 1.1fr;gap:var(--viking-space-8)}}.hero-showcase::before{content:"";position:absolute;inset:auto 0 -2px 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 35%, transparent), transparent);opacity:.45;pointer-events:none}.hero-copy{display:flex;flex-direction:column;gap:var(--viking-space-3);position:relative}.hero-copy::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-400) 48%, transparent), transparent);opacity:.4;pointer-events:none}.hero-copy::after{content:"";position:absolute;top:-10px;left:0;width:24px;height:16px;border-top:1px solid color-mix(in srgb, var(--viking-accent) 45%, transparent);border-left:1px solid color-mix(in srgb, var(--viking-accent) 22%, transparent);opacity:.55;pointer-events:none}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--viking-surface);border:1px solid var(--border);padding:8px 16px;border-radius:1000px;width:fit-content;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;border-color:var(--viking-border-strong)}.hero-badge::after{content:"";position:absolute;left:1px;right:1px;top:0;height:1px;background:color-mix(in srgb, var(--viking-accent) 35%, transparent);opacity:.6;pointer-events:none}.hero-badge .badge-dot{width:var(--grid-unit, 8px);height:var(--grid-unit, 8px);border-radius:50%;background-color:var(--color-primary)}.hero-badge .badge-text{font-size:1rem;font-weight:600;letter-spacing:.05em;color:var(--text-color)}.title{font-size:clamp(2.25rem,5vw,3.75rem);font-weight:900;line-height:1.05;letter-spacing:-0.02em;margin:0;color:var(--hero-title-color, var(--text-color)) !important;text-transform:uppercase}.subtitle{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--text-muted);line-height:1.6;margin:0;max-width:520px}.hero-stats{display:flex;flex-wrap:wrap;gap:10px}.hero-stat-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:1000px;background:color-mix(in srgb, var(--viking-accent) 10%, var(--color-surface));border:1px solid color-mix(in srgb, var(--viking-accent) 25%, transparent);font-size:.85rem;font-weight:600;color:var(--text-color);letter-spacing:.02em;position:relative;overflow:hidden;border-color:color-mix(in srgb, var(--viking-accent) 28%, var(--border));box-shadow:var(--shadow-sm)}.hero-stat-pill::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:color-mix(in srgb, var(--viking-accent) 40%, transparent);opacity:.45;pointer-events:none}.hero-stat-pill svg{width:18px;height:18px;color:var(--viking-accent);flex-shrink:0}.pulse-dot{animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-accent) 60%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--viking-accent) 0%, transparent)}}.hero-mockup{perspective:1200px}.mockup-window{background:var(--color-surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 24px 64px color-mix(in srgb, var(--viking-charcoal-900) 40%, transparent),0 0 0 1px color-mix(in srgb, var(--viking-accent) 15%, transparent);transform:rotateY(-4deg) rotateX(2deg);transition:transform .4s ease;position:relative}.mockup-window::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid color-mix(in srgb, var(--viking-metallic-500) 28%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white) 7%, transparent);opacity:.75;background:linear-gradient(135deg, transparent, color-mix(in srgb, var(--viking-accent) 12%, transparent) 50%, transparent)}.mockup-window::after{content:"";position:absolute;top:0;right:28px;width:30px;height:18px;border-bottom:1px solid color-mix(in srgb, var(--viking-accent) 24%, transparent);border-right:1px solid color-mix(in srgb, var(--viking-accent) 18%, transparent);transform:skewX(-18deg);pointer-events:none;opacity:.55;z-index:2}.mockup-window:hover{transform:rotateY(0deg) rotateX(0deg)}.mockup-titlebar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:color-mix(in srgb, var(--viking-charcoal-900) 60%, var(--color-surface));border-bottom:1px solid var(--border)}.mockup-titlebar .mockup-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);opacity:.5}.mockup-titlebar .mockup-dot:first-child{background:var(--viking-crimson-500);opacity:.8}.mockup-titlebar .mockup-dot:nth-child(2){background:var(--viking-gold-500);opacity:.8}.mockup-titlebar .mockup-dot:nth-child(3){background:var(--viking-accent-strong);opacity:.8}.mockup-titlebar .mockup-title{margin-left:8px;font-size:.85rem;font-family:monospace;color:var(--text-muted);letter-spacing:.04em}.mockup-body{display:flex;min-height:280px}.mockup-sidebar{width:48px;padding:16px 8px;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--border);background:color-mix(in srgb, var(--viking-charcoal-900) 30%, transparent)}.mockup-sidebar .mockup-nav-item{height:32px;border-radius:8px;background:color-mix(in srgb, var(--text-muted) 20%, transparent)}.mockup-sidebar .mockup-nav-item.active{background:color-mix(in srgb, var(--viking-accent) 35%, transparent);box-shadow:inset 0 0 0 1px var(--viking-accent)}.mockup-main{flex:1;padding:20px;display:flex;flex-direction:column;gap:16px}.mockup-gauges{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width: 480px){.mockup-gauges{grid-template-columns:repeat(3, 1fr)}}.mockup-gauge{background:color-mix(in srgb, var(--viking-charcoal-900) 40%, var(--color-surface));border:1px solid var(--border);border-radius:10px;padding:12px;text-align:center}.mockup-gauge.primary{border-color:var(--viking-accent);box-shadow:0 0 16px color-mix(in srgb, var(--viking-accent) 25%, transparent)}.mockup-gauge .gauge-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px}.mockup-gauge .gauge-val{font-size:1.25rem;font-weight:800;color:var(--text-color)}.mockup-chart{flex:1;display:flex;align-items:flex-end;gap:6px;padding:12px;background:color-mix(in srgb, var(--viking-charcoal-900) 50%, transparent);border-radius:10px;border:1px solid var(--border);min-height:100px}.mockup-chart .chart-bar{flex:1;background:linear-gradient(180deg, var(--viking-accent), var(--viking-accent-strong));border-radius:4px 4px 0 0;opacity:.85;animation:barPulse 3s ease-in-out infinite;height:calc(var(--chart-bar-height, 50)*1%)}.mockup-chart .chart-bar:nth-child(1){animation-delay:0.15s}.mockup-chart .chart-bar:nth-child(2){animation-delay:0.3s}.mockup-chart .chart-bar:nth-child(3){animation-delay:0.45s}.mockup-chart .chart-bar:nth-child(4){animation-delay:0.6s}.mockup-chart .chart-bar:nth-child(5){animation-delay:0.75s}.mockup-chart .chart-bar:nth-child(6){animation-delay:0.9s}.mockup-chart .chart-bar:nth-child(7){animation-delay:1.05s}.mockup-chart .chart-bar:nth-child(8){animation-delay:1.2s}.mockup-chart .chart-bar[data-height="40"]{--chart-bar-height: 40}.mockup-chart .chart-bar[data-height="41"]{--chart-bar-height: 41}.mockup-chart .chart-bar[data-height="42"]{--chart-bar-height: 42}.mockup-chart .chart-bar[data-height="43"]{--chart-bar-height: 43}.mockup-chart .chart-bar[data-height="44"]{--chart-bar-height: 44}.mockup-chart .chart-bar[data-height="45"]{--chart-bar-height: 45}.mockup-chart .chart-bar[data-height="46"]{--chart-bar-height: 46}.mockup-chart .chart-bar[data-height="47"]{--chart-bar-height: 47}.mockup-chart .chart-bar[data-height="48"]{--chart-bar-height: 48}.mockup-chart .chart-bar[data-height="49"]{--chart-bar-height: 49}.mockup-chart .chart-bar[data-height="50"]{--chart-bar-height: 50}.mockup-chart .chart-bar[data-height="51"]{--chart-bar-height: 51}.mockup-chart .chart-bar[data-height="52"]{--chart-bar-height: 52}.mockup-chart .chart-bar[data-height="53"]{--chart-bar-height: 53}.mockup-chart .chart-bar[data-height="54"]{--chart-bar-height: 54}.mockup-chart .chart-bar[data-height="55"]{--chart-bar-height: 55}.mockup-chart .chart-bar[data-height="56"]{--chart-bar-height: 56}.mockup-chart .chart-bar[data-height="57"]{--chart-bar-height: 57}.mockup-chart .chart-bar[data-height="58"]{--chart-bar-height: 58}.mockup-chart .chart-bar[data-height="59"]{--chart-bar-height: 59}.mockup-chart .chart-bar[data-height="60"]{--chart-bar-height: 60}.mockup-chart .chart-bar[data-height="61"]{--chart-bar-height: 61}.mockup-chart .chart-bar[data-height="62"]{--chart-bar-height: 62}.mockup-chart .chart-bar[data-height="63"]{--chart-bar-height: 63}.mockup-chart .chart-bar[data-height="64"]{--chart-bar-height: 64}.mockup-chart .chart-bar[data-height="65"]{--chart-bar-height: 65}.mockup-chart .chart-bar[data-height="66"]{--chart-bar-height: 66}.mockup-chart .chart-bar[data-height="67"]{--chart-bar-height: 67}.mockup-chart .chart-bar[data-height="68"]{--chart-bar-height: 68}.mockup-chart .chart-bar[data-height="69"]{--chart-bar-height: 69}.mockup-chart .chart-bar[data-height="70"]{--chart-bar-height: 70}.mockup-chart .chart-bar[data-height="71"]{--chart-bar-height: 71}.mockup-chart .chart-bar[data-height="72"]{--chart-bar-height: 72}.mockup-chart .chart-bar[data-height="73"]{--chart-bar-height: 73}.mockup-chart .chart-bar[data-height="74"]{--chart-bar-height: 74}.mockup-chart .chart-bar[data-height="75"]{--chart-bar-height: 75}.mockup-chart .chart-bar[data-height="76"]{--chart-bar-height: 76}.mockup-chart .chart-bar[data-height="77"]{--chart-bar-height: 77}.mockup-chart .chart-bar[data-height="78"]{--chart-bar-height: 78}.mockup-chart .chart-bar[data-height="79"]{--chart-bar-height: 79}.mockup-chart .chart-bar[data-height="80"]{--chart-bar-height: 80}.mockup-chart .chart-bar[data-height="81"]{--chart-bar-height: 81}.mockup-chart .chart-bar[data-height="82"]{--chart-bar-height: 82}.mockup-chart .chart-bar[data-height="83"]{--chart-bar-height: 83}.mockup-chart .chart-bar[data-height="84"]{--chart-bar-height: 84}.mockup-chart .chart-bar[data-height="85"]{--chart-bar-height: 85}.mockup-chart .chart-bar[data-height="86"]{--chart-bar-height: 86}.mockup-chart .chart-bar[data-height="87"]{--chart-bar-height: 87}.mockup-chart .chart-bar[data-height="88"]{--chart-bar-height: 88}.mockup-chart .chart-bar[data-height="89"]{--chart-bar-height: 89}.mockup-chart .chart-bar[data-height="90"]{--chart-bar-height: 90}.mockup-chart .chart-bar[data-height="91"]{--chart-bar-height: 91}.mockup-chart .chart-bar[data-height="92"]{--chart-bar-height: 92}.mockup-chart .chart-bar[data-height="93"]{--chart-bar-height: 93}.mockup-chart .chart-bar[data-height="94"]{--chart-bar-height: 94}.mockup-chart .chart-bar[data-height="95"]{--chart-bar-height: 95}@keyframes barPulse{0%,100%{opacity:.7}50%{opacity:1}}.mockup-stats-row{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width: 480px){.mockup-stats-row{grid-template-columns:repeat(3, 1fr)}}.mockup-stats-row .mockup-stat{background:var(--viking-surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.mockup-stats-row .mockup-stat span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.mockup-stats-row .mockup-stat strong{font-size:1rem;color:var(--viking-accent)}.quick-start-band{padding:var(--viking-space-7) 0 var(--viking-space-8);margin-bottom:var(--viking-space-4);border-bottom:1px solid var(--border);position:relative}.quick-start-band::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:120px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.35}.quick-start-header{text-align:center;max-width:640px;margin:0 auto var(--viking-page-section-gap, var(--viking-space-6))}.quick-start-header h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;margin:0 0 12px 0;text-transform:uppercase;letter-spacing:-0.02em}.quick-start-header p{color:var(--text-muted);margin:0;line-height:1.6;font-size:1.1rem}.quick-start-steps{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);list-style:none;padding:0;margin:0}@media(min-width: 768px){.quick-start-steps{grid-template-columns:repeat(2, 1fr);gap:var(--viking-space-4)}}@media(min-width: 1100px){.quick-start-steps{grid-template-columns:repeat(4, 1fr)}}.quick-start-step{position:relative;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--viking-radius-xl, 16px);padding:32px 28px;text-align:center;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;box-shadow:var(--shadow-sm);overflow:hidden}.quick-start-step::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg, color-mix(in srgb, var(--viking-accent) 35%, transparent), transparent);opacity:.45;pointer-events:none}.quick-start-step:hover{border-color:var(--viking-accent);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.quick-start-step .step-number{position:absolute;top:16px;right:20px;font-size:.75rem;font-weight:800;letter-spacing:.1em;color:var(--viking-accent);opacity:.7}.quick-start-step .step-icon{font-size:36px;color:var(--viking-accent);margin-bottom:16px;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--viking-accent) 35%, transparent))}.quick-start-step h3{font-size:1.25rem;font-weight:800;margin:0 0 10px 0;text-transform:uppercase;letter-spacing:.04em}.quick-start-step p{margin:0;color:var(--text-muted);line-height:1.55;font-size:1rem}.security-pillars-band{padding:72px 0;border-bottom:1px solid var(--border);position:relative}.security-pillars-band::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:80px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.25}.security-pillars-header{text-align:center;max-width:680px;margin:0 auto 48px}.security-pillars-header h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;margin:0 0 12px 0;text-transform:uppercase;letter-spacing:-0.02em}.security-pillars-header p{color:var(--text-muted);margin:0;line-height:1.6;font-size:1.1rem}.security-pillars-grid{display:grid;grid-template-columns:1fr;gap:20px;list-style:none;padding:0;margin:0}@media(min-width: 600px){.security-pillars-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 960px){.security-pillars-grid{grid-template-columns:repeat(4, 1fr)}}.security-pillar{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:28px 20px;border-radius:16px;background:color-mix(in srgb, var(--viking-accent) 6%, var(--color-surface));border:1px solid color-mix(in srgb, var(--viking-accent) 18%, transparent);position:relative;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.security-pillar:hover{border-color:var(--viking-accent);box-shadow:0 0 24px color-mix(in srgb, var(--viking-accent) 15%, transparent)}.security-pillar svg{width:32px;height:32px;color:var(--viking-accent)}.security-pillar strong{font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-color)}.security-pillar span:last-child{font-size:.9rem;color:var(--text-muted);line-height:1.45}.security-pillar::after{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb, var(--viking-metallic-400) 26%, transparent);border-radius:inherit;opacity:.5;pointer-events:none}.integrations-strip{width:100%;padding:32px 0;margin-bottom:64px;border:0;text-align:center;position:relative}.integrations-strip::before,.integrations-strip::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:100px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.3}.integrations-strip::before{top:0}.integrations-strip::after{bottom:0}.strip-label{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--text-muted);margin:0 0 24px 0}.integration-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:32px 48px}.integration-logo-item{display:flex;align-items:center;gap:10px;text-decoration:none !important;color:var(--text-muted) !important;font-weight:700;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;transition:color .2s ease}.integration-logo-item svg{width:22px;height:22px}.integration-logo-item svg:not(.viking-icon-integration-brand){color:var(--viking-accent)}.integration-logo-item:hover{color:var(--text-color) !important}.showcase-band{display:grid;grid-template-columns:1fr;gap:var(--viking-space-5);align-items:center;padding:var(--viking-space-7) 0;border-bottom:1px solid var(--border);position:relative}@media(min-width: 900px){.showcase-band{grid-template-columns:1fr 1fr;gap:var(--viking-space-8);padding:var(--viking-space-9) 0}}.showcase-band::before{content:"";position:absolute;left:0;top:0;right:0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 22%, transparent), transparent);opacity:.25}.showcase-band::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:60px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.2}@media(min-width: 900px){.showcase-band.reversed .showcase-band-copy{order:2}.showcase-band.reversed .showcase-band-visual{order:1}}.showcase-band-copy .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase;display:block;margin-bottom:16px}.showcase-band-copy h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;margin:0 0 16px 0;text-transform:uppercase;letter-spacing:-0.02em;color:var(--text-color)}.showcase-band-copy p{font-size:1.1rem;color:var(--text-muted);line-height:1.65;margin:0 0 24px 0}.showcase-band-copy::after{content:"";display:block;width:42px;height:1px;margin-top:18px;background:linear-gradient(90deg, var(--viking-accent), transparent);opacity:.35}.showcase-link{font-weight:600;color:var(--viking-accent) !important;text-decoration:none !important;letter-spacing:.04em}.showcase-link:hover{color:var(--viking-accent-strong) !important}.showcase-link.muted-link{color:var(--text-muted) !important;font-weight:600}.showcase-link.muted-link:hover{color:var(--viking-accent) !important}.visual-panel{background:var(--color-surface);border:1px solid var(--border);border-radius:var(--viking-radius-xl, 16px);padding:var(--viking-card-padding, var(--viking-space-4));box-shadow:var(--shadow-md);position:relative;overflow:hidden}.visual-panel::before{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb, var(--viking-metallic-500) 24%, transparent);border-radius:inherit;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white) 6%, transparent);pointer-events:none}.visual-panel::after{content:"";position:absolute;top:0;left:18px;width:36px;height:12px;border-bottom:1px solid color-mix(in srgb, var(--viking-accent) 35%, transparent);border-left:1px solid color-mix(in srgb, var(--viking-accent) 18%, transparent);opacity:.45;pointer-events:none}.visual-panel-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;color:var(--text-muted)}.visual-panel-header svg{width:24px;height:24px;color:var(--viking-accent)}.visual-metrics{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2);margin-bottom:var(--viking-space-3)}@media(min-width: 600px){.visual-metrics{grid-template-columns:repeat(2, 1fr);gap:var(--viking-space-2)}}@media(min-width: 900px){.visual-metrics{grid-template-columns:repeat(3, 1fr)}}.visual-metric{background:color-mix(in srgb, var(--viking-charcoal-900) 35%, var(--color-surface));border:1px solid var(--border);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding-compact, var(--viking-space-3));position:relative;border-color:color-mix(in srgb, var(--viking-accent) 12%, var(--border));box-shadow:var(--shadow-sm)}.visual-metric .metric-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.visual-metric .metric-value{font-size:1.35rem;font-weight:800;color:var(--text-color)}.visual-metric .metric-trend{position:absolute;top:12px;right:12px;font-size:.85rem;font-weight:700}.visual-metric .metric-trend.trend-up{color:var(--viking-accent-strong)}.visual-metric .metric-trend.trend-down{color:var(--viking-gold-500)}.visual-metric .metric-trend.trend-stable{color:var(--text-muted)}.visual-sparkline{height:48px;opacity:.9}.visual-sparkline svg{width:100%;height:100%}.widget-showcase{padding:var(--viking-space-9) 0;border-bottom:1px solid var(--border);position:relative}.widget-showcase::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:80px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.25}.widget-showcase-inner{display:grid;grid-template-columns:1fr;gap:var(--viking-space-5);align-items:center}@media(min-width: 900px){.widget-showcase-inner{grid-template-columns:1fr 1fr;gap:var(--viking-space-8)}}.widget-copy .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase;display:block;margin-bottom:16px}.widget-copy h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;margin:0 0 16px 0;text-transform:uppercase}.widget-copy p{color:var(--text-muted);line-height:1.6;margin:0 0 24px 0}.widget-copy .embed-code{background:color-mix(in srgb, var(--viking-charcoal-900) 70%, transparent);padding:16px;border-radius:var(--viking-radius-lg);border:1px solid color-mix(in srgb, var(--viking-accent) 30%, transparent);overflow-x:auto}.widget-copy .embed-code code{color:var(--viking-accent);font-family:monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-all}.widget-mount-point{min-height:200px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--border);border-radius:var(--viking-radius-xl, 16px);padding:var(--viking-card-padding, var(--viking-space-4));box-shadow:var(--shadow-md);position:relative;overflow:hidden;border-color:color-mix(in srgb, var(--viking-border-strong) 85%, transparent)}.widget-mount-point::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(140px 42px at 16px 0, color-mix(in srgb, var(--viking-accent) 10%, transparent), transparent),linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent-strong) 16%, transparent), transparent);opacity:.35}.pricing-showcase{padding:var(--viking-space-9) 0;text-align:center;border-bottom:1px solid var(--border);position:relative}.pricing-showcase::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:80px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.25}.pricing-header{margin-bottom:var(--viking-page-section-gap, var(--viking-space-6))}.pricing-header .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase;display:block;margin-bottom:16px}.pricing-header h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;margin:0 0 12px 0;text-transform:uppercase}.pricing-header p{color:var(--text-muted);margin:0}.pricing-cards-container{display:flex;gap:var(--viking-space-4);flex-direction:column;align-items:center;justify-content:center;max-width:800px;margin:0 auto}@media(min-width: 600px){.pricing-cards-container{flex-direction:row;flex-wrap:wrap}}.pricing-cards-container .pricing-card{flex:1 1 100%;width:100%;min-width:0;max-width:100%;padding:var(--viking-space-5) var(--viking-card-padding);border-radius:var(--viking-radius-xl);background:var(--color-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;text-align:left}@media(min-width: 600px){.pricing-cards-container .pricing-card{flex:1;min-width:260px;max-width:360px;width:auto}}.pricing-cards-container .pricing-card:hover{transform:translateY(-2px);border-color:var(--viking-accent);box-shadow:var(--shadow-hover)}.pricing-cards-container .pricing-card::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg, color-mix(in srgb, var(--viking-accent) 24%, transparent), transparent);opacity:.45;pointer-events:none}.pricing-cards-container .pricing-card h3{font-size:1.1rem;color:var(--text-muted);margin:0;text-transform:uppercase;letter-spacing:.1em;font-weight:var(--viking-font-weight-semibold)}.pricing-cards-container .pricing-card .price{font-size:3rem;font-weight:800;margin:1rem 0;color:var(--text-color)}.pricing-cards-container .pricing-card .price span{font-size:1rem;font-weight:normal;color:var(--text-muted)}.pricing-cards-container .pricing-card .features-list{list-style:none;padding:0;margin-bottom:2rem;flex-grow:1}.pricing-cards-container .pricing-card .features-list li{display:flex;align-items:center;margin-bottom:1rem;color:var(--text-color);font-size:1rem}.pricing-cards-container .pricing-card .features-list li svg{width:20px;height:20px;color:var(--viking-accent);margin-right:.75rem;flex-shrink:0}.pricing-cards-container .pricing-card .cta-button{margin-top:auto;width:100%}.pricing-cards-container .pricing-card.pro-tier{border:2px solid var(--viking-accent);position:relative;background:color-mix(in srgb, var(--viking-accent) 6%, var(--color-surface));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white) 8%, transparent)}.pricing-cards-container .pricing-card.pro-tier .recommended-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--viking-accent);color:var(--white);padding:6px 14px;border-radius:1000px;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.pricing-cards-container .pricing-card.pro-tier .pro-btn{background:var(--viking-accent);color:var(--white);border:none}.pricing-cards-container .pricing-card.pro-tier .pro-btn:hover{background:var(--viking-accent-strong)}.landing-container .viking-whitepaper-cta{margin-block:56px}.whitepaper-band{padding:56px 0}.whitepaper-band.no-bottom-rule{border-bottom:none}.whitepaper-band-inner{display:flex;flex-direction:column;gap:24px;align-items:flex-start;padding:40px;border-radius:var(--viking-radius-xl, 16px);background:color-mix(in srgb, var(--viking-accent) 8%, var(--color-surface));border:1px solid color-mix(in srgb, var(--viking-accent) 20%, transparent)}@media(min-width: 768px){.whitepaper-band-inner{flex-direction:row;align-items:center;justify-content:space-between}}.whitepaper-band-inner .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase;display:block;margin-bottom:12px}.whitepaper-band-inner h2{font-size:1.75rem;font-weight:800;margin:0 0 8px 0;text-transform:uppercase}.whitepaper-band-inner p{color:var(--text-muted);margin:0;max-width:480px;line-height:1.55}.whitepaper-band-inner .whitepaper-btn{width:auto;max-width:100%;flex-shrink:0;align-self:flex-start}@media(min-width: 768px){.whitepaper-band-inner .whitepaper-btn{align-self:center}}.transparency-atmospheric{width:100%;margin:72px auto 0;padding:64px 24px;position:relative;z-index:10;border-top:1px solid color-mix(in srgb, var(--viking-accent) 25%, transparent);display:flex;flex-direction:column;align-items:center;text-align:center;gap:48px}.transparency-atmospheric .atmospheric-header{max-width:640px}.transparency-atmospheric .atmospheric-header .section-tag{font-size:.85rem;font-weight:700;letter-spacing:.2em;color:var(--viking-accent);text-transform:uppercase;margin-bottom:16px;display:block}.transparency-atmospheric .atmospheric-header h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:200;color:var(--text-color);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px 0}.transparency-atmospheric .atmospheric-header p{font-size:1.1rem;color:var(--text-muted);line-height:1.6;margin:0}.transparency-atmospheric .purpose-list{display:flex;flex-wrap:wrap;justify-content:center;gap:48px 64px;list-style:none;padding:0;margin:0}.transparency-atmospheric .purpose-list li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:220px}.transparency-atmospheric .purpose-list li svg{width:48px;height:48px;color:var(--viking-accent);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--viking-accent) 40%, transparent))}.transparency-atmospheric .purpose-list li .purpose-text{font-size:1rem;color:var(--text-muted);line-height:1.55}.transparency-atmospheric .purpose-list li .purpose-text strong{display:block;color:var(--text-color);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.section-tag{font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--viking-accent);text-transform:uppercase}.landing-container svg[aria-hidden=true]{overflow:visible;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}.publication-shell{border-radius:var(--viking-radius-xl, 16px);border:1px solid var(--viking-border, var(--border));background:var(--viking-surface, var(--color-surface));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));overflow:hidden}.publication-hero{position:relative;text-align:center;padding:36px 28px 28px;border-bottom:1px solid var(--border);overflow:hidden}.publication-hero .hero-brand{position:relative;display:flex;justify-content:center;margin-bottom:16px}.publication-hero .section-tag-row{display:flex;justify-content:center;width:100%}.publication-hero .hero-title,.publication-hero .hero-subtitle,.publication-hero .hero-meta{text-align:center;margin-left:auto;margin-right:auto}.publication-hero .hero-meta{max-width:640px}.publication-hero .hero-brand-icon{filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--viking-teal-600) 25%, transparent))}.publication-hero .hero-title{position:relative;font-size:clamp(1.65rem,4vw,2.35rem);font-weight:800;line-height:1.15;letter-spacing:-0.02em;margin:0 0 12px}.publication-hero .hero-subtitle{position:relative;font-size:1.05rem;line-height:1.6;color:var(--text-muted);max-width:640px;margin:0 auto 16px}.publication-hero .hero-meta{position:relative;font-size:.92rem;color:var(--text-muted);margin-bottom:20px}.publication-hero .hero-meta-row{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:.9rem;margin-bottom:20px}.publication-hero .hero-meta-row a{color:var(--viking-teal-600);text-decoration:none;font-weight:600}.publication-hero .hero-meta-row a:hover{text-decoration:underline}.publication-hero .hero-meta-row .meta-dot{opacity:.4}.publication-toc{padding:20px 28px;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--color-surface) 60%, transparent)}.publication-toc .toc-heading{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px}.publication-toc .toc-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}@media(min-width: 640px){.publication-toc .toc-list{grid-template-columns:repeat(2, 1fr);gap:4px 24px}}@media(min-width: 900px){.publication-toc .toc-list{grid-template-columns:repeat(3, 1fr)}}.publication-toc .toc-item{display:flex;align-items:baseline;gap:10px;padding:6px 0;font-size:.88rem;line-height:1.4;text-decoration:none !important;color:var(--text-muted) !important;border-radius:6px;transition:color .15s ease}.publication-toc .toc-item:hover{color:var(--viking-teal-600) !important}.publication-toc .toc-item .toc-num{flex-shrink:0;min-width:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;font-size:.78rem;color:var(--viking-teal-600);opacity:.85}.publication-toc .toc-item .toc-label{flex:1;font-weight:500}.publication-body{padding:28px 32px 36px}@media(min-width: 768px){.publication-body{padding:32px 40px 40px}}.publication-section{padding:28px 0;border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent)}.publication-section:first-child{padding-top:0}.publication-section:last-child{border-bottom:none;padding-bottom:0}.publication-section :global(h2){font-size:1.35rem;font-weight:800;margin:0 0 16px;letter-spacing:-0.02em;color:var(--text-color);border-bottom:2px solid color-mix(in srgb, var(--viking-teal-600) 35%, transparent);padding-bottom:8px}.publication-section :global(h3){font-size:1.05rem;font-weight:700;margin:24px 0 10px;color:var(--text-color)}.publication-section :global(h4){font-size:.95rem;font-weight:700;margin:20px 0 8px;color:var(--text-color)}.publication-section :global(p),.publication-section :global(li){font-size:1rem;line-height:1.65;color:var(--text-muted);margin:0 0 14px}.publication-section :global(ul),.publication-section :global(ol){padding-left:1.35rem;margin:0 0 14px}.publication-section :global(a){color:var(--viking-teal-600)}.publication-section :global(pre){background:var(--viking-charcoal-900);border:1px solid var(--viking-border-subtle);border-radius:10px;padding:14px 16px;overflow-x:auto;margin:16px 0;font-size:.82rem;line-height:1.55}.publication-section :global(:not(pre) > code){background:color-mix(in srgb, var(--color-dark-grey-btn-bg) 70%, transparent);padding:.1em .35em;border-radius:4px;font-size:.875em;line-height:inherit;color:var(--text-color);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);white-space:normal;vertical-align:baseline}.publication-section :global(table){width:100%;border-collapse:collapse;margin:16px 0;font-size:.9rem}.publication-section :global(table) th,.publication-section :global(table) td{border:1px solid var(--border);padding:8px 12px;text-align:left}.publication-section :global(table) th{background:color-mix(in srgb, var(--viking-teal-600) 10%, var(--color-surface))}.publication-section :global(blockquote){margin:16px 0;padding:12px 16px;border-left:3px solid var(--viking-teal-600);background:color-mix(in srgb, var(--viking-teal-600) 6%, var(--color-surface));border-radius:0 8px 8px 0;font-size:.95rem;color:var(--text-muted)}.pub-sidebar-group{display:flex;flex-direction:column;gap:var(--viking-space-1, 8px);margin-bottom:16px}.pub-sidebar-group .pub-sidebar-group-title{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px 8px;opacity:.75}.pub-chapter-item{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease;border:1px solid rgba(0,0,0,0);text-decoration:none;color:inherit;margin:0}.pub-chapter-item:hover{background-color:var(--hover-color);border-color:var(--border)}.pub-chapter-item.active{background:linear-gradient(135deg, color-mix(in srgb, var(--color-surface) 25%, transparent) 0%, color-mix(in srgb, var(--viking-metallic-200) 8%, transparent) 100%);border-color:var(--color-primary-container, var(--viking-teal-400))}.pub-chapter-item.active .pub-chapter-num,.pub-chapter-item.active .pub-chapter-title{color:var(--color-primary-container, var(--viking-teal-400))}.pub-chapter-item.active .pub-chapter-title{font-weight:600}.pub-chapter-item .pub-chapter-num{flex-shrink:0;min-width:1.25rem;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted);opacity:.7}.pub-chapter-item .pub-chapter-title{font-size:.85rem;line-height:1.35;color:var(--text-color)}.book-cover-page{display:flex;justify-content:center;align-items:center;padding:40px 24px}.book-cover-card{width:100%;max-width:420px;aspect-ratio:3/4.2;background-color:var(--card-bg);border:1px solid var(--border);border-radius:8px 16px 16px 8px;box-shadow:var(--shadow-md);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.book-cover-spine{position:absolute;left:0;top:0;bottom:0;width:28px;background-color:color-mix(in srgb, var(--black) 50%, transparent);z-index:10;border-right:1px solid color-mix(in srgb, var(--black) 20%, transparent)}.book-cover-binding{position:absolute;left:28px;top:0;bottom:0;width:4px;background-color:color-mix(in srgb, var(--black) 10%, transparent);z-index:9}.book-cover-inner{display:flex;flex-direction:column;align-items:center;padding:48px 32px 40px 48px;height:100%;width:100%;text-align:center}.book-cover-label{margin-bottom:auto;letter-spacing:.15em;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.book-cover-logo{margin:24px 0;filter:drop-shadow(0 6px 16px color-mix(in srgb, var(--viking-teal-600) 30%, transparent))}.book-cover-title{font-size:1.75rem;font-weight:800;line-height:1.15;margin-bottom:12px;letter-spacing:-0.02em}.book-cover-subtitle{font-size:.95rem;color:var(--text-muted);font-weight:500;font-style:italic}.book-cover-footer{margin-top:auto;padding-top:24px;border-top:1px solid var(--border);width:100%;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.book-cover-footer a{font-weight:600;color:var(--text-color);text-decoration:none}.book-cover-footer a:hover{color:var(--viking-teal-600)}.book-cover-footer .book-cover-vol{font-weight:700;color:var(--color-primary);letter-spacing:.1em;font-size:.8rem}.publication-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:20px 28px;border-top:1px solid var(--border);background:color-mix(in srgb, var(--color-surface) 50%, transparent)}@media(min-width: 600px){.publication-pagination{justify-content:space-between;padding:16px 32px}}.publication-pagination .pagination-btn{background:var(--color-primary) !important;color:#fff !important;font-weight:600;border-radius:var(--viking-radius-lg);border:none;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:opacity .2s;font-size:.9rem}.publication-pagination .pagination-btn[disabled]{opacity:.5;cursor:not-allowed}.publication-pagination .pagination-btn:not([disabled]):hover{opacity:.9}.publication-pagination .page-counter{font-size:.88rem;color:var(--text-muted);font-weight:500}.publication-progress{max-width:480px;margin:0 auto}.publication-progress .progress-bar-header{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:6px}.publication-progress .progress-percentage{color:var(--color-primary-container)}.publication-progress .progress-bar-container{width:100%;height:6px;background-color:var(--hover-color);border:1px solid var(--border);border-radius:999px;overflow:hidden;position:relative}.publication-progress .progress-bar-fill{position:absolute;left:0;top:0;bottom:0;width:var(--progress, 0%);background-color:var(--color-primary);transition:width .3s ease-out;border-radius:999px}.section-tag{display:inline-block;font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-accent)}.showcase-page{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-5));padding-block:var(--viking-space-6);position:relative}.showcase-page::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 10%, transparent), transparent);opacity:.03}@media(min-width: 768px){.showcase-page{padding-block:var(--viking-space-8)}}.showcase-hero{display:grid;gap:var(--viking-space-5);align-items:center;position:relative}.showcase-hero::before{content:"";position:absolute;inset:auto 0 -2px 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 35%, transparent), transparent);opacity:.4}@media(min-width: 960px){.showcase-hero{grid-template-columns:1.15fr 1fr;gap:var(--viking-space-6)}}.showcase-hero-copy{display:flex;flex-direction:column;gap:var(--viking-space-3);position:relative}.showcase-hero-copy::after{content:"";position:absolute;top:-10px;left:0;width:22px;height:14px;border-top:1px solid color-mix(in srgb, var(--viking-accent) 40%, transparent);border-left:1px solid color-mix(in srgb, var(--viking-accent) 24%, transparent);opacity:.5;pointer-events:none}.showcase-hero-badge{display:inline-flex;align-items:center;gap:var(--viking-space-1);width:fit-content;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface);box-shadow:var(--viking-shadow-sm);position:relative}.showcase-hero-badge::after{content:"";position:absolute;left:1px;right:1px;top:0;height:1px;background:color-mix(in srgb, var(--viking-accent) 35%, transparent);opacity:.55}.showcase-hero-badge-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background:var(--viking-accent);flex-shrink:0}.pulse-dot{animation:showcasePulseDot 2s ease-in-out infinite}@keyframes showcasePulseDot{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-accent) 60%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--viking-accent) 0%, transparent)}}@media(prefers-reduced-motion: reduce){.pulse-dot{animation:none}}.showcase-hero-title{margin:0;font-size:clamp(2rem,4.5vw,3rem);font-weight:var(--viking-font-weight-bold, 800);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.showcase-hero-lead{margin:0;max-width:var(--viking-content-readable-max-width, 48rem);font-size:var(--viking-font-size-lg);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted)}.showcase-hero-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.showcase-hero-panel{display:flex;flex-direction:column;gap:var(--viking-space-2);position:relative;overflow:hidden;border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);padding:var(--viking-space-2);background:var(--viking-surface);box-shadow:var(--viking-shadow-sm)}.showcase-hero-panel::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 40%, transparent), transparent);pointer-events:none;opacity:.7}.showcase-toolbar{padding:var(--viking-card-padding)}.showcase-toolbar-row{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 768px){.showcase-toolbar-row{grid-template-columns:minmax(0, 2fr) minmax(12rem, 1fr);align-items:end}}.showcase-search-field,.showcase-category-field{margin:0}.showcase-category-bar{position:sticky;top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px));z-index:40;border-block:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 94%, transparent);backdrop-filter:blur(8px)}.showcase-category-bar-inner{padding-block:var(--viking-space-2)}.showcase-category-bar-scroll{display:flex;gap:var(--viking-space-1);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:var(--viking-space-half)}.showcase-category-bar-scroll::-webkit-scrollbar{display:none}.showcase-category-chip{flex-shrink:0;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);text-decoration:none;white-space:nowrap;transition:var(--viking-transition-interactive);min-height:var(--viking-control-height, 44px);display:inline-flex;align-items:center}.showcase-category-chip:hover{border-color:var(--viking-accent);color:var(--viking-accent)}.showcase-category-chip.is-active{border-color:var(--viking-accent);background:color-mix(in srgb, var(--viking-accent) 10%, var(--viking-surface));color:var(--viking-accent)}.showcase-category{display:flex;flex-direction:column;gap:var(--viking-space-4);padding:var(--viking-space-6) 0;border-bottom:1px solid var(--viking-border);scroll-margin-top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) + 56px)}.showcase-category:last-child{border-bottom:0}.showcase-category-header{display:flex;flex-direction:column;gap:var(--viking-space-2);padding-bottom:var(--viking-space-3);border-bottom:1px solid var(--viking-border-subtle)}.showcase-component-list{display:flex;flex-direction:column;gap:var(--viking-space-4)}.showcase-section{display:flex;flex-direction:column;gap:var(--viking-space-4);padding-block:var(--viking-space-5);border-top:1px solid color-mix(in srgb, var(--viking-accent) 20%, transparent);border-bottom:1px solid var(--viking-border);scroll-margin-top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) + 56px);position:relative}.showcase-section::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:1px;background:linear-gradient(90deg, transparent, var(--viking-accent), transparent);opacity:.25}.showcase-section:last-child{border-bottom:0}.showcase-section-compact{padding-block:var(--viking-space-4)}.showcase-section-header{display:flex;flex-direction:column;gap:var(--viking-space-1);max-width:var(--viking-content-readable-max-width, 48rem)}.showcase-section-title{margin:0;font-size:var(--viking-font-size-2xl);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.showcase-section-desc{margin:0;font-size:var(--viking-font-size-lg)}.showcase-component-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 768px){.showcase-component-grid{grid-template-columns:repeat(2, 1fr)}}.component-showcase-card{display:flex;flex-direction:column;gap:var(--viking-space-3);padding:var(--viking-card-padding);scroll-margin-top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) + 56px);transition:transform var(--viking-duration-normal) var(--viking-ease-out),border-color var(--viking-duration-normal) var(--viking-ease-out),box-shadow var(--viking-duration-normal) var(--viking-ease-out)}.component-showcase-card-compact:hover{transform:translateY(var(--viking-state-hover-lift, -4px));border-color:var(--viking-accent-strong, var(--viking-accent));box-shadow:var(--viking-shadow-hover)}.component-showcase-header{display:flex;flex-direction:column;gap:var(--viking-space-1)}.component-showcase-title-block{display:flex;flex-direction:column;gap:var(--viking-space-half)}.component-showcase-link{color:inherit;text-decoration:none;transition:color var(--viking-duration-fast) var(--viking-ease-out)}.component-showcase-link:hover{color:var(--viking-accent)}.component-showcase-desc{margin:0;font-size:var(--viking-font-size-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.component-showcase-tags{display:flex;flex-wrap:wrap;gap:var(--viking-space-half)}.component-showcase-preview{padding:var(--viking-space-3);background:color-mix(in srgb, var(--viking-bg) 30%, var(--viking-surface-alt));border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);min-height:7rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.component-showcase-preview::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200, var(--viking-border)) 22%, transparent), transparent);pointer-events:none}.component-showcase-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding-top:var(--viking-space-1);border-top:1px solid var(--viking-border-subtle)}.component-showcase-frameworks{display:flex;flex-wrap:wrap;gap:var(--viking-space-half)}.component-framework-chip{padding:var(--viking-space-half) var(--viking-space-1);border-radius:var(--viking-radius-sm);background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface-alt));border:1px solid color-mix(in srgb, var(--viking-accent) 15%, transparent);font-size:var(--viking-font-size-2xs, var(--viking-font-size-xs));font-weight:var(--viking-font-weight-medium);color:var(--viking-text-muted)}.component-showcase-cta{display:inline-flex;align-items:center;gap:var(--viking-space-half);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);color:var(--viking-accent);text-decoration:none;min-height:var(--viking-control-height, 44px);padding-inline:var(--viking-space-1)}.component-showcase-cta:hover{text-decoration:underline}.component-showcase-code{display:flex;flex-direction:column;gap:var(--viking-space-1)}.component-showcase-code-label{margin:0}.component-showcase-api{padding-top:var(--viking-space-2);border-top:1px solid var(--viking-border-subtle)}.component-detail-page{gap:var(--viking-space-4)}.component-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-half);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.component-breadcrumb a{color:var(--viking-accent);text-decoration:none}.component-breadcrumb a:hover{text-decoration:underline}.showcase-detail-header{display:flex;flex-direction:column;gap:var(--viking-space-2)}.component-api-panel{padding:var(--viking-card-padding)}.showcase-related-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 640px){.showcase-related-grid{grid-template-columns:repeat(2, 1fr)}}.showcase-related-card{display:flex;flex-direction:column;gap:var(--viking-space-half);padding:var(--viking-card-padding);text-decoration:none;color:inherit;transition:var(--viking-transition-interactive)}.showcase-related-card:hover{transform:translateY(var(--viking-state-hover-lift, -4px));border-color:var(--viking-accent);box-shadow:var(--viking-shadow-hover)}.showcase-detail-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);padding-top:var(--viking-space-3);border-top:1px solid var(--viking-border-subtle)}.api-reference{display:flex;flex-direction:column;gap:var(--viking-space-3)}.api-reference-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--viking-space-2)}.api-selectors{display:flex;flex-wrap:wrap;gap:var(--viking-space-1)}.api-selector-chip{display:inline-flex;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-half) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt)}.api-prop-group{display:flex;flex-direction:column;gap:var(--viking-space-2)}.api-prop-group-label{margin:0}.api-prop-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 640px){.api-prop-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.api-prop-grid{grid-template-columns:repeat(3, 1fr)}}.api-prop-card{display:flex;flex-direction:column;gap:var(--viking-space-half)}.api-prop-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--viking-space-1)}.api-prop-type{font-size:var(--viking-font-size-xs);color:var(--viking-accent);font-family:var(--viking-font-family-mono, ui-monospace, monospace)}.api-prop-default{margin:0;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.api-prop-desc{margin:0;font-size:var(--viking-font-size-sm)}.landing-showcase{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-6))}.landing-hero{display:grid;gap:var(--viking-space-5);align-items:center;padding:var(--viking-space-5) 0 var(--viking-space-3)}@media(min-width: 960px){.landing-hero{grid-template-columns:minmax(0, 1.02fr) minmax(24rem, 0.98fr);gap:var(--viking-space-6)}}.landing-hero-copy{display:flex;flex-direction:column;gap:var(--viking-space-3);min-width:0}.landing-hero-copy>.viking-heading{max-width:18ch}.landing-hero-copy>.viking-text-muted{max-width:var(--viking-content-readable-max-width, 48rem)}.landing-hero-badge{display:inline-flex;align-items:center;gap:var(--viking-space-1);width:fit-content;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide)}.landing-hero-badge-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background:var(--viking-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--viking-accent) 30%, transparent)}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.landing-stats{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--viking-space-3)}@media(min-width: 640px){.landing-stats{grid-template-columns:repeat(4, 1fr)}}.landing-stat{padding:var(--viking-card-padding-compact);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-recipe, var(--viking-surface));min-width:0;box-shadow:var(--viking-shadow-xs)}.landing-section{display:flex;flex-direction:column;gap:var(--viking-space-3);padding-block:var(--viking-space-4);border-top:1px solid var(--viking-border-subtle)}.landing-section-header{display:flex;flex-direction:column;gap:var(--viking-space-1);max-width:var(--viking-content-readable-max-width, 48rem)}.landing-section-header-row{max-width:none;justify-content:space-between;gap:var(--viking-space-3)}@media(min-width: 820px){.landing-section-header-row{flex-direction:row;align-items:end}}.landing-feature-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 768px){.landing-feature-grid{grid-template-columns:repeat(3, 1fr)}}.landing-preview-panel{padding:var(--viking-card-padding);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-lg);display:flex;flex-direction:column;gap:var(--viking-space-2);position:relative;overflow:hidden}.landing-preview-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 40%, transparent), transparent)}.landing-preview-toolbar,.landing-preview-form{display:flex;flex-direction:column;gap:var(--viking-space-3)}.landing-preview-toolbar{flex-direction:row;justify-content:space-between;align-items:center}.landing-preview-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 560px){.landing-preview-grid{grid-template-columns:repeat(2, 1fr)}}.landing-framework-strip{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);padding:var(--viking-space-3) 0}.landing-framework-chip{display:inline-flex;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium)}.landing-framework-chip code{font-size:var(--viking-font-size-xs);color:var(--viking-accent)}.landing-quickstart-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);align-items:start}@media(min-width: 980px){.landing-quickstart-grid{grid-template-columns:minmax(16rem, 0.8fr) minmax(0, 1.2fr)}}.landing-quickstart-steps{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-card-padding)}.landing-step-list{display:flex;flex-direction:column;gap:var(--viking-space-1);margin:0;padding-left:var(--viking-space-3)}.landing-quickstart-code{min-width:0}.landing-component-grid,.landing-framework-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 720px){.landing-component-grid{grid-template-columns:repeat(2, 1fr)}.landing-framework-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1080px){.landing-component-grid{grid-template-columns:repeat(3, 1fr)}.landing-framework-grid{grid-template-columns:repeat(4, 1fr)}}.landing-component-card,.landing-framework-card{display:flex;flex-direction:column;gap:var(--viking-space-1);padding:var(--viking-card-padding);color:inherit;text-decoration:none;transition:transform var(--viking-duration-normal) var(--viking-ease-out),border-color var(--viking-duration-normal) var(--viking-ease-out),box-shadow var(--viking-duration-normal) var(--viking-ease-out)}.landing-component-card:hover,.landing-framework-card:hover{transform:translateY(var(--viking-state-hover-lift, -4px));border-color:var(--viking-accent);box-shadow:var(--viking-shadow-hover)}.landing-component-card p,.landing-framework-card span:last-child{margin:0}.landing-playground-band{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);align-items:center;padding:var(--viking-space-4);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-md)}@media(min-width: 900px){.landing-playground-band{grid-template-columns:1fr minmax(18rem, 0.72fr)}}.landing-playground-copy,.landing-playground-preview{display:flex;flex-direction:column;gap:var(--viking-space-2)}.landing-playground-preview{padding:var(--viking-card-padding)}.component-detail-link{display:inline-block;margin-top:var(--viking-space-1);font-size:var(--viking-font-size-sm);color:var(--viking-accent);text-decoration:none}.component-detail-link:hover{text-decoration:underline}.showcase-auth-panel{max-width:24rem;padding:var(--viking-space-3);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-alt);display:flex;flex-direction:column;gap:var(--viking-space-2)}.showcase-search-palette{max-width:36rem;display:flex;flex-direction:column;border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius-lg);background:var(--viking-surface-raised, var(--viking-surface));box-shadow:var(--viking-shadow-lg);overflow:hidden;isolation:isolate}.viking-search-group-label-static{margin:var(--viking-space-1) 0 var(--viking-space-half);padding:0 var(--viking-space-1);font-size:var(--viking-font-size-2xs, var(--viking-font-size-xs));font-weight:var(--viking-font-weight-semibold, 600);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted)}.showcase-search-palette-header{display:flex;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-2);border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 26%, var(--viking-surface-raised))}.showcase-search-icon{color:var(--viking-text-muted);font-size:var(--viking-font-size-lg)}.showcase-search-input{flex:1;border:none;background:rgba(0,0,0,0);color:var(--viking-text);font:inherit;outline:none}.showcase-search-palette-body{padding:var(--viking-space-2)}.showcase-search-palette-footer{padding:var(--viking-space-1) var(--viking-space-2);border-top:1px solid var(--viking-border);font-size:calc(var(--viking-font-size)*.85);color:var(--viking-text-muted);text-align:center}.showcase-chart-demo{width:100%;max-width:24rem;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:color-mix(in srgb, var(--viking-surface) 96%, var(--viking-bg))}.showcase-chart-line{fill:none;stroke:var(--viking-accent);stroke-width:2}.showcase-chart-area{fill:color-mix(in srgb, var(--viking-accent) 20%, transparent);stroke:none}.showcase-modal-demo{position:relative;padding:var(--viking-space-4);border-radius:var(--viking-radius-lg);background:var(--viking-surface-alt);overflow:hidden}.showcase-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb, var(--viking-bg) 60%, transparent)}.showcase-modal-panel{position:relative;z-index:1;max-width:28rem;margin:0 auto}.showcase-toast-demo{max-width:24rem;border-left:3px solid var(--viking-success)}.showcase-icon-demo{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-space-5);height:var(--viking-space-5);color:var(--viking-accent);font-size:var(--viking-font-size-lg)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body.docs-body{margin:0;min-height:100vh;background:var(--viking-bg);color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size-base);line-height:var(--viking-line-height-normal)}.skip-link{position:absolute;top:var(--viking-space-1);left:var(--viking-space-1);z-index:1000;padding:var(--viking-space-1) var(--viking-space-2);background:var(--viking-accent);color:var(--viking-accent-content);border-radius:var(--viking-radius);transform:translateY(-200%);transition:transform var(--viking-duration-fast) var(--viking-ease-out)}.skip-link:focus{transform:translateY(0)}.page-inner-wrapper{width:100%;max-width:var(--viking-container-max-width, 1260px);margin-inline:auto;padding-inline:var(--viking-page-gutter, var(--viking-space-2))}@media(min-width: 768px){.page-inner-wrapper{padding-inline:var(--viking-page-gutter-lg, var(--viking-space-3))}}a{color:var(--viking-accent);text-decoration:none}a:hover{color:var(--viking-accent-hover)}code{font-family:var(--viking-font-family-mono, ui-monospace, monospace);font-size:.9em;background:var(--viking-surface-alt);padding:.1em .35em;border-radius:var(--viking-radius-xs);border:1px solid var(--viking-border-subtle)}.docs-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 92%, transparent);backdrop-filter:blur(8px)}.docs-header-inner{display:flex;align-items:center;gap:var(--viking-space-2);min-height:var(--viking-navbar-height, 64px)}.docs-brand{display:inline-flex;align-items:center;gap:var(--viking-space-1);color:var(--viking-text);text-decoration:none;flex-shrink:0}.docs-brand-mark{color:var(--viking-accent)}.docs-brand-text{display:flex;flex-direction:column;line-height:1.2}.docs-brand-name{font-weight:var(--viking-font-weight-bold);font-size:var(--viking-font-size-sm);letter-spacing:var(--viking-letter-spacing-wide)}.docs-brand-tag{font-size:var(--viking-font-size-2xs);color:var(--viking-text-muted);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.docs-nav{display:none;align-items:center;gap:var(--viking-space-half);margin-inline:auto}@media(min-width: 900px){.docs-nav{display:flex}}.docs-nav-link{padding:var(--viking-space-half) var(--viking-space-1);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);transition:var(--viking-transition-colors)}.docs-nav-link:hover,.docs-nav-link.is-active{color:var(--viking-text);background:var(--viking-surface-alt)}.docs-header-actions{display:flex;align-items:center;gap:var(--viking-space-1);margin-left:auto}.docs-github-link{display:inline-flex;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-half) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);transition:var(--viking-transition-interactive)}.docs-github-link:hover{color:var(--viking-text);border-color:var(--viking-border-strong)}.docs-github-label{display:none}@media(min-width: 640px){.docs-github-label{display:inline}}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);border:1px solid color-mix(in srgb, var(--viking-accent) 32%, var(--viking-border-strong));border-radius:var(--viking-radius);background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface));color:var(--viking-accent-strong, var(--viking-teal-400));box-shadow:var(--viking-shadow-sm);cursor:pointer;transition:var(--viking-transition-interactive)}.theme-toggle-btn:hover{border-color:var(--viking-accent-strong, var(--viking-teal-400));background:color-mix(in srgb, var(--viking-accent) 14%, var(--viking-surface));color:var(--viking-accent-strong, var(--viking-teal-400));box-shadow:var(--viking-shadow-md)}.theme-toggle-btn:focus-visible{outline:2px solid var(--viking-ring);outline-offset:2px}html[data-theme=dark] .theme-icon-sun{display:block}html[data-theme=dark] .theme-icon-moon{display:none}html[data-theme=light] .theme-icon-sun{display:none}html[data-theme=light] .theme-icon-moon{display:block}.showcase-subnav{position:sticky;top:var(--viking-navbar-height, 64px);z-index:45;border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 94%, transparent);backdrop-filter:blur(8px);--showcase-subnav-height: 52px;min-height:var(--showcase-subnav-height)}.showcase-subnav-inner{padding-block:var(--viking-space-1)}.showcase-subnav-scroll{display:flex;gap:var(--viking-space-1);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.showcase-subnav-scroll::-webkit-scrollbar{display:none}.showcase-subnav-link{flex-shrink:0;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid rgba(0,0,0,0);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);text-decoration:none;white-space:nowrap;min-height:var(--viking-control-height, 44px);display:inline-flex;align-items:center;transition:var(--viking-transition-colors)}.showcase-subnav-link:hover{color:var(--viking-text);background:var(--viking-surface-alt)}.showcase-subnav-link.is-active{color:var(--viking-accent);border-color:color-mix(in srgb, var(--viking-accent) 28%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 10%, var(--viking-surface))}.docs-layout{display:grid;grid-template-columns:1fr;min-height:calc(100vh - var(--viking-navbar-height, 64px))}.docs-layout-full{grid-template-columns:1fr}.docs-main{display:flex;flex-direction:column;min-width:0}.docs-content{flex:1;padding:0}@media(min-width: 768px){.docs-content{padding:0}}.docs-footer{border-top:1px solid var(--viking-border);padding:var(--viking-space-4) 0;margin-top:var(--viking-space-5)}.docs-footer-grid{display:flex;flex-wrap:wrap;gap:var(--viking-space-3);justify-content:space-between;align-items:flex-start}.docs-footer-nav{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.docs-footer-nav a{color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.docs-footer-copy{margin:var(--viking-space-3) 0 0;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.code-block{border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);overflow:hidden;background:var(--viking-charcoal-950, #0a0a0a)}.code-block-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-half);padding:var(--viking-space-1);border-bottom:1px solid var(--viking-border);background:var(--viking-surface)}.code-block-tab{padding:var(--viking-space-half) var(--viking-space-1);border:none;border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-medium);cursor:pointer;min-height:36px}.code-block-tab.is-active{background:var(--viking-surface-alt);color:var(--viking-text)}.code-block-tab:focus-visible{outline:2px solid var(--viking-ring);outline-offset:2px}.code-block-copy{display:inline-flex;align-items:center;gap:var(--viking-space-half);margin-left:auto;padding:var(--viking-space-half) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);cursor:pointer;min-height:36px}.code-block-copy:hover{color:var(--viking-text);border-color:var(--viking-border-strong)}.code-block-panel{margin:0;padding:var(--viking-space-2);overflow-x:auto;font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-relaxed);color:var(--viking-text)}.code-block-panel code{background:rgba(0,0,0,0);border:none;padding:0;white-space:pre}.code-block-panel[hidden]{display:none}.token-inspector-search{width:100%;max-width:28rem;margin-bottom:var(--viking-space-3)}.token-table{width:100%;border-collapse:collapse;font-size:var(--viking-font-size-sm)}.token-table th,.token-table td{padding:var(--viking-space-1);text-align:left;border-bottom:1px solid var(--viking-border-subtle)}.token-swatch{width:2rem;height:2rem;border-radius:var(--viking-radius-sm);border:1px solid var(--viking-border)}.token-copy-btn{padding:var(--viking-space-half) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);cursor:pointer;min-height:32px}.framework-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 768px){.framework-grid{grid-template-columns:repeat(2, 1fr)}}.framework-card{padding:var(--viking-space-3);background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm)}.contribute-steps{display:flex;flex-direction:column;gap:var(--viking-page-stack-gap);counter-reset:step}.contribute-step{padding:var(--viking-card-padding);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface))}.contribute-step h3::before{counter-increment:step;content:counter(step, decimal-leading-zero) " — ";color:var(--viking-accent)}html,body{height:100%;margin:0;padding:0;overflow-x:hidden}body{background-color:var(--viking-bg, var(--bg-color));color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family, "Inter", ui-sans-serif, system-ui, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.backend-landing-shell{display:flex;flex-direction:column;gap:var(--viking-space-8);min-height:calc(100vh - var(--viking-navbar-height, 64px))}.backend-hero{text-align:center;align-items:center;max-width:var(--viking-content-readable-max-width, 48rem);margin-inline:auto;padding-block:var(--viking-space-7);box-shadow:var(--viking-shadow-sm)}.backend-status-badge{align-self:center;text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps)}.backend-status-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background-color:var(--viking-success);animation:backend-status-pulse 2s infinite}@keyframes backend-status-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-success) 70%, transparent)}70%{box-shadow:0 0 0 var(--viking-space-1) color-mix(in srgb, var(--viking-success) 0%, transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-success) 0%, transparent)}}.backend-hero-lead{text-align:center;margin-inline:auto}.backend-hero-cta{justify-content:center;margin-top:var(--viking-space-3)}.backend-feature-grid{display:flex;flex-direction:column;gap:var(--viking-space-4);width:100%}.backend-feature-cards{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr));gap:var(--viking-space-4);width:100%}.backend-feature-card-body{display:flex;flex-direction:column;gap:var(--viking-space-3)}.backend-feature-icon{width:var(--viking-space-6);height:var(--viking-space-6);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm);border:none}body.backend-404 main.main{min-height:calc(100vh - var(--viking-navbar-height, 64px));display:flex;align-items:center;justify-content:center}body.backend-404 .backend-error-card{max-width:var(--viking-form-max-width, 720px);margin-inline:auto;text-align:center}body.backend-404 .backend-error-logo{max-width:100px;width:100%;margin:0 auto var(--viking-space-3);filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--viking-black) 15%, transparent))}body.backend-404 .backend-error-card .viking-heading-xl{text-transform:uppercase}body.backend-404 .backend-error-card .viking-text-muted{margin-inline:auto}body.backend-404 .viking-cta-row{justify-content:center;margin-top:var(--viking-space-3)}@media(prefers-reduced-motion: reduce){.backend-status-dot{animation:none}}body.backend-swagger{background:var(--viking-bg, var(--bg-color))}.backend-swagger-shell{padding-block:var(--viking-space-6) var(--viking-space-8)}.backend-swagger-panel{padding:0;overflow:hidden}.backend-swagger-hero{border:none;border-radius:0;box-shadow:none;border-bottom:1px solid var(--viking-border);margin:0}.backend-swagger-toolbar{padding:var(--viking-space-3) var(--viking-card-padding);border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-surface-alt) 40%, transparent)}.backend-swagger-search{margin:0;max-width:none}.backend-swagger-search .viking-input-shell{width:100%}.backend-swagger-panel #swagger-ui{padding:var(--viking-space-2) var(--viking-card-padding) var(--viking-card-padding)}.swagger-ui .opblock .opblock-summary{flex-wrap:wrap;gap:var(--viking-space-1, 8px)}.swagger-ui .topbar{display:none}.swagger-ui{font-family:var(--viking-font-family, "Inter", system-ui, sans-serif);color:var(--viking-text, var(--text-color))}.swagger-ui,.swagger-ui .wrapper,.swagger-ui section{background:rgba(0,0,0,0)}.swagger-ui .info .title{display:none}.swagger-ui .info{margin:0;padding:var(--viking-space-2, 16px) 0;border-bottom:1px solid var(--viking-border, var(--border))}.swagger-ui .info .markdown,.swagger-ui .info .description{margin:0;max-width:none;text-align:left}.swagger-ui .info .base-url,.swagger-ui .info p,.swagger-ui .info li,.swagger-ui .info .markdown p{font-size:.92rem;line-height:1.6;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .info .description{padding:var(--viking-space-2, 16px);border-radius:var(--viking-radius, 8px);border:1px solid color-mix(in srgb, var(--viking-accent, var(--color-primary)) 22%, var(--border));background:color-mix(in srgb, var(--viking-accent, var(--color-primary)) 6%, transparent)}.swagger-ui .info a{color:var(--viking-accent, var(--color-primary));text-decoration:none}.swagger-ui .info a:hover,.swagger-ui .info a:focus-visible{text-decoration:underline;text-underline-offset:3px}.swagger-ui .scheme-container{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--viking-space-2, 16px);margin:0;padding:var(--viking-space-2, 16px) 0;border:none;border-bottom:1px solid var(--viking-border, var(--border));border-radius:0;box-shadow:none !important;background:rgba(0,0,0,0) !important}.swagger-ui .scheme-container .schemes>label{color:var(--viking-text-muted, var(--text-muted));font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .scheme-container select{background:var(--viking-surface-alt, var(--viking-charcoal-700));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius-sm, 6px);color:var(--viking-text, var(--text-color));font-family:inherit;font-size:var(--viking-font-size-sm, 14px);min-height:36px;padding:0 var(--viking-space-2, 16px)}.swagger-ui .filter-container{margin:0;padding:0;border:none;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.swagger-ui .filter-container input[type=text]{width:100%;max-width:100%;min-height:36px;padding:0 var(--viking-space-2, 16px);border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface-alt, var(--viking-charcoal-800));box-shadow:none;color:var(--viking-text, var(--text-color))}.swagger-ui .btn{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius, 8px);box-shadow:none;color:var(--viking-text, var(--text-color));font-family:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;min-height:36px;padding:0 var(--viking-space-2, 16px);text-transform:uppercase;transition:var(--viking-transition-interactive, all 0.2s ease)}.swagger-ui .btn:hover{background:var(--viking-surface-raised, var(--viking-charcoal-600));border-color:var(--viking-accent-strong, var(--viking-teal-400));transform:none}.swagger-ui .btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--focus-ring-color));outline-offset:var(--viking-ring-offset, 2px)}.swagger-ui .btn.authorize,.swagger-ui .btn.authorize.unlocked,.swagger-ui .btn.execute{background:var(--viking-accent, var(--color-primary));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));color:var(--viking-accent-content, var(--viking-white-pure));box-shadow:var(--viking-shadow-sm);min-height:var(--viking-control-height, 40px);border-radius:var(--viking-radius, 8px)}.swagger-ui .btn.authorize:hover,.swagger-ui .btn.authorize.unlocked:hover,.swagger-ui .btn.execute:hover{background:var(--viking-accent-hover, var(--viking-teal-500));border-color:color-mix(in srgb, var(--viking-accent-hover) 82%, var(--viking-black));color:var(--viking-accent-content, var(--viking-white-pure));box-shadow:var(--viking-shadow-md)}.swagger-ui .opblock-tag-section{margin:0}.swagger-ui .opblock-tag{margin:var(--viking-space-3, 24px) 0 var(--viking-space-1, 8px);padding:0 0 var(--viking-space-1, 8px);border-bottom:1px solid var(--viking-border, var(--border));font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .opblock-tag small{font-size:.85rem;font-weight:500;letter-spacing:normal;text-transform:none}.swagger-ui .opblock-tag svg{fill:var(--viking-text-muted, var(--text-muted))}.swagger-ui .opblock{margin:0;border:none;border-bottom:1px solid var(--viking-border, var(--border));border-radius:0;box-shadow:none;background:rgba(0,0,0,0)}.swagger-ui .opblock.opblock-post,.swagger-ui .opblock.opblock-get,.swagger-ui .opblock.opblock-put,.swagger-ui .opblock.opblock-patch,.swagger-ui .opblock.opblock-delete,.swagger-ui .opblock.opblock-options,.swagger-ui .opblock.opblock-head{border:none;border-bottom:1px solid var(--viking-border, var(--border));background:rgba(0,0,0,0)}.swagger-ui .opblock .opblock-summary{border:none;background:rgba(0,0,0,0) !important;padding:var(--viking-space-3, 24px) 0}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid var(--viking-border-subtle, var(--border))}.swagger-ui .opblock .opblock-summary-method{border-radius:var(--viking-radius-sm, 6px);font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.68rem;font-weight:700;letter-spacing:.06em;min-width:64px;text-align:center}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:color-mix(in srgb, var(--viking-accent) 16%, transparent);color:var(--viking-accent-strong)}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:color-mix(in srgb, var(--viking-accent) 16%, transparent);color:var(--viking-accent-strong)}.swagger-ui .opblock.opblock-put .opblock-summary-method,.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:color-mix(in srgb, var(--viking-gold-500) 16%, transparent);color:var(--viking-gold-500)}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:color-mix(in srgb, var(--viking-crimson-600) 14%, transparent);color:var(--viking-crimson-400)}.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem}.swagger-ui .opblock .opblock-summary-description{color:var(--viking-text-muted, var(--text-muted));font-size:.88rem}.swagger-ui .opblock-body,.swagger-ui .opblock-section{background:color-mix(in srgb, var(--viking-bg, var(--bg-color)) 35%, transparent)}.swagger-ui .opblock .opblock-section-header{align-items:center;background:color-mix(in srgb, var(--viking-surface-alt, var(--viking-charcoal-800)) 72%, transparent) !important;border-bottom:1px solid var(--viking-border-subtle, var(--border));box-shadow:none !important;min-height:auto;padding:var(--viking-space-1-5, 12px) var(--viking-space-2, 16px)}.swagger-ui .opblock .opblock-section-header h4{color:var(--viking-text-muted, var(--text-muted));flex:1;font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.swagger-ui .opblock .opblock-section-header>label{align-items:center;color:var(--viking-text-muted, var(--text-muted));display:flex;font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0 0 0 auto;text-transform:uppercase}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 var(--viking-space-1, 8px) 0 0}.swagger-ui .opblock-section-header{background:color-mix(in srgb, var(--viking-surface-alt, var(--viking-charcoal-800)) 72%, transparent) !important;border-bottom:1px solid var(--viking-border-subtle, var(--border));box-shadow:none !important;padding:var(--viking-space-1-5, 12px) 0}.swagger-ui .opblock-section-header h4,.swagger-ui .opblock-section-header label{color:var(--viking-text-muted, var(--text-muted));font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .opblock-body{padding:var(--viking-space-3, 24px) 0}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{background:rgba(0,0,0,0);color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:.88rem;margin:0;padding:var(--viking-space-2, 16px) 0}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .table-container{background:rgba(0,0,0,0);padding:var(--viking-space-2, 16px) 0}.swagger-ui .parameters-col_description,.swagger-ui .parameters-col_name{color:var(--viking-text, var(--text-color))}.swagger-ui .parameters-col_description .markdown p,.swagger-ui .parameters-col_description .renderedMarkdown p,.swagger-ui .opblock-body .markdown p,.swagger-ui .opblock-body .renderedMarkdown p{color:var(--viking-text-muted, var(--text-muted));font-size:.88rem;margin:0}.swagger-ui .parameter__name{color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem;font-weight:600}.swagger-ui .parameter__name.required span{color:var(--viking-crimson-400, var(--color-error))}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{color:var(--viking-text-muted, var(--text-muted));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.78rem}.swagger-ui .tab{display:flex;gap:var(--viking-space-2, 16px);margin:0 0 var(--viking-space-1, 8px)}.swagger-ui .tab li{color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;min-width:0;padding:0;text-transform:uppercase}.swagger-ui .tab li:first-of-type:after{background:var(--viking-border-subtle, var(--border))}.swagger-ui .tab li.active{color:var(--viking-accent-strong, var(--viking-teal-400));font-weight:700}.swagger-ui .tab li button.tablinks{color:inherit}.swagger-ui .body-param-options label{color:var(--viking-text-muted, var(--text-muted));font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:var(--viking-space-1, 8px) 0;text-transform:uppercase}.swagger-ui .body-param__media-type,.swagger-ui .body-param__text{color:var(--viking-text, var(--text-color))}.swagger-ui .execute-wrapper{background:rgba(0,0,0,0);padding:var(--viking-space-2, 16px) 0 0;text-align:left}.swagger-ui .execute-wrapper .btn{width:100%}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5,.swagger-ui .response-control-media-type__title,.swagger-ui .response-control-examples__title{color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .response-col_status,.swagger-ui .response-col_links{color:var(--viking-text, var(--text-color));font-family:inherit;font-size:.88rem}.swagger-ui .response-col_status .response-undocumented{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .response-control-media-type__accept-message{color:var(--viking-success, var(--viking-green-500))}.swagger-ui .response-control-media-type--accept-controller select.content-type{border-color:var(--viking-success, var(--viking-green-500))}.swagger-ui .btn.cancel{background:rgba(0,0,0,0) !important;border-color:var(--viking-border-strong, var(--border)) !important;color:var(--viking-text-muted, var(--text-muted)) !important}.swagger-ui .btn.cancel:hover{background:color-mix(in srgb, var(--viking-crimson-500, var(--color-error)) 10%, transparent) !important;border-color:var(--viking-crimson-400, var(--color-error)) !important;color:var(--viking-crimson-400, var(--color-error)) !important}.swagger-ui .opblock-body pre.microlight{background:var(--viking-charcoal-950, #0a0a0a) !important;border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius, 8px);color:var(--viking-text, var(--text-color)) !important;font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace) !important;font-size:.84rem !important;padding:var(--viking-space-2, 16px) !important}.swagger-ui .markdown p,.swagger-ui .renderedMarkdown p{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{background:none;color:var(--viking-text, var(--text-color));font-weight:400;padding:0}.swagger-ui .copy-to-clipboard{background:var(--viking-surface-alt, var(--viking-charcoal-700));border:1px solid var(--viking-border, var(--border))}.swagger-ui .copy-to-clipboard:hover{background:var(--viking-surface-raised, var(--viking-charcoal-600))}.swagger-ui .parameters-col_description input[type=text],.swagger-ui .parameters-col_description select,.swagger-ui .opblock-body input[type=text],.swagger-ui .opblock-body input[type=password],.swagger-ui .opblock-body input[type=search],.swagger-ui .opblock-body input[type=email],.swagger-ui .opblock-body input[type=url],.swagger-ui .opblock-body textarea,.swagger-ui textarea,.swagger-ui input[type=text],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=email],.swagger-ui input[type=url],.swagger-ui select{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius-sm, 6px);color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem;min-height:var(--viking-control-height, 44px);padding:var(--viking-space-1, 8px) var(--viking-space-2, 16px)}.swagger-ui input:focus-visible,.swagger-ui textarea:focus-visible,.swagger-ui select:focus-visible{border-color:var(--viking-accent-strong, var(--viking-teal-400));outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--focus-ring-color));outline-offset:var(--viking-ring-offset, 2px)}.swagger-ui .parameter__name,.swagger-ui .parameter__type,.swagger-ui .parameter__in{font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem}.swagger-ui .parameter__in{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui table thead tr th,.swagger-ui table thead tr td{border-bottom:1px solid var(--viking-border, var(--border));color:var(--viking-text-muted, var(--text-muted));font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui table tbody tr td{border-bottom:1px solid var(--viking-border-subtle, var(--border));font-size:.88rem;padding:var(--viking-space-1-5, 12px) 0}.swagger-ui .responses-inner{padding:var(--viking-space-2, 16px) 0}.swagger-ui .response-col_status{font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-weight:700}.swagger-ui .response-col_description__inner p,.swagger-ui .response-col_links{color:var(--viking-text-muted, var(--text-muted));font-size:.88rem}.swagger-ui .highlight-code,.swagger-ui .microlight,.swagger-ui .renderedMarkdown pre,.swagger-ui pre{background:var(--viking-charcoal-950, #0a0a0a) !important;border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius, 8px);color:var(--viking-text, var(--text-color)) !important;font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace) !important;font-size:.84rem !important;line-height:1.55;padding:var(--viking-space-2, 16px) !important}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:color-mix(in srgb, var(--viking-surface-alt, #1a1a1a) 70%, transparent);border:1px solid var(--viking-border-subtle, var(--border));border-radius:4px;color:var(--viking-accent-strong, var(--viking-teal-400));font-size:.84em;padding:1px 5px}.swagger-ui section.models{margin-top:var(--viking-space-3, 24px);border:none;border-top:1px solid var(--viking-border, var(--border));border-radius:0;overflow:visible}.swagger-ui section.models h4{margin:0;padding:var(--viking-space-3, 24px) 0 var(--viking-space-1, 8px);border:none;background:rgba(0,0,0,0);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui section.models.is-open h4{border-bottom:none}.swagger-ui section.models .model-container{margin:0;padding:0}.swagger-ui section.models .model-box{display:flex;align-items:center;flex-wrap:wrap;gap:var(--viking-space-1, 8px);margin:0;padding:var(--viking-space-2, 16px) 0;border:none;border-bottom:1px solid var(--viking-border-subtle, var(--border));border-radius:0;background:rgba(0,0,0,0)}.swagger-ui section.models .model-box:last-child{border-bottom:none}.swagger-ui section.models .model-box-control{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--viking-space-1, 8px);margin:0;padding:0;border:none;background:rgba(0,0,0,0) !important;box-shadow:none !important;text-align:left}.swagger-ui section.models .model-box .btn,.swagger-ui section.models .model-toggle,.swagger-ui section.models button.model-box-control{background:rgba(0,0,0,0) !important;border:none !important;box-shadow:none !important;min-height:auto;padding:0;text-transform:none;letter-spacing:normal;font-weight:600;color:var(--viking-text, var(--text-color))}.swagger-ui section.models .model-box>.btn{margin-left:auto;font-size:.75rem;font-weight:500;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui section.models .model-title,.swagger-ui section.models .model-title__text{color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:.88rem;font-weight:600}.swagger-ui section.models .model .prop-type,.swagger-ui section.models .model .prop-format{margin-left:auto;color:var(--viking-accent, var(--color-primary));font-size:.78rem}.swagger-ui .model .property-row{border-bottom:1px solid var(--viking-border-subtle, var(--border))}.swagger-ui .dialog-ux .modal-ux{background:color-mix(in srgb, #0a0a0a 72%, transparent)}.swagger-ui .dialog-ux .modal-ux-content{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--border));border-radius:var(--viking-radius-lg, 12px);box-shadow:var(--viking-shadow-lg, var(--shadow-lg));padding:var(--viking-space-3, 24px)}.swagger-ui .dialog-ux .modal-ux-header{border-bottom:1px solid var(--viking-border, var(--border));padding:0 0 var(--viking-space-2, 16px);margin-bottom:var(--viking-space-2, 16px)}.swagger-ui .dialog-ux .modal-ux-header h3{font-size:1.1rem;font-weight:700;color:var(--viking-text, var(--text-color))}.swagger-ui .auth-container h4,.swagger-ui .auth-container label{color:var(--viking-text, var(--text-color))}.swagger-ui .loading-container .loading{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .errors-wrapper{background:color-mix(in srgb, var(--viking-crimson-500) 10%, transparent);border:1px solid color-mix(in srgb, var(--viking-crimson-500) 30%, transparent);border-radius:var(--viking-radius, 8px);color:var(--viking-crimson-400);margin:var(--viking-space-2, 16px) 0;padding:var(--viking-space-2, 16px)}html[data-theme=light] .swagger-ui .highlight-code,html[data-theme=light] .swagger-ui .microlight,html[data-theme=light] .swagger-ui pre,html[data-theme=light] .swagger-ui .opblock-body pre.microlight{background:var(--viking-charcoal-900, #111111) !important}html[data-theme=light] .swagger-ui .opblock .opblock-section-header{background:color-mix(in srgb, var(--viking-surface-alt, var(--charcoal-800)) 35%, var(--viking-surface, var(--card-bg))) !important}html[data-theme=light] .swagger-ui .filter-container input[type=text]{background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color))}html[data-theme=light] .swagger-ui .scheme-container select,html[data-theme=light] .swagger-ui .opblock-body select,html[data-theme=light] .swagger-ui select{background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color))}@media(prefers-reduced-motion: reduce){.swagger-ui .btn:hover{transform:none}}@media(min-width: 641px){.backend-swagger-hero{padding:var(--viking-space-3) var(--viking-space-3) var(--viking-space-2)}.backend-swagger-toolbar{padding:var(--viking-space-2) var(--viking-space-3)}.backend-swagger-panel #swagger-ui{padding:0 var(--viking-space-3) var(--viking-space-3)}.swagger-ui .opblock .opblock-summary{flex-wrap:nowrap;gap:0}}