@charset "UTF-8";@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter/InterVariable.woff2) format("woff2 supports variations"),url(/assets/fonts/inter/InterVariable.woff2) format("woff2-variations")}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter/InterVariable-Italic.woff2) format("woff2 supports variations"),url(/assets/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, -.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, -.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, .08em);text-transform:uppercase}.viking-tabular-nums{font-variant-numeric:tabular-nums lining-nums}:root{--viking-charcoal-950: #0a0a0a;--viking-charcoal-900: #111111;--viking-charcoal-800: #1a1a1a;--viking-charcoal-700: #2a2a2a;--viking-charcoal-600: #333333;--viking-charcoal-500: #444444;--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-teal-700: #0a5c5f;--viking-teal-600: #0d7377;--viking-teal-500: #109094;--viking-teal-400: #14a3a8;--viking-teal-300: #2db8bd;--viking-crimson-700: #7a2231;--viking-crimson-600: #922b3e;--viking-crimson-500: #a83344;--viking-crimson-400: #c44355;--viking-green-500: #2a9d8f;--viking-gold-500: #c4a035;--viking-blue-500: var(--viking-teal-400);--viking-white: #f5f5f5;--viking-white-pure: #ffffff;--viking-black: #000000;--viking-grid-unit: 4px;--viking-space-0: 0;--viking-space-px: 1px;--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-space-9: 80px;--viking-space-10: 96px;--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-weight-regular: 400;--viking-font-weight-medium: 500;--viking-font-weight-semibold: 600;--viking-font-weight-bold: 700;--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: -.03em;--viking-letter-spacing-tight: -.02em;--viking-letter-spacing-normal: 0;--viking-letter-spacing-wide: .025em;--viking-letter-spacing-wider: .05em;--viking-letter-spacing-caps: .08em;--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-pill: 999px;--viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, .18), 0 1px 3px rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .04);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, .16), 0 4px 8px rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .05);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, .14), 0 12px 24px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .06);--viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, .14);--viking-shadow-hover: 0 8px 16px rgba(0, 0, 0, .14), 0 4px 8px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .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(.4, 0, .2, 1);--viking-ease-in: cubic-bezier(.4, 0, 1, 1);--viking-ease-out: cubic-bezier(0, 0, .2, 1);--viking-duration-fast: .15s;--viking-duration: .25s;--viking-duration-slow: .35s;--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-state-hover-lift: -1px;--viking-state-active-scale: .985;--viking-state-disabled-opacity: .48;--viking-control-height: 40px;--viking-control-height-sm: 32px;--viking-control-height-xs: 24px;--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-2);--viking-page-gutter-lg: var(--viking-space-3);--viking-page-gutter-xl: var(--viking-space-4);--viking-page-stack-gap: var(--viking-space-3);--viking-page-section-gap: var(--viking-space-4);--viking-section-padding-y: var(--viking-space-6);--viking-section-padding-y-compact: var(--viking-space-4);--viking-card-padding: var(--viking-space-3);--viking-card-padding-compact: var(--viking-space-2);--viking-panel-padding: var(--viking-space-3);--viking-panel-header-padding: var(--viking-space-3);--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]{--viking-bg: var(--viking-charcoal-900);--viking-surface: var(--viking-charcoal-800);--viking-surface-alt: var(--viking-charcoal-700);--viking-surface-raised: var(--viking-charcoal-600);--viking-text: var(--viking-white);--viking-text-muted: var(--viking-metallic-200);--viking-text-subtle: var(--viking-metallic-300);--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-accent: var(--viking-teal-600);--viking-accent-hover: var(--viking-teal-500);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix(in srgb, var(--viking-teal-600) 18%, transparent);--viking-accent-strong: var(--viking-teal-400);--viking-accent-secondary: 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-crimson-600) 16%, transparent);--viking-success: var(--viking-green-500);--viking-warning: var(--viking-gold-500);--viking-danger: var(--viking-crimson-500);--viking-info: var(--viking-blue-500);--viking-danger-text: var(--viking-crimson-400);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-teal-400);--viking-ring-width: 2px;--viking-ring-offset: 2px;--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-950) 72%, transparent);--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, .28), 0 1px 3px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .04);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, .24), 0 4px 8px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255, 255, 255, .05);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, .2), 0 12px 24px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .06)}html[data-theme=light]{--viking-bg: var(--viking-white-pure);--viking-surface: var(--viking-white-pure);--viking-surface-alt: #f7f7f7;--viking-surface-raised: #efefef;--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--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-accent: var(--viking-teal-700);--viking-accent-hover: var(--viking-teal-600);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix(in srgb, var(--viking-teal-700) 14%, transparent);--viking-accent-strong: var(--viking-teal-500);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-700) 12%, transparent);--viking-danger-text: var(--viking-crimson-700);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-teal-600);--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-900) 45%, transparent);--viking-shadow-sm: 0 1px 2px rgba(17, 17, 17, .06), 0 1px 3px rgba(17, 17, 17, .08);--viking-shadow-md: 0 2px 4px rgba(17, 17, 17, .06), 0 4px 8px rgba(17, 17, 17, .08);--viking-shadow-lg: 0 4px 8px rgba(17, 17, 17, .06), 0 12px 24px rgba(17, 17, 17, .1)}@media(prefers-color-scheme:light){html:not([data-theme=dark]){--viking-bg: var(--viking-white-pure);--viking-surface: var(--viking-white-pure);--viking-surface-alt: #f7f7f7;--viking-surface-raised: #efefef;--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--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-accent: var(--viking-teal-700);--viking-accent-hover: var(--viking-teal-600);--viking-accent-soft: color-mix(in srgb, var(--viking-teal-700) 10%, transparent);--viking-accent-strong: var(--viking-teal-500);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-soft: color-mix(in srgb, var(--viking-crimson-700) 8%, transparent);--viking-danger-text: var(--viking-crimson-700);--viking-ring: var(--viking-teal-600);--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-900) 45%, transparent);--viking-shadow-sm: 0 1px 2px rgba(17, 17, 17, .06), 0 1px 3px rgba(17, 17, 17, .08);--viking-shadow-md: 0 2px 4px rgba(17, 17, 17, .06), 0 4px 8px rgba(17, 17, 17, .08);--viking-shadow-lg: 0 4px 8px rgba(17, 17, 17, .06), 0 12px 24px rgba(17, 17, 17, .1)}}:root{--viking-series-1: var(--viking-teal-600);--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-1: var(--viking-space-1);--space-1-5: var(--viking-space-1-5);--space-2: var(--viking-space-2);--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-9: var(--viking-space-9);--space-10: var(--viking-space-10);--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-teal-600);--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-teal-600);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-teal-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-teal-400);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-teal-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-bg) 96%, transparent);--link-color: var(--viking-teal-400);--link-hover-color: var(--viking-teal-500);--hero-title-color: var(--viking-white);--primary-text-color: var(--viking-teal-400);--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-teal-400)}html[data-theme=light]{--color-primary: var(--viking-teal-700);--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: #f7f7f7;--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-teal-400);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-teal-600);--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-teal-700);--link-hover-color: var(--viking-teal-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-teal-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-teal-600)}@media(prefers-color-scheme:light){html:not([data-theme=dark]){--color-primary: var(--viking-teal-700);--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: #f7f7f7;--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-teal-400);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-teal-600);--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-teal-700);--link-hover-color: var(--viking-teal-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-teal-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-teal-600)}}:root{--viking-touch-target-min: 44px;--viking-touch-target-comfort: 44px;--viking-state-disabled-opacity: .48;--viking-state-hover-lift: -1px;--viking-state-active-scale: .985;--viking-state-press-inset: inset 0 1px 2px rgba(0, 0, 0, .18);--viking-shadow-hover: var( --shadow-hover, 0 8px 16px rgba(0, 0, 0, .14), 0 4px 8px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .06) );--viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, .06);--viking-surface-recipe: var(--viking-surface) linear-gradient(180deg, rgba(255, 255, 255, .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{0%{opacity:0}to{opacity:1}}@keyframes viking-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes viking-slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes viking-modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viking-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes viking-shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}@keyframes viking-pulse-soft{0%,to{opacity:1}50%{opacity:.72}}@keyframes viking-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes viking-tooltip-in{0%{opacity:0;transform:translateY(4px) scale(.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-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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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:transparent;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:transparent;color:var(--viking-text);min-width:auto;box-shadow:none;border-color:transparent}.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:transparent;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-2));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-3)}.viking-stack--center{--viking-stack-align: center}.viking-cluster{display:flex;flex-wrap:wrap;gap:var(--viking-cluster-gap, var(--viking-space-1));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-2));width:100%}.viking-grid--tight{--viking-grid-gap: var(--viking-space-1)}.viking-grid--loose{--viking-grid-gap: var(--viking-space-3)}.viking-grid--2,.viking-grid--3,.viking-grid--4{grid-template-columns:1fr}@media(min-width:768px){.viking-grid--2,.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-2) 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,.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-2);margin-bottom:var(--viking-space-2)}@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-half);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;align-items:center;gap:var(--viking-space-1);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:flex-start;justify-content:space-between;gap:var(--viking-space-3);padding-bottom:var(--viking-space-3);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-3);min-width:0}.viking-page-header-title-block{display:flex;flex-direction:column;align-items:flex-start;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:var(--viking-font-size-lg);font-weight:700;letter-spacing:-.02em;color:var(--viking-text)}.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:1.6;max-width:var(--viking-content-readable-max-width)}.viking-page-header-actions,.topbar-right{display:flex;flex-wrap:wrap;align-items:center;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-1);margin-bottom:var(--viking-space-3)}.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-1);font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-tight, -.01em);color:var(--viking-text, var(--text-color));margin:0 0 var(--viking-space-1)}.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-teal-600));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-3);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, .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-teal-600));letter-spacing:var(--viking-letter-spacing-tight, -.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:translate(-50%);display:flex;flex-direction:column;align-items:center;width:100%}.gauge-center-text.threat-text{color:var(--viking-teal-600)}.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, .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-3, var(--space-3, 24px)));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-2, var(--space-2, 16px))}.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-6, var(--space-6, 48px)) var(--viking-space-4, var(--space-4, 32px))}@media(min-width:768px){.viking-section--hero{padding-block:calc(var(--viking-space-6, 48px) + var(--viking-space-2, 16px)) var(--viking-space-6, 48px)}}.viking-section-inner{width:100%;max-width:var(--viking-container-max-width, var(--container-max-width, 1260px));margin-inline:auto;padding-inline:var(--viking-space-2, var(--space-2, 16px));box-sizing:border-box}.viking-section-header{display:flex;flex-direction:column;gap:var(--viking-space-1, var(--space-1, 8px));margin-bottom:var(--viking-space-4, var(--space-4, 32px));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, -.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-teal-600, var(--viking-teal-600)));--viking-accent-hover: var(--viking-teal-500, #109094);--viking-accent-content: var(--color-on-primary, var(--viking-white-pure, 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-teal-400, var(--viking-teal-400)));--viking-accent-secondary: var(--accent-color, var(--viking-crimson-600, var(--viking-crimson-600)));--viking-accent-secondary-hover: var(--viking-crimson-500, var(--viking-crimson-500));--viking-accent-secondary-content: var(--viking-white-pure, 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, #111111));--viking-surface: var(--card-bg, var(--viking-charcoal-800, #1a1a1a));--viking-surface-alt: var(--color-surface-variant, var(--viking-charcoal-700, var(--viking-charcoal-700)));--viking-surface-raised: var(--viking-charcoal-600, #333333);--viking-overlay-backdrop: color-mix(in srgb, var(--viking-charcoal-950, #0a0a0a) 72%, transparent);--viking-text: var(--text-color, var(--viking-white, var(--viking-white)));--viking-text-muted: var(--text-muted, var(--viking-metallic-200, #aaaaaa));--viking-text-subtle: var(--viking-metallic-300, #999999);--viking-text-inverted: var(--color-on-primary, var(--viking-charcoal-900, #111111));--viking-border: var(--border, color-mix(in srgb, var(--viking-metallic-600, #555555) 48%, transparent));--viking-border-strong: var(--border-layout, color-mix(in srgb, var(--viking-metallic-400, #777777) 68%, transparent));--viking-border-subtle: color-mix(in srgb, var(--viking-metallic-600, #555555) 28%, transparent);--viking-ring: var(--focus-ring-color, var(--viking-teal-400, var(--viking-teal-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, var(--viking-green-500)));--viking-warning: var(--color-warning, var(--viking-gold-500, var(--viking-gold-500)));--viking-danger: var(--color-error, var(--viking-crimson-500, var(--viking-crimson-500)));--viking-info: var(--color-info, var(--viking-blue-500, var(--viking-blue-500)));--viking-danger-text: color-mix(in srgb, var(--viking-danger) 50%, var(--viking-charcoal-900, #111111));--viking-on-danger: var(--viking-white-pure, 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, .2);--viking-shadow-sm: var( --shadow-sm, 0 1px 2px rgba(0, 0, 0, .18), 0 1px 3px rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .04) );--viking-shadow-md: var( --shadow-md, 0 2px 4px rgba(0, 0, 0, .16), 0 4px 8px rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .05) );--viking-shadow-lg: var( --shadow-lg, 0 4px 8px rgba(0, 0, 0, .14), 0 12px 24px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .06) );--viking-shadow-inner: inset 0 1px 2px rgba(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, -.02em);--viking-letter-spacing-normal: 0;--viking-letter-spacing-wide: .025em;--viking-letter-spacing-wider: .05em;--viking-letter-spacing-caps: .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(.4, 0, .2, 1);--viking-duration-fast: .15s;--viking-duration: .25s;--viking-duration-slow: .35s;--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 .25s cubic-bezier(.4, 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, #111111);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, var(--viking-white-pure));background:var(--viking-charcoal-800, #1a1a1a);border-color:color-mix(in srgb,var(--viking-charcoal-600, #333333) 45%,transparent)}@media(prefers-color-scheme:light){html:not([data-theme=dark]) .viking-tooltip{color:var(--viking-white-pure, var(--viking-white-pure));background:var(--viking-charcoal-800, #1a1a1a);border-color:color-mix(in srgb,var(--viking-charcoal-600, #333333) 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:transparent}@media(prefers-reduced-motion:reduce){.viking-tooltip{animation:none}}.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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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, .15s) var(--viking-ease-default, ease)}.auth-btn:hover svg,a.auth-btn:hover svg,button.auth-btn:hover svg{transform:translate(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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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, .15s) var(--viking-ease-default, ease)}.mobile-auth-btn:hover svg,a.mobile-auth-btn:hover svg,button.mobile-auth-btn:hover svg{transform:translate(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 transparent;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;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.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}.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, .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:-.02em}.navbar-logo{font-size:28px;width:36px;height:36px;line-height:1;color:var(--color-primary, var(--viking-teal-600));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-teal-600))!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-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;gap:var(--viking-space-2, 16px)}.desktop-auth viking-button{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:transparent;border:none;cursor:pointer;overflow:hidden;flex-shrink:1;min-width:0;white-space:nowrap}.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-teal-600) 80%,transparent),transparent);opacity:0;transform:scaleX(.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-teal-600) 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-teal-600) 10%,transparent)!important}.nav-btn.active{color:var(--text-color)!important;background-color:color-mix(in srgb,var(--viking-teal-600) 14%,transparent)!important;box-shadow:inset 0 -2px 0 0 var(--viking-teal-600),0 0 12px color-mix(in srgb,var(--viking-teal-600) 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 .25s ease)}.navbar .theme-toggle-btn:hover,.theme-toggle-btn:hover{border-color:var(--viking-accent-strong, var(--viking-teal-400));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-teal-400));outline-offset:var(--viking-ring-offset, 2px)}.navbar .theme-toggle-btn:hover,.theme-toggle-btn:hover{transform:rotate(15deg);background-color:color-mix(in srgb,var(--viking-teal-600) 5%,var(--viking-surface, var(--card-bg)))}.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{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 .25s ease)}.menu-toggle-btn:hover{border-color:var(--viking-accent-strong, var(--viking-teal-400));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{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-teal-400));outline-offset:var(--viking-ring-offset, 2px)}.menu-toggle-btn{display:inline-flex!important}.menu-toggle-btn[aria-expanded=true]{border-color:var(--viking-accent, var(--viking-teal-600));color:var(--viking-accent-strong, var(--viking-teal-400));background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-teal-600) 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, .08em)!important;text-transform:uppercase!important;white-space:nowrap!important;line-height:1!important}.auth-signout-btn{background:transparent!important;color:var(--text-muted)!important;font-weight:600!important;border-radius:var(--viking-radius-pill, 999px)!important;padding:0 var(--viking-space-1-5, 12px)!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: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(.16,1,.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 transparent;background:transparent;transition:var(--viking-transition-interactive, all .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-teal-600) 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-teal-600) 12%, transparent))!important;box-shadow:inset 0 0 0 1px var(--viking-accent-strong, var(--viking-teal-400))!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-teal-600)))!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}.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, .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, .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, 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))}.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 .25s ease, box-shadow .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-teal-400)) 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-teal-600))!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:transparent;max-height:50vh;padding:var(--viking-space-2, 16px)}.algolia-autocomplete-host.algolia-autocomplete-open:after{content:"\2318K toggle \b7  Esc close";display:block;padding:var(--viking-space-1, 8px) var(--viking-space-2, 16px);border-top:1px solid var(--viking-border, var(--border));font-size:var(--viking-font-size-sm, 14px);color:var(--viking-text-muted, var(--text-muted));text-align:center}.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 .25s ease)}.navbar-search-trigger:hover,.navbar-search-mobile-btn:hover{border-color:var(--viking-accent-strong, var(--viking-teal-400));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-teal-400));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 .25s ease, box-shadow .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-teal-400)) 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-teal-400));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:transparent!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-teal-400));border:0!important;box-shadow:none!important;background:transparent!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-teal-400))!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:transparent!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 .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-teal-400));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-teal-600))}.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-teal-600)) 20%,transparent);color:var(--viking-accent, var(--viking-teal-600));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, .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 .25s ease, box-shadow .25s ease)}.aa-DetachedContainer .aa-Form:hover,.aa-DetachedContainer form:hover{border-color:color-mix(in srgb,var(--viking-accent-strong, var(--viking-teal-400)) 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:translate(-50%);z-index:3;pointer-events:auto}.navbar-left,.navbar-right{position:relative;z-index:2}.navbar-right{pointer-events:none}.navbar-right>*{pointer-events:auto}.desktop-nav,.desktop-auth{display:flex}.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 transparent;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 transparent;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:transparent;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(.34,1.56,.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);-webkit-mask-image:linear-gradient(to top,black 30%,transparent 85%);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:.12s}.viking-whitepaper-polars-bar:nth-child(2){animation-delay:.24s}.viking-whitepaper-polars-bar:nth-child(3){animation-delay:.36s}.viking-whitepaper-polars-bar:nth-child(4){animation-delay:.48s}.viking-whitepaper-polars-bar:nth-child(5){animation-delay:.6s}.viking-whitepaper-polars-bar:nth-child(6){animation-delay:.72s}.viking-whitepaper-polars-bar:nth-child(7){animation-delay:.84s}.viking-whitepaper-polars-bar:nth-child(8){animation-delay:.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%,to{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)}
