﻿@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/inter/InterVariable.woff2") format("woff2 supports variations"),url("fonts/inter/InterVariable.woff2") format("woff2-variations")}@font-face{font-family:"Inter";font-style:italic;font-weight:100 900;font-display:optional;src:url("fonts/inter/InterVariable-Italic.woff2") format("woff2 supports variations"),url("fonts/inter/InterVariable-Italic.woff2") format("woff2-variations")}*,*::before,*::after{box-sizing:border-box}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{min-width:320px;min-height:100vh;margin:0;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)}img,picture,svg,canvas,video{display:block;max-width:100%}button,input,select,textarea{color:inherit;font:inherit}button,[role=button]{touch-action:manipulation}a{color:var(--viking-text-link);text-decoration-thickness:var(--viking-border-width);text-underline-offset:var(--viking-space-1)}a:hover{color:var(--viking-text-link-hover)}::selection{color:var(--viking-accent-content);background:var(--viking-accent)}h1,h2,h3,h4,h5,h6{font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-semibold, 600);line-height:var(--viking-line-height-tight, 1.25);letter-spacing:var(--viking-letter-spacing-tight, -0.02em);margin:0 0 var(--viking-space-3) 0}h1{font-size:var(--viking-font-size-2xl, 30px);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-tighter, -0.03em);margin-bottom:var(--viking-space-4)}h2{font-size:var(--viking-font-size-xl, 24px);margin-bottom:var(--viking-space-3)}h3{font-size:var(--viking-font-size-lg, 20px);margin-bottom:var(--viking-space-2)}h4{font-size:var(--viking-font-size-md, 18px);margin-bottom:var(--viking-space-2)}h5,h6{font-size:var(--viking-font-size, 16px);font-weight:var(--viking-font-weight-medium, 500);margin-bottom:var(--viking-space-2)}p{margin:0 0 var(--viking-space-2) 0;line-height:var(--viking-line-height-relaxed, 1.625)}p:last-child{margin-bottom:0}code,pre,kbd,samp,.viking-font-mono{font-family:var(--viking-font-family-mono)}ul,ol{margin:0 0 var(--viking-space-3) 0;padding-left:var(--viking-space-5)}li{margin-bottom:var(--viking-space-1);line-height:var(--viking-line-height-relaxed)}li:last-child{margin-bottom:0}ul ul,ol ol,ul ol,ol ul{margin:var(--viking-space-1) 0 0 var(--viking-space-4)}table{width:100%;border-collapse:collapse;margin:0 0 var(--viking-space-4) 0;font-size:var(--viking-font-size)}th,td{padding:var(--viking-table-cell-padding-y) var(--viking-table-cell-padding-x);text-align:left;border-bottom:1px solid var(--viking-border-subtle);vertical-align:top}th{font-weight:var(--viking-font-weight-semibold);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);letter-spacing:var(--viking-letter-spacing-wide);background:var(--viking-component-bg-subtle)}tr:last-child td{border-bottom:none}table caption{margin-bottom:var(--viking-space-2);font-weight:var(--viking-font-weight-semibold);text-align:left}.viking-font-display{font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-caps, 0.08em);text-transform:uppercase;line-height:var(--viking-line-height-none, 1)}.viking-tabular-nums{font-variant-numeric:tabular-nums lining-nums}:root{color-scheme:dark light;--viking-brand-navy: #070c20;--viking-brand-blue: #0078ff;--viking-navy-1000: #01030a;--viking-navy-950: #020610;--viking-navy-900: #080d1f;--viking-navy-850: #0c1229;--viking-navy-800: #101b33;--viking-navy-750: #14203c;--viking-navy-700: #18263f;--viking-navy-650: #1c2a48;--viking-navy-600: #1e3054;--viking-navy-500: #284068;--viking-navy-400: #39547f;--viking-navy-300: #58719e;--viking-navy-200: #8fa2c2;--viking-navy-100: #d7e0ef;--viking-electric-900: #04225f;--viking-electric-800: #073a99;--viking-electric-700: #0a4fd4;--viking-electric-600: #1565f0;--viking-electric-500: #2176ff;--viking-electric-400: #4d94ff;--viking-electric-300: #7ab0ff;--viking-electric-200: #b6d3ff;--viking-electric-100: #e7f1ff;--viking-charcoal-950: var(--viking-navy-950);--viking-charcoal-900: var(--viking-navy-900);--viking-charcoal-850: var(--viking-navy-850);--viking-charcoal-800: var(--viking-navy-800);--viking-charcoal-750: var(--viking-navy-750);--viking-charcoal-700: var(--viking-navy-700);--viking-charcoal-650: var(--viking-navy-650);--viking-charcoal-600: var(--viking-navy-600);--viking-charcoal-500: var(--viking-navy-500);--viking-charcoal-400: var(--viking-navy-400);--viking-charcoal-300: var(--viking-navy-300);--viking-charcoal-200: var(--viking-navy-200);--viking-charcoal-100: var(--viking-navy-100);--viking-metallic-600: #555555;--viking-metallic-500: #666666;--viking-metallic-400: #777777;--viking-metallic-300: #999999;--viking-metallic-200: #aaaaaa;--viking-metallic-100: #bbbbbb;--viking-metallic-050: #e6e8ec;--viking-teal-700: var(--viking-electric-700);--viking-teal-600: var(--viking-electric-600);--viking-teal-500: var(--viking-electric-500);--viking-teal-400: var(--viking-electric-400);--viking-teal-300: var(--viking-electric-300);--viking-crimson-700: #7a2231;--viking-crimson-600: #922b3e;--viking-crimson-500: #a83344;--viking-crimson-400: #c44355;--viking-crimson-300: #dc6b78;--viking-crimson-100: #fde8ec;--viking-cyan-600: #168aad;--viking-cyan-500: #1fa2c9;--viking-cyan-400: #47bee0;--viking-violet-600: #6f5bd7;--viking-violet-500: #8674f0;--viking-amber-600: #a77912;--viking-amber-500: #d69e2e;--viking-green-500: #2a9d8f;--viking-gold-500: #d4af37;--viking-blue-500: var(--viking-electric-400);--viking-red-500: var(--viking-crimson-500);--viking-ink-1000: #000000;--viking-ink-950: #050609;--viking-ink-900: #0c0f14;--viking-ink-800: #151a22;--viking-ink-700: #202735;--viking-slate-100: #f4f7fb;--viking-slate-050: #fbfcfe;--viking-white: #f5f5f5;--viking-white-pure: #ffffff;--viking-black: #000000;--viking-grid-unit: 4px;--viking-space-unit: 8px;--viking-space-0: 0;--viking-space-px: 1px;--viking-space-0-5: 4px;--viking-space-half: var(--viking-space-0-5);--viking-space-1: 8px;--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-space-11: 112px;--viking-space-12: 128px;--viking-space-14: 160px;--viking-space-16: 192px;--viking-space-20: 256px;--viking-space-24: 320px;--viking-space-inline-gap: var(--viking-space-0-5);--viking-space-control-gap: var(--viking-space-1);--viking-space-compact-gap: 12px;--viking-space-content-gap: var(--viking-space-2);--viking-space-container-gap: var(--viking-space-3);--viking-space-section-gap: var(--viking-space-4);--viking-space-page-gap: var(--viking-space-6);--viking-space-1-5: var(--viking-space-2);--viking-space-2-5: var(--viking-space-2);--viking-space-8-5: 72px;--viking-surface-recipe: var(--viking-surface);--viking-surface-recipe-elevated: var(--viking-surface-raised);--viking-surface-recipe-inset: var(--viking-surface-inset);--viking-surface-recipe-muted: var(--viking-surface-alt);--viking-surface-muted: var(--viking-surface-alt);--viking-surface-control: var(--viking-surface-inset);--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-3xs: 10px;--viking-font-size-xs: 12px;--viking-font-size-sm: 14px;--viking-font-size-ui: 14px;--viking-font-size-base: 16px;--viking-font-size: var(--viking-font-size-base);--viking-font-size-md: 18px;--viking-font-size-lg: 20px;--viking-font-size-xl: 24px;--viking-font-size-2xl: 30px;--viking-font-size-3xl: 36px;--viking-font-size-4xl: 48px;--viking-font-size-5xl: 60px;--viking-font-size-6xl: 72px;--viking-font-size-display: clamp(2.5rem, 7vw, 3rem);--viking-font-size-display-lg: clamp(2.25rem, 5vw, 3.75rem);--viking-font-size-display-md: clamp(2rem, 4.5vw, 3rem);--viking-font-size-headline: clamp(1.35rem, 3.2vw, 2rem);--viking-font-size-headline-quiet: clamp(1.2rem, 2.6vw, 1.65rem);--viking-font-size-title: clamp(1.5rem, 3.5vw, 2rem);--viking-font-size-title-lg: clamp(1.75rem, 5vw, 2.5rem);--viking-font-size-title-sm: clamp(1.35rem, 3vw, 1.75rem);--viking-font-size-lead: 1.25rem;--viking-font-size-lead-fluid: clamp(1.05rem, 2vw, 1.25rem);--viking-font-weight-regular: 400;--viking-font-weight-medium: 500;--viking-font-weight-semibold: 600;--viking-font-weight-bold: 700;--viking-font-weight-extrabold: 800;--viking-line-height-none: 1;--viking-line-height-tight: 1.2;--viking-line-height-snug: 1.35;--viking-line-height-normal: 1.5;--viking-line-height-relaxed: 1.6;--viking-line-height-loose: 1.7;--viking-letter-spacing-tighter: -0.03em;--viking-letter-spacing-tight: -0.03em;--viking-letter-spacing-normal: 0;--viking-letter-spacing-wide: 0.08em;--viking-letter-spacing-wider: 0.1em;--viking-letter-spacing-caps: 0.1em;--viking-letter-spacing-display: 0.14em;--viking-type-caption: var(--viking-font-weight-medium) var(--viking-font-size-xs) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body-sm: var(--viking-font-weight-regular) var(--viking-font-size-sm) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body: var(--viking-font-weight-regular) var(--viking-font-size-base) / var(--viking-line-height-normal) var(--viking-font-family);--viking-type-body-lg: var(--viking-font-weight-regular) var(--viking-font-size-md) / var(--viking-line-height-relaxed) var(--viking-font-family);--viking-type-heading-sm: var(--viking-font-weight-semibold) var(--viking-font-size-lg) / var(--viking-line-height-tight) var(--viking-font-family);--viking-type-heading: var(--viking-font-weight-bold) var(--viking-font-size-2xl) / var(--viking-line-height-tight) var(--viking-font-family);--viking-type-display: var(--viking-font-weight-extrabold) var(--viking-font-size-4xl) / var(--viking-line-height-none) var(--viking-font-family);--viking-type-label: var(--viking-font-weight-semibold) var(--viking-font-size-sm) / var(--viking-line-height-snug) var(--viking-font-family);--viking-type-heading-lg: var(--viking-font-weight-bold) var(--viking-font-size-3xl) / var(--viking-line-height-tight) var(--viking-font-family);--viking-text-heading: var(--viking-text);--viking-text-body: var(--viking-text);--viking-surface-header: var(--viking-surface-raised);--viking-text-on-header: var(--viking-text);--viking-radius-xs: 4px;--viking-radius-sm: 6px;--viking-radius: 8px;--viking-radius-md: 10px;--viking-radius-lg: 12px;--viking-radius-xl: 16px;--viking-radius-2xl: 24px;--viking-radius-pill: 999px;--viking-radius-full: var(--viking-radius-pill);--viking-card-radius: var(--viking-radius-lg);--viking-button-radius: var(--viking-radius);--viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2), 0 4px 12px rgba(0, 0, 0, 0.12);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.18), 0 10px 24px rgba(0, 0, 0, 0.16);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.2), 0 20px 40px rgba(0, 0, 0, 0.2);--viking-shadow-xl: 0 24px 48px rgba(0, 0, 0, 0.36), 0 8px 18px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.07);--viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.32), inset 0 -1px 0 rgba(255, 255, 255, 0.015);--viking-shadow-hover: 0 2px 4px rgba(0, 0, 0, 0.2), 0 12px 28px rgba(0, 0, 0, 0.2);--viking-shadow-focus: 0 0 0 var(--viking-ring-offset) var(--viking-bg), 0 0 0 calc(var(--viking-ring-offset) + var(--viking-ring-width)) var(--viking-ring);--viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.055);--viking-border-width: 1px;--viking-border-style: solid;--viking-surface-inset: var(--viking-navy-850);--viking-chart-ratio: 2 / 1;--viking-chart-plot-height: clamp( var(--viking-space-20), 46cqi, var(--viking-space-24) );--viking-chart-min-height: clamp(12rem, 26vw, 20rem);--viking-chart-max-height: none;--viking-chart-fill-min-height: clamp(13rem, 28vw, 21rem);--viking-chart-fill-max-height: none;--viking-chart-fill-min-height-lg: clamp(15rem, 30vw, 23rem);--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: 20rem;--viking-chart-panel-min-height-lg: 22rem;--viking-chart-panel-body-min-height-md: 15rem;--viking-chart-panel-body-min-height-lg: 16.5rem;--viking-chart-sparkline-height: 2.75rem;--viking-chart-map-min-height: 24rem;--viking-chart-padding: var(--viking-space-2) var(--viking-space-2);--viking-bp-sm: 600px;--viking-bp-md: 768px;--viking-bp-sidebar: 901px;--viking-bp-lg: 1024px;--viking-bp-xl: 1440px;--viking-bp-2xl: 1920px;--viking-ease-default: cubic-bezier(0.4, 0, 0.2, 1);--viking-ease-in: cubic-bezier(0.4, 0, 1, 1);--viking-ease-out: cubic-bezier(0, 0, 0.2, 1);--viking-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);--viking-duration-instant: 75ms;--viking-duration-fast: 150ms;--viking-duration: 250ms;--viking-duration-slow: 350ms;--viking-duration-slower: 500ms;--viking-transition-colors: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), fill var(--viking-duration) var(--viking-ease-default), stroke var(--viking-duration) var(--viking-ease-default);--viking-transition-interactive: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), fill var(--viking-duration) var(--viking-ease-default), stroke var(--viking-duration) var(--viking-ease-default), transform var(--viking-duration) var(--viking-ease-default), opacity var(--viking-duration) var(--viking-ease-default);--viking-transition: all var(--viking-duration) var(--viking-ease-default);--viking-transition-fast: all var(--viking-duration-fast) var(--viking-ease-default);--viking-transition-transform: transform var(--viking-duration) var(--viking-ease-emphasized);--viking-state-hover-lift: -1px;--viking-state-press-sink: 1px;--viking-state-nudge: 2px;--viking-state-reveal-distance: 0.5rem;--viking-state-active-scale: var(--suite-active-scale, 0.985);--viking-state-disabled-opacity: 0.48;--viking-touch-target-min: 44px;--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-component-radius: var(--viking-radius);--viking-component-surface-radius: var(--viking-radius-lg);--viking-component-border: var(--viking-border);--viking-component-border-hover: var(--viking-border-strong);--viking-component-border-active: var(--viking-border-accent);--viking-component-bg: var(--viking-surface);--viking-component-bg-subtle: var(--viking-surface-alt);--viking-component-bg-inset: var(--viking-surface-inset);--viking-component-hover-bg: var(--viking-state-hover-bg);--viking-component-selected-bg: var(--viking-state-selected-bg);--viking-component-shadow: var(--viking-shadow-xs);--viking-component-shadow-raised: var(--viking-shadow-sm);--viking-focus-shadow: 0 0 0 3px var(--viking-accent-soft);--viking-badge-height: 24px;--viking-table-cell-padding-y: var(--viking-space-1-5);--viking-table-cell-padding-x: var(--viking-space-2);--viking-navigation-item-height: var(--viking-touch-target-min);--viking-container-max-width: 1260px;--viking-container-max-width-wide: 1440px;--viking-container-wide-max-width: var(--viking-container-max-width-wide);--viking-container-max-width-readable: 48rem;--viking-navbar-height: var(--viking-space-7);--viking-sidebar-width: 256px;--viking-trailing-width: 20rem;--viking-split-panel-height-compact: 12rem;--viking-split-panel-height-default: 20rem;--viking-split-panel-height-large: 28rem;--viking-layout-item-compact: 16rem;--viking-layout-item-default: 20rem;--viking-layout-item-wide: 24rem;--viking-layout-columns: 12;--viking-layout-column-gap: var(--viking-space-3);--viking-layout-row-gap: var(--viking-space-3);--viking-page-gutter: clamp( var(--viking-space-2), 4vw, var(--viking-space-4) );--viking-page-gutter-lg: var(--viking-space-4);--viking-page-gutter-xl: var(--viking-space-8);--viking-page-stack-gap: var(--viking-space-5);--viking-page-section-gap: var(--viking-space-9);--viking-dashboard-grid-gap: var(--viking-space-2);--viking-section-padding-y: var(--viking-space-8);--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-card-content-gap: var(--viking-space-3);--viking-card-content-gap-compact: var(--viking-space-compact-gap);--viking-panel-padding: var(--viking-space-3);--viking-panel-header-padding: var(--viking-space-2) 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: 7.25rem;--viking-metric-card-tall-min-height: 9.5rem;--viking-metric-card-min-width: 10rem;--viking-surface-hairline-strength: 36%;--viking-surface-container: var(--viking-surface);--viking-surface-container-muted: var(--viking-surface-alt);--viking-border-container: var(--viking-border);--viking-border-control: var(--viking-border-strong);--viking-border-divider: var(--viking-border-subtle);--viking-z-overlay: 1000;--viking-z-toast: 1100;--viking-z-tooltip: 1200;--viking-z-external-challenge: 2147483647;--viking-chart-text-size: var(--viking-font-size-xs);--viking-chart-axis-size: var(--viking-chart-text-size);--viking-chart-axis-size-mobile: var(--viking-chart-text-size);--viking-chart-label-size: var(--viking-chart-text-size);--viking-chart-gutter-default: 16px 24px 48px 48px;--viking-chart-gutter-fill: 8px 16px 32px 32px;--viking-chart-padding: var(--viking-space-2) 0;--viking-chart-padding-fill: var(--viking-space-1) 0;--viking-chart-grid-stroke: color-mix( in srgb, var(--viking-text-muted) 15%, transparent );--viking-chart-grid-width: 1;--viking-chart-grid-dash: 4 4;--viking-chart-axis-stroke: color-mix( in srgb, var(--viking-text-muted) 40%, transparent );--viking-chart-axis-width: 1;--viking-chart-tick-length: 4px;--viking-chart-axis-color: var(--viking-text-muted);--viking-chart-cursor-stroke: color-mix( in srgb, var(--viking-text) 32%, transparent );--viking-chart-cursor-width: 1;--viking-chart-cursor-dash: 4 4;--viking-chart-line-width: 2;--viking-chart-line-width-fill: 2;--viking-chart-area-opacity: 0.2;--viking-chart-area-opacity-start: 0.48;--viking-chart-area-opacity-end: 0;--viking-chart-point-radius: 5;--viking-chart-point-stroke: var(--viking-surface);--viking-chart-bar-radius: 2px;--viking-chart-bar-min-height: 3px;--viking-chart-legend-gap: var(--viking-space-2) var(--viking-space-3);--viking-chart-legend-margin: var(--viking-space-3) 0 0;--viking-chart-legend-margin-fill: var(--viking-space-4) 0 0;--viking-chart-swatch-size: 8px;--viking-chart-legend-size: var(--viking-chart-text-size);--viking-chart-tooltip-bg: color-mix( in srgb, var(--viking-surface) 94%, transparent );--viking-chart-tooltip-border: color-mix( in srgb, var(--viking-border) 65%, transparent );--viking-chart-tooltip-text: var(--viking-text);--viking-chart-tooltip-size: var(--viking-chart-text-size);--viking-chart-tooltip-padding: 6px 10px;--viking-chart-tooltip-radius: var(--viking-radius);--viking-chart-empty-padding: var(--viking-space-5) var(--viking-space-4);--viking-chart-empty-gap: var(--viking-space-3);--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;--viking-icon-stroke-width-brand: 1.8}:root,html[data-theme=dark]{color-scheme:dark;--viking-bg: #0a0a0a;--viking-bg-subtle: #050505;--viking-bg-inverted: var(--viking-white-pure);--viking-surface: #111111;--viking-surface-alt: #1a1a1a;--viking-surface-inset: #050505;--viking-surface-raised: #141414;--viking-surface-overlay: #111111;--viking-text: var(--viking-white);--viking-text-muted: var(--viking-metallic-200);--viking-text-subtle: var(--viking-metallic-300);--viking-text-disabled: var(--viking-metallic-400);--viking-text-link: var(--viking-electric-300);--viking-text-link-hover: var(--viking-electric-200);--viking-text-inverted: var(--viking-bg);--viking-border: #222222;--viking-border-strong: #666666;--viking-border-subtle: color-mix( in srgb, var(--viking-border) 70%, transparent );--viking-border-accent: color-mix( in srgb, var(--viking-electric-500) 72%, transparent );--viking-accent: var(--viking-electric-500);--viking-accent-hover: var(--viking-electric-400);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix( in srgb, var(--viking-electric-500) 18%, transparent );--viking-accent-muted: color-mix( in srgb, var(--viking-electric-500) 10%, transparent );--viking-accent-strong: var(--viking-electric-300);--viking-accent-secondary: var(--viking-crimson-600);--viking-accent-secondary-hover: var(--viking-crimson-500);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix( in srgb, var(--viking-crimson-600) 16%, transparent );--viking-success: var(--viking-green-500);--viking-success-soft: color-mix( in srgb, var(--viking-green-500) 14%, transparent );--viking-warning: var(--viking-gold-500);--viking-warning-soft: color-mix( in srgb, var(--viking-gold-500) 16%, transparent );--viking-danger: var(--viking-crimson-500);--viking-danger-soft: color-mix( in srgb, var(--viking-crimson-500) 16%, transparent );--viking-info: var(--viking-blue-500);--viking-info-soft: color-mix( in srgb, var(--viking-blue-500) 14%, transparent );--viking-danger-text: var(--viking-crimson-300);--viking-success-text: #5ec4b6;--viking-warning-text: #e8c25a;--viking-gold-text: #e8c96a;--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-400);--viking-ring-width: 2px;--viking-ring-offset: 2px;--viking-overlay-backdrop: color-mix( in srgb, var(--viking-charcoal-950) 72%, transparent );--viking-surface-glass: color-mix( in srgb, var(--viking-charcoal-800) 82%, transparent );--viking-surface-glass-blur: 12px;--viking-state-hover-bg: color-mix( in srgb, var(--viking-electric-500) 10%, transparent );--viking-state-active-bg: color-mix( in srgb, var(--viking-electric-700) 14%, transparent );--viking-state-selected-bg: color-mix( in srgb, var(--viking-electric-500) 18%, transparent );--viking-state-disabled-bg: color-mix( in srgb, var(--viking-metallic-600) 20%, transparent );--viking-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.26), 0 4px 12px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.035);--viking-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.24), 0 10px 24px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04);--viking-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.26), 0 20px 40px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.045);--viking-shadow-hover: 0 2px 4px rgba(0, 0, 0, 0.25), 0 12px 28px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.05)}html[data-theme=light]{color-scheme:light;--viking-bg: var(--viking-slate-050);--viking-bg-subtle: var(--viking-slate-100);--viking-bg-inverted: var(--viking-charcoal-900);--viking-surface: var(--viking-white-pure);--viking-surface-alt: var(--viking-slate-100);--viking-surface-inset: var(--viking-metallic-050);--viking-surface-raised: var(--viking-white-pure);--viking-surface-overlay: var(--viking-white-pure);--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--viking-text-disabled: var(--viking-metallic-500);--viking-text-link: var(--viking-electric-700);--viking-text-link-hover: var(--viking-electric-700);--viking-text-inverted: var(--viking-white-pure);--viking-border: var(--viking-navy-100);--viking-border-strong: var(--viking-navy-300);--viking-border-subtle: color-mix( in srgb, var(--viking-metallic-600) 22%, transparent );--viking-border-accent: color-mix( in srgb, var(--viking-electric-600) 58%, transparent );--viking-accent: var(--viking-electric-600);--viking-accent-hover: var(--viking-electric-500);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix( in srgb, var(--viking-electric-600) 14%, transparent );--viking-accent-muted: color-mix( in srgb, var(--viking-electric-600) 8%, transparent );--viking-accent-strong: var(--viking-electric-400);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix( in srgb, var(--viking-crimson-700) 12%, transparent );--viking-success-soft: color-mix( in srgb, var(--viking-green-500) 12%, transparent );--viking-warning-soft: color-mix( in srgb, var(--viking-gold-500) 14%, transparent );--viking-danger-soft: color-mix( in srgb, var(--viking-crimson-500) 12%, transparent );--viking-info-soft: color-mix( in srgb, var(--viking-blue-500) 12%, transparent );--viking-danger-text: var(--viking-crimson-700);--viking-success-text: #187066;--viking-warning-text: #7a580e;--viking-gold-text: #7a6410;--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-500);--viking-overlay-backdrop: color-mix( in srgb, var(--viking-charcoal-900) 45%, transparent );--viking-surface-glass: color-mix( in srgb, var(--viking-white-pure) 88%, transparent );--viking-surface-glass-blur: 10px;--viking-state-hover-bg: color-mix( in srgb, var(--viking-electric-600) 8%, transparent );--viking-state-active-bg: color-mix( in srgb, var(--viking-electric-700) 12%, transparent );--viking-state-selected-bg: color-mix( in srgb, var(--viking-electric-600) 14%, transparent );--viking-state-disabled-bg: color-mix( in srgb, var(--viking-metallic-600) 12%, transparent );--viking-shadow-sm: 0 1px 2px rgba(17, 24, 39, 0.06), 0 4px 12px rgba(17, 24, 39, 0.06);--viking-shadow-md: 0 2px 4px rgba(17, 24, 39, 0.06), 0 10px 24px rgba(17, 24, 39, 0.08);--viking-shadow-lg: 0 4px 8px rgba(17, 24, 39, 0.07), 0 20px 40px rgba(17, 24, 39, 0.1);--viking-shadow-hover: 0 2px 4px rgba(17, 24, 39, 0.08), 0 12px 28px rgba(17, 24, 39, 0.11)}@media(prefers-color-scheme: light){html:not([data-theme=dark]){color-scheme:light;--viking-bg: var(--viking-slate-050);--viking-bg-subtle: var(--viking-slate-100);--viking-bg-inverted: var(--viking-charcoal-900);--viking-surface: var(--viking-white-pure);--viking-surface-alt: var(--viking-slate-100);--viking-surface-inset: var(--viking-metallic-050);--viking-surface-raised: var(--viking-white-pure);--viking-surface-overlay: var(--viking-white-pure);--viking-text: var(--viking-charcoal-900);--viking-text-muted: var(--viking-metallic-500);--viking-text-subtle: var(--viking-metallic-400);--viking-text-disabled: var(--viking-metallic-300);--viking-text-link: var(--viking-electric-700);--viking-text-link-hover: var(--viking-electric-600);--viking-text-inverted: var(--viking-white-pure);--viking-border: color-mix( in srgb, var(--viking-metallic-600) 22%, transparent );--viking-border-strong: color-mix( in srgb, var(--viking-metallic-600) 38%, transparent );--viking-border-subtle: color-mix( in srgb, var(--viking-metallic-600) 12%, transparent );--viking-border-accent: color-mix( in srgb, var(--viking-electric-600) 58%, transparent );--viking-accent: var(--viking-electric-600);--viking-accent-hover: var(--viking-electric-500);--viking-accent-active: var(--viking-electric-700);--viking-accent-content: var(--viking-white-pure);--viking-accent-soft: color-mix( in srgb, var(--viking-electric-600) 10%, transparent );--viking-accent-muted: color-mix( in srgb, var(--viking-electric-600) 8%, transparent );--viking-accent-strong: var(--viking-electric-400);--viking-accent-secondary: var(--viking-crimson-700);--viking-accent-secondary-hover: var(--viking-crimson-600);--viking-accent-secondary-active: var(--viking-crimson-700);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix( in srgb, var(--viking-crimson-700) 8%, transparent );--viking-success-soft: color-mix( in srgb, var(--viking-green-500) 12%, transparent );--viking-warning-soft: color-mix( in srgb, var(--viking-gold-500) 14%, transparent );--viking-danger-soft: color-mix( in srgb, var(--viking-crimson-500) 12%, transparent );--viking-info-soft: color-mix( in srgb, var(--viking-blue-500) 12%, transparent );--viking-danger-text: var(--viking-crimson-700);--viking-on-danger: var(--viking-white-pure);--viking-ring: var(--viking-electric-500);--viking-overlay-backdrop: color-mix( in srgb, var(--viking-charcoal-900) 45%, transparent );--viking-surface-glass: color-mix( in srgb, var(--viking-white-pure) 88%, transparent );--viking-surface-glass-blur: 10px;--viking-state-hover-bg: color-mix( in srgb, var(--viking-electric-600) 8%, transparent );--viking-state-active-bg: color-mix( in srgb, var(--viking-electric-700) 12%, transparent );--viking-state-selected-bg: color-mix( in srgb, var(--viking-electric-600) 14%, transparent );--viking-state-disabled-bg: color-mix( in srgb, var(--viking-metallic-600) 12%, transparent );--viking-shadow-sm: 0 1px 2px rgba(17, 17, 17, 0.06), 0 1px 3px rgba(17, 17, 17, 0.08);--viking-shadow-md: 0 2px 4px rgba(17, 17, 17, 0.06), 0 4px 8px rgba(17, 17, 17, 0.08);--viking-shadow-lg: 0 4px 8px rgba(17, 17, 17, 0.06), 0 12px 24px rgba(17, 17, 17, 0.1)}}@media(prefers-reduced-motion: reduce){:root{--viking-duration-instant: 0ms;--viking-duration-fast: 0ms;--viking-duration: 0ms;--viking-duration-slow: 0ms;--viking-state-hover-lift: 0px;--viking-state-press-sink: 0px;--viking-state-nudge: 0px;--viking-state-reveal-distance: 0px;--viking-state-active-scale: 1;--viking-transition-interactive: none;--viking-transition-colors: none;--viking-transition-transform: none}}:root{--viking-series-1: var(--suite-series-1, var(--viking-electric-500));--viking-series-2: var(--suite-series-2, var(--viking-crimson-600));--viking-series-3: var(--suite-series-3, var(--viking-green-500));--viking-series-4: var(--suite-series-4, var(--viking-gold-500));--viking-series-5: var(--suite-series-5, var(--viking-crimson-500));--viking-series-6: var(--suite-series-6, var(--viking-blue-500));--viking-series-7: var(--suite-series-7, var(--viking-charcoal-700));--viking-series-8: var(--suite-series-8, var(--viking-metallic-500));--viking-series-default: var(--suite-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-0-5);--space-0-5: var(--viking-space-0-5);--space-1: var(--viking-space-1);--space-1-5: var(--viking-space-2);--space-2: var(--viking-space-2);--space-2-5: 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-8-5: var(--viking-space-8-5);--space-9: var(--viking-space-9);--space-10: var(--viking-space-10);--space-11: var(--viking-space-11);--space-12: var(--viking-space-12);--space-14: var(--viking-space-14);--space-16: var(--viking-space-16);--space-20: var(--viking-space-20);--space-24: var(--viking-space-24);--grid-gap: var(--viking-space-3);--card-padding: var(--viking-card-padding);--page-gutter: var(--viking-page-gutter);--page-gutter-lg: var(--viking-page-gutter-lg);--page-stack-gap: var(--viking-page-stack-gap);--page-section-gap: var(--viking-page-section-gap);--form-max-width: var(--viking-form-max-width);--form-narrow-max-width: var(--viking-form-narrow-max-width);--content-readable-max-width: var(--viking-content-readable-max-width);--container-max-width: var(--viking-container-max-width);--navbar-height: var(--viking-navbar-height);--btn-min-width: var(--viking-btn-min-width);--border-radius-xs: var(--viking-radius-xs);--border-radius-sm: var(--viking-radius-sm);--border-radius-md: var(--viking-radius);--border-radius-lg: var(--viking-radius-lg);--border-radius-xl: var(--viking-radius-xl);--border-radius-pill: var(--viking-radius-pill);--transition-smooth: var(--viking-transition);--shadow-sm: var(--viking-shadow-sm);--shadow-md: var(--viking-shadow-md);--shadow-lg: var(--viking-shadow-lg);--shadow-hover: var(--viking-shadow-hover);--primary-color: var(--viking-electric-500);--accent-color: var(--viking-crimson-600);--focus-ring-width: var(--viking-ring-width);--focus-ring-offset: var(--viking-ring-offset)}:root,html[data-theme=dark]{--color-primary: var(--viking-electric-500);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-electric-400);--color-on-primary-container: var(--viking-charcoal-900);--color-surface: var(--viking-charcoal-800);--color-on-surface: var(--viking-white);--color-background: var(--viking-charcoal-900);--color-on-background: var(--viking-white);--color-surface-variant: var(--viking-charcoal-700);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-500);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-400);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-bg) 96%, transparent);--link-color: var(--viking-electric-300);--link-hover-color: var(--viking-electric-400);--hero-title-color: var(--viking-white);--primary-text-color: var(--viking-electric-300);--button-primary: var(--color-primary);--button-primary-text: var(--viking-white-pure);--color-dark-grey-btn-bg: var(--viking-charcoal-700);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-400)}html[data-theme=light]{--color-primary: var(--viking-electric-600);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-teal-500);--color-on-primary-container: var(--viking-white-pure);--color-surface: var(--viking-white-pure);--color-on-surface: var(--viking-charcoal-900);--color-background: var(--viking-white-pure);--color-on-background: var(--viking-charcoal-900);--color-surface-variant: var(--viking-surface-alt);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-500);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-white-pure) 96%, transparent);--link-color: var(--viking-electric-700);--link-hover-color: var(--viking-electric-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-electric-700);--button-primary: var(--color-primary);--button-primary-text: var(--color-on-primary);--color-dark-grey-btn-bg: var(--viking-charcoal-800);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-500)}@media(prefers-color-scheme: light){html:not([data-theme=dark]){--color-primary: var(--viking-electric-600);--color-on-primary: var(--viking-white-pure);--color-primary-container: var(--viking-teal-500);--color-on-primary-container: var(--viking-white-pure);--color-surface: var(--viking-white-pure);--color-on-surface: var(--viking-charcoal-900);--color-background: var(--viking-white-pure);--color-on-background: var(--viking-charcoal-900);--color-surface-variant: var(--viking-surface-alt);--color-success: var(--viking-green-500);--color-warning: var(--viking-gold-500);--color-error: var(--viking-crimson-700);--color-info: var(--viking-blue-500);--color-gauge-red: var(--color-error);--border: var(--viking-border);--border-layout: var(--viking-border-strong);--hover-color: var(--viking-electric-500);--bg-color: var(--viking-bg);--text-color: var(--viking-text);--text-muted: var(--viking-text-muted);--card-bg: var(--viking-surface);--navbar-bg: color-mix(in srgb, var(--viking-white-pure) 96%, transparent);--link-color: var(--viking-electric-700);--link-hover-color: var(--viking-electric-600);--hero-title-color: var(--viking-charcoal-900);--primary-text-color: var(--viking-electric-700);--button-primary: var(--color-primary);--button-primary-text: var(--color-on-primary);--color-dark-grey-btn-bg: var(--viking-charcoal-800);--color-dark-grey-btn-text: var(--viking-white);--focus-ring-color: var(--viking-electric-500)}}:root{--viking-touch-target-min: 44px;--viking-touch-target-comfort: 44px;--viking-state-disabled-opacity: 0.48;--viking-state-hover-lift: -1px;--viking-state-active-scale: var(--suite-active-scale, 0.985);--viking-state-press-inset: inset 0 1px 2px rgba(0, 0, 0, 0.28);--viking-shadow-hover: var( --shadow-hover, 0 2px 4px rgba(0, 0, 0, 0.25), 0 12px 28px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.05) );--viking-surface-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.055);--viking-transition-interactive: color var(--viking-duration) var(--viking-ease-default), background-color var(--viking-duration) var(--viking-ease-default), border-color var(--viking-duration) var(--viking-ease-default), box-shadow var(--viking-duration) var(--viking-ease-default), transform var(--viking-duration-fast) var(--viking-ease-default), opacity var(--viking-duration-fast) var(--viking-ease-default);--viking-transition-transform: transform var(--viking-duration-fast) var(--viking-ease-default)}@keyframes viking-fade-in{from{opacity:0}to{opacity:1}}@keyframes viking-slide-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes viking-slide-in-right{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes viking-modal-in{from{opacity:0;transform:translateY(12px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viking-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes viking-shimmer{from{background-position:120% 0}to{background-position:-80% 0}}@keyframes viking-pulse-soft{0%,100%{opacity:1}50%{opacity:.72}}@keyframes viking-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}@keyframes viking-tooltip-in{from{opacity:0;transform:translateY(4px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viking-spin{to{transform:rotate(360deg)}}.viking-focus-ring:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-focus-ring-inset:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:calc(var(--viking-ring-offset)*-1)}.viking-touch-target{position:relative;min-width:var(--viking-touch-target-min);min-height:var(--viking-touch-target-min)}.viking-touch-target::before{content:"";position:absolute;inset:50%;width:max(100%,var(--viking-touch-target-min));height:max(100%,var(--viking-touch-target-min));transform:translate(-50%, -50%)}@media(min-width: 768px){:root{--viking-touch-target-comfort: 36px}}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}.viking-control{display:flex;align-items:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);font-family:var(--viking-font-family);font-size:var(--viking-font-size);color:var(--viking-text);background:var(--viking-component-bg-inset);border:var(--viking-border-width) var(--viking-border-style) var(--viking-component-border);border-radius:var(--viking-component-radius);box-shadow:none;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){background:var(--viking-component-bg-subtle);border-color:var(--viking-component-border-hover)}.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-component-border-active);box-shadow:var(--viking-focus-shadow)}.viking-form-row{display:grid;grid-template-columns:1fr;gap:var(--viking-space-container-gap);width:100%;max-width:var(--viking-form-max-width)}@media(min-width: 600px){.viking-form-row{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.viking-form-row--3{grid-template-columns:repeat(3, minmax(0, 1fr))}}.viking-form-section-actions viking-button .viking-btn,.viking-modal-footer viking-button .viking-btn,.viking-sheet-footer viking-button .viking-btn,.viking-empty-state-actions viking-button .viking-btn,.viking-chart-empty-actions viking-button .viking-btn{min-width:0}.viking-btn,a.viking-btn,button.viking-btn{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn:focus-visible,a.viking-btn:focus-visible,button.viking-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn::before,a.viking-btn::before,button.viking-btn::before{display:none}.viking-btn::after,a.viking-btn::after,button.viking-btn::after{display:none}.viking-btn:disabled,.viking-btn[aria-busy=true],a.viking-btn:disabled,a.viking-btn[aria-busy=true],button.viking-btn:disabled,button.viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn[aria-busy=true]::before,.viking-btn[aria-busy=true] .viking-btn-label,a.viking-btn[aria-busy=true]::before,a.viking-btn[aria-busy=true] .viking-btn-label,button.viking-btn[aria-busy=true]::before,button.viking-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn[aria-busy=true],a.viking-btn[aria-busy=true],button.viking-btn[aria-busy=true]{cursor:wait}.viking-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn viking-icon,.viking-btn .viking-icon,.viking-btn [data-viking-icon],a.viking-btn viking-icon,a.viking-btn .viking-icon,a.viking-btn [data-viking-icon],button.viking-btn viking-icon,button.viking-btn .viking-icon,button.viking-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn .viking-btn-label,a.viking-btn .viking-btn-label,button.viking-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-primary:focus-visible,a.viking-btn-primary:focus-visible,button.viking-btn-primary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-primary::before,a.viking-btn-primary::before,button.viking-btn-primary::before{display:none}.viking-btn-primary::after,a.viking-btn-primary::after,button.viking-btn-primary::after{display:none}.viking-btn-primary:disabled,.viking-btn-primary[aria-busy=true],a.viking-btn-primary:disabled,a.viking-btn-primary[aria-busy=true],button.viking-btn-primary:disabled,button.viking-btn-primary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-primary[aria-busy=true]::before,.viking-btn-primary[aria-busy=true] .viking-btn-label,a.viking-btn-primary[aria-busy=true]::before,a.viking-btn-primary[aria-busy=true] .viking-btn-label,button.viking-btn-primary[aria-busy=true]::before,button.viking-btn-primary[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-primary[aria-busy=true],a.viking-btn-primary[aria-busy=true],button.viking-btn-primary[aria-busy=true]{cursor:wait}.viking-btn-primary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-primary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-primary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-primary viking-icon,.viking-btn-primary .viking-icon,.viking-btn-primary [data-viking-icon],a.viking-btn-primary viking-icon,a.viking-btn-primary .viking-icon,a.viking-btn-primary [data-viking-icon],button.viking-btn-primary viking-icon,button.viking-btn-primary .viking-icon,button.viking-btn-primary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-primary .viking-btn-label,a.viking-btn-primary .viking-btn-label,button.viking-btn-primary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-primary,a.viking-btn-primary,button.viking-btn-primary{background:var(--viking-accent);color:var(--viking-accent-content);border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-primary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-secondary:focus-visible,a.viking-btn-secondary:focus-visible,button.viking-btn-secondary:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-secondary::before,a.viking-btn-secondary::before,button.viking-btn-secondary::before{display:none}.viking-btn-secondary::after,a.viking-btn-secondary::after,button.viking-btn-secondary::after{display:none}.viking-btn-secondary:disabled,.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary:disabled,a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary:disabled,button.viking-btn-secondary[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-secondary[aria-busy=true]::before,.viking-btn-secondary[aria-busy=true] .viking-btn-label,a.viking-btn-secondary[aria-busy=true]::before,a.viking-btn-secondary[aria-busy=true] .viking-btn-label,button.viking-btn-secondary[aria-busy=true]::before,button.viking-btn-secondary[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-secondary[aria-busy=true],a.viking-btn-secondary[aria-busy=true],button.viking-btn-secondary[aria-busy=true]{cursor:wait}.viking-btn-secondary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-secondary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-secondary[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-secondary viking-icon,.viking-btn-secondary .viking-icon,.viking-btn-secondary [data-viking-icon],a.viking-btn-secondary viking-icon,a.viking-btn-secondary .viking-icon,a.viking-btn-secondary [data-viking-icon],button.viking-btn-secondary viking-icon,button.viking-btn-secondary .viking-icon,button.viking-btn-secondary [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-secondary .viking-btn-label,a.viking-btn-secondary .viking-btn-label,button.viking-btn-secondary .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-secondary,a.viking-btn-secondary,button.viking-btn-secondary{background:var(--viking-accent-secondary);color:var(--viking-accent-secondary-content);border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),a.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]),button.viking-btn-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-outline:focus-visible,a.viking-btn-outline:focus-visible,button.viking-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-outline::before,a.viking-btn-outline::before,button.viking-btn-outline::before{display:none}.viking-btn-outline::after,a.viking-btn-outline::after,button.viking-btn-outline::after{display:none}.viking-btn-outline:disabled,.viking-btn-outline[aria-busy=true],a.viking-btn-outline:disabled,a.viking-btn-outline[aria-busy=true],button.viking-btn-outline:disabled,button.viking-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-outline[aria-busy=true]::before,.viking-btn-outline[aria-busy=true] .viking-btn-label,a.viking-btn-outline[aria-busy=true]::before,a.viking-btn-outline[aria-busy=true] .viking-btn-label,button.viking-btn-outline[aria-busy=true]::before,button.viking-btn-outline[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-outline[aria-busy=true],a.viking-btn-outline[aria-busy=true],button.viking-btn-outline[aria-busy=true]{cursor:wait}.viking-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-outline viking-icon,.viking-btn-outline .viking-icon,.viking-btn-outline [data-viking-icon],a.viking-btn-outline viking-icon,a.viking-btn-outline .viking-icon,a.viking-btn-outline [data-viking-icon],button.viking-btn-outline viking-icon,button.viking-btn-outline .viking-icon,button.viking-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-outline .viking-btn-label,a.viking-btn-outline .viking-btn-label,button.viking-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-outline,a.viking-btn-outline,button.viking-btn-outline{background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.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:color-mix(in srgb, var(--viking-accent) 5%, 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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),a.viking-btn-outline:active:not(:disabled):not([aria-busy=true]),button.viking-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-danger:focus-visible,a.viking-btn-danger:focus-visible,button.viking-btn-danger:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-danger::before,a.viking-btn-danger::before,button.viking-btn-danger::before{display:none}.viking-btn-danger::after,a.viking-btn-danger::after,button.viking-btn-danger::after{display:none}.viking-btn-danger:disabled,.viking-btn-danger[aria-busy=true],a.viking-btn-danger:disabled,a.viking-btn-danger[aria-busy=true],button.viking-btn-danger:disabled,button.viking-btn-danger[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-danger[aria-busy=true]::before,.viking-btn-danger[aria-busy=true] .viking-btn-label,a.viking-btn-danger[aria-busy=true]::before,a.viking-btn-danger[aria-busy=true] .viking-btn-label,button.viking-btn-danger[aria-busy=true]::before,button.viking-btn-danger[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-danger[aria-busy=true],a.viking-btn-danger[aria-busy=true],button.viking-btn-danger[aria-busy=true]{cursor:wait}.viking-btn-danger[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-danger[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-danger[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-danger viking-icon,.viking-btn-danger .viking-icon,.viking-btn-danger [data-viking-icon],a.viking-btn-danger viking-icon,a.viking-btn-danger .viking-icon,a.viking-btn-danger [data-viking-icon],button.viking-btn-danger viking-icon,button.viking-btn-danger .viking-icon,button.viking-btn-danger [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-danger .viking-btn-label,a.viking-btn-danger .viking-btn-label,button.viking-btn-danger .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-danger,a.viking-btn-danger,button.viking-btn-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),a.viking-btn-danger:active:not(:disabled):not([aria-busy=true]),button.viking-btn-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));background:color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-ghost:focus-visible,a.viking-btn-ghost:focus-visible,button.viking-btn-ghost:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-ghost::before,a.viking-btn-ghost::before,button.viking-btn-ghost::before{display:none}.viking-btn-ghost::after,a.viking-btn-ghost::after,button.viking-btn-ghost::after{display:none}.viking-btn-ghost:disabled,.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost:disabled,a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost:disabled,button.viking-btn-ghost[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-ghost[aria-busy=true]::before,.viking-btn-ghost[aria-busy=true] .viking-btn-label,a.viking-btn-ghost[aria-busy=true]::before,a.viking-btn-ghost[aria-busy=true] .viking-btn-label,button.viking-btn-ghost[aria-busy=true]::before,button.viking-btn-ghost[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-ghost[aria-busy=true],a.viking-btn-ghost[aria-busy=true],button.viking-btn-ghost[aria-busy=true]{cursor:wait}.viking-btn-ghost[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-ghost[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-ghost[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-ghost viking-icon,.viking-btn-ghost .viking-icon,.viking-btn-ghost [data-viking-icon],a.viking-btn-ghost viking-icon,a.viking-btn-ghost .viking-icon,a.viking-btn-ghost [data-viking-icon],button.viking-btn-ghost viking-icon,button.viking-btn-ghost .viking-icon,button.viking-btn-ghost [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-ghost .viking-btn-label,a.viking-btn-ghost .viking-btn-label,button.viking-btn-ghost .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-ghost,a.viking-btn-ghost,button.viking-btn-ghost{background:rgba(0,0,0,0);color:var(--viking-text);min-width:auto;box-shadow:none;border-color:rgba(0,0,0,0)}.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-component-hover-bg);color:var(--viking-text);border-color:rgba(0,0,0,0);box-shadow:none}.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),a.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]),button.viking-btn-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-subtle:focus-visible,a.viking-btn-subtle:focus-visible,button.viking-btn-subtle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-subtle::before,a.viking-btn-subtle::before,button.viking-btn-subtle::before{display:none}.viking-btn-subtle::after,a.viking-btn-subtle::after,button.viking-btn-subtle::after{display:none}.viking-btn-subtle:disabled,.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle:disabled,a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle:disabled,button.viking-btn-subtle[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-subtle[aria-busy=true]::before,.viking-btn-subtle[aria-busy=true] .viking-btn-label,a.viking-btn-subtle[aria-busy=true]::before,a.viking-btn-subtle[aria-busy=true] .viking-btn-label,button.viking-btn-subtle[aria-busy=true]::before,button.viking-btn-subtle[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-subtle[aria-busy=true],a.viking-btn-subtle[aria-busy=true],button.viking-btn-subtle[aria-busy=true]{cursor:wait}.viking-btn-subtle[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-subtle[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-subtle[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-subtle viking-icon,.viking-btn-subtle .viking-icon,.viking-btn-subtle [data-viking-icon],a.viking-btn-subtle viking-icon,a.viking-btn-subtle .viking-icon,a.viking-btn-subtle [data-viking-icon],button.viking-btn-subtle viking-icon,button.viking-btn-subtle .viking-icon,button.viking-btn-subtle [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-subtle .viking-btn-label,a.viking-btn-subtle .viking-btn-label,button.viking-btn-subtle .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-subtle,a.viking-btn-subtle,button.viking-btn-subtle{background:rgba(0,0,0,0);color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-component-hover-bg);border-color:var(--viking-component-border-hover);box-shadow:none}.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),a.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]),button.viking-btn-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb, var(--viking-accent-soft) 70%, var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 24%, transparent)}.viking-btn-filled,a.viking-btn-filled,button.viking-btn-filled{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.viking-btn-filled:focus-visible,a.viking-btn-filled:focus-visible,button.viking-btn-filled:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.viking-btn-filled::before,a.viking-btn-filled::before,button.viking-btn-filled::before{display:none}.viking-btn-filled::after,a.viking-btn-filled::after,button.viking-btn-filled::after{display:none}.viking-btn-filled:disabled,.viking-btn-filled[aria-busy=true],a.viking-btn-filled:disabled,a.viking-btn-filled[aria-busy=true],button.viking-btn-filled:disabled,button.viking-btn-filled[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.viking-btn-filled[aria-busy=true]::before,.viking-btn-filled[aria-busy=true] .viking-btn-label,a.viking-btn-filled[aria-busy=true]::before,a.viking-btn-filled[aria-busy=true] .viking-btn-label,button.viking-btn-filled[aria-busy=true]::before,button.viking-btn-filled[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.viking-btn-filled[aria-busy=true],a.viking-btn-filled[aria-busy=true],button.viking-btn-filled[aria-busy=true]{cursor:wait}.viking-btn-filled[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.viking-btn-filled[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.viking-btn-filled[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.viking-btn-filled viking-icon,.viking-btn-filled .viking-icon,.viking-btn-filled [data-viking-icon],a.viking-btn-filled viking-icon,a.viking-btn-filled .viking-icon,a.viking-btn-filled [data-viking-icon],button.viking-btn-filled viking-icon,button.viking-btn-filled .viking-icon,button.viking-btn-filled [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.viking-btn-filled .viking-btn-label,a.viking-btn-filled .viking-btn-label,button.viking-btn-filled .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.viking-btn-filled,a.viking-btn-filled,button.viking-btn-filled{background:var(--viking-surface-recipe-muted, var(--viking-surface-alt));color:var(--viking-text);border-color:var(--viking-border);box-shadow:var(--viking-shadow-xs)}.viking-btn-filled:hover:not(:disabled):not([aria-busy=true]),a.viking-btn-filled:hover:not(:disabled):not([aria-busy=true]),button.viking-btn-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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn-filled:active:not(:disabled):not([aria-busy=true]),a.viking-btn-filled:active:not(:disabled):not([aria-busy=true]),button.viking-btn-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-btn-press-shadow);border-color:color-mix(in srgb, var(--viking-accent) 20%, var(--viking-border));background:color-mix(in srgb, var(--viking-surface-alt) 84%, var(--viking-accent))}.viking-btn.viking-outline{background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.viking-btn.viking-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-accent) 5%, 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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.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-btn-depth-shadow)}.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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-primary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.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-btn-depth-shadow)}.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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-secondary:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent-secondary) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-filled{background:var(--viking-surface-recipe-muted, 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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-filled:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-btn-press-shadow);border-color:color-mix(in srgb, var(--viking-accent) 20%, var(--viking-border));background:color-mix(in srgb, var(--viking-surface-alt) 84%, var(--viking-accent))}.viking-btn.viking-danger{background:var(--viking-danger);color:var(--viking-on-danger);border-color:color-mix(in srgb, var(--viking-danger) 85%, var(--viking-black));box-shadow:var(--viking-btn-depth-shadow)}.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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.viking-btn.viking-danger:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-danger) 72%, var(--viking-black));background:color-mix(in srgb, var(--viking-danger) 84%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}.viking-btn.viking-ghost{background:rgba(0,0,0,0);color:var(--viking-text);min-width:auto;box-shadow:none;border-color:rgba(0,0,0,0)}.viking-btn.viking-ghost:hover:not(:disabled):not([aria-busy=true]){background:var(--viking-component-hover-bg);color:var(--viking-text);border-color:rgba(0,0,0,0);box-shadow:none}.viking-btn.viking-ghost:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));background:var(--viking-accent-soft);color:var(--viking-accent-strong)}.viking-btn.viking-subtle{background:rgba(0,0,0,0);color:var(--viking-text-muted);border-color:var(--viking-border-subtle);min-width:auto;box-shadow:none}.viking-btn.viking-subtle:hover:not(:disabled):not([aria-busy=true]){color:var(--viking-text);background:var(--viking-component-hover-bg);border-color:var(--viking-component-border-hover);box-shadow:none}.viking-btn.viking-subtle:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border);background:color-mix(in srgb, var(--viking-accent-soft) 70%, var(--viking-surface));box-shadow:inset 0 1px 2px color-mix(in srgb, var(--viking-black) 24%, transparent)}.viking-btn.viking-compact{min-width:0}.viking-btn.viking-full{width:100%;min-width:0}.viking-btn-label{display:inline-flex;align-items:center;line-height:inherit}.viking-btn-spinner{flex:0 0 auto;display:inline-block;box-sizing:border-box;width:var(--viking-icon-size-sm, 18px);height:var(--viking-icon-size-sm, 18px);min-width:var(--viking-icon-size-sm, 18px);min-height:var(--viking-icon-size-sm, 18px);aspect-ratio:1;border:2px solid color-mix(in srgb, currentColor 28%, transparent);border-top-color:currentColor;border-radius:var(--viking-radius-pill) !important;animation:viking-spin .8s linear infinite;margin-inline-end:var(--viking-space-0-5);background:rgba(0,0,0,0);box-shadow:none}.viking-stack{display:flex;flex-direction:column;gap:var(--viking-stack-gap, var(--viking-space-6));align-items:var(--viking-stack-align, stretch)}.viking-stack--tight{--viking-stack-gap: var(--viking-space-2)}.viking-stack--compact{--viking-stack-gap: var(--viking-space-3)}.viking-stack--loose{--viking-stack-gap: var(--viking-space-8)}.viking-stack--center{--viking-stack-align: center}.viking-cluster{display:flex;flex-wrap:wrap;gap:var(--viking-cluster-gap, var(--viking-space-2));align-items:var(--viking-cluster-align, center);justify-content:var(--viking-cluster-justify, flex-start)}.viking-cluster--between{--viking-cluster-justify: space-between}.viking-cluster--end{--viking-cluster-justify: flex-end}.viking-cluster--tight{--viking-cluster-gap: var(--viking-space-0-5)}.viking-inline{display:inline-flex;align-items:center;gap:var(--viking-inline-gap, var(--viking-space-0-5))}.viking-inline--wide{--viking-inline-gap: var(--viking-space-1)}.viking-grid{display:grid;gap:var(--viking-grid-gap, var(--viking-layout-column-gap));width:100%;align-items:stretch}.viking-grid--equal-rows,.viking-main-grid--equal-rows{grid-auto-rows:1fr}.viking-grid>*,.viking-main-grid>*{min-width:0}.viking-grid--equal-rows>:where(viking-card,.viking-card,viking-metric-card,.viking-metric-card,viking-chart-panel,.viking-chart-panel,.viking-panel-card,.viking-hud-panel),.viking-main-grid--equal-rows>:where(viking-card,.viking-card,viking-metric-card,.viking-metric-card,viking-chart-panel,.viking-chart-panel,.viking-panel-card,.viking-hud-panel){align-self:stretch;height:100%}.viking-grid--equal-rows>:where(viking-card,.viking-card,viking-metric-card,.viking-metric-card)>:where(.viking-card-footer,viking-card-footer){margin-block-start:auto}.viking-grid--equal-rows>:where(viking-grid-item,.viking-grid-item){display:flex;align-items:stretch;height:100%}.viking-grid--equal-rows>:where(viking-grid-item,.viking-grid-item)>:where(viking-card,.viking-card,viking-metric-card,.viking-metric-card,viking-chart-panel,.viking-chart-panel,.viking-panel-card,.viking-hud-panel){align-self:stretch;height:100%}.viking-grid--tight{--viking-grid-gap: var(--viking-space-2)}.viking-grid--loose{--viking-grid-gap: var(--viking-space-8)}.viking-grid.viking-grid--1,.viking-grid.viking-grid--2,.viking-grid.viking-grid--3,.viking-grid.viking-grid--4,.viking-grid.viking-grid--6{grid-template-columns:1fr}.viking-grid.viking-grid--12{grid-template-columns:repeat(12, minmax(0, 1fr))}.viking-grid-item{display:block;min-width:0;grid-column:1/-1}.viking-grid-item--span-1{grid-column:span 1}.viking-grid-item--span-2{grid-column:span 2}.viking-grid-item--span-3{grid-column:span 3}.viking-grid-item--span-4{grid-column:span 4}.viking-grid-item--span-5{grid-column:span 5}.viking-grid-item--span-6{grid-column:span 6}.viking-grid-item--span-7{grid-column:span 7}.viking-grid-item--span-8{grid-column:span 8}.viking-grid-item--span-9{grid-column:span 9}.viking-grid-item--span-10{grid-column:span 10}.viking-grid-item--span-11{grid-column:span 11}.viking-grid-item--span-12{grid-column:span 12}.viking-grid--12>:not(viking-grid-item):not(.viking-grid-item){grid-column:1/-1}.viking-grid--auto{--viking-grid-item-min: var(--viking-layout-item-default);grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-grid-item-min)), 1fr))}.viking-grid--item-compact{--viking-grid-item-min: var(--viking-layout-item-compact)}.viking-grid--item-wide{--viking-grid-item-min: var(--viking-layout-item-wide)}.viking-column-layout{display:grid;grid-template-columns:minmax(0, 1fr);column-gap:var(--viking-layout-column-gap);row-gap:var(--viking-layout-row-gap);width:100%;min-width:0;align-items:stretch}.viking-column-layout:is(.viking-column-layout--1,.viking-column-layout--2,.viking-column-layout--3,.viking-column-layout--4,.viking-column-layout--auto){display:grid;column-gap:var(--viking-layout-column-gap);row-gap:var(--viking-layout-row-gap)}.viking-column-layout>*{min-width:0}.viking-column-layout--equal-rows{grid-auto-rows:1fr}.viking-column-layout--equal-rows>*{height:100%}.viking-form-grid{align-items:start}.viking-form-grid>*{align-self:start;width:100%}.viking-column-layout--tight{column-gap:var(--viking-space-control-gap);row-gap:var(--viking-space-control-gap)}.viking-column-layout--loose{column-gap:var(--viking-space-section-gap);row-gap:var(--viking-space-section-gap)}.viking-column-layout.viking-column-layout--auto{--viking-column-layout-item-min: var(--viking-layout-item-default);grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-column-layout-item-min)), 1fr))}.viking-column-layout--item-compact{--viking-column-layout-item-min: var(--viking-layout-item-compact)}.viking-column-layout--item-wide{--viking-column-layout-item-min: var(--viking-layout-item-wide)}.viking-switcher{--viking-switcher-gap: var(--viking-space-6);--viking-switcher-item-min: var(--viking-layout-item-default);display:flex;flex-wrap:wrap;gap:var(--viking-switcher-gap);align-items:stretch;width:100%}.viking-switcher>*{flex-grow:1;flex-basis:calc((var(--viking-switcher-item-min) - 100%)*999);min-width:0}.viking-switcher--compact{--viking-switcher-item-min: var(--viking-layout-item-compact)}.viking-switcher--wide{--viking-switcher-item-min: var(--viking-layout-item-wide)}.viking-switcher--tight{--viking-switcher-gap: var(--viking-space-2)}.viking-switcher--loose{--viking-switcher-gap: var(--viking-space-8)}@media(min-width: 768px){.viking-grid.viking-grid--2{grid-template-columns:repeat(2, minmax(0, 1fr))}.viking-grid.viking-grid--3,.viking-grid.viking-grid--4,.viking-grid.viking-grid--6{grid-template-columns:repeat(2, minmax(0, 1fr))}.viking-grid.viking-grid--12{grid-template-columns:repeat(12, minmax(0, 1fr))}.viking-grid-item--span-md-1{grid-column:span 1}.viking-grid-item--span-md-2{grid-column:span 2}.viking-grid-item--span-md-3{grid-column:span 3}.viking-grid-item--span-md-4{grid-column:span 4}.viking-grid-item--span-md-5{grid-column:span 5}.viking-grid-item--span-md-6{grid-column:span 6}.viking-grid-item--span-md-7{grid-column:span 7}.viking-grid-item--span-md-8{grid-column:span 8}.viking-grid-item--span-md-9{grid-column:span 9}.viking-grid-item--span-md-10{grid-column:span 10}.viking-grid-item--span-md-11{grid-column:span 11}.viking-grid-item--span-md-12{grid-column:span 12}.viking-column-layout.viking-column-layout--2,.viking-column-layout.viking-column-layout--3,.viking-column-layout.viking-column-layout--4{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.viking-grid.viking-grid--3{grid-template-columns:repeat(3, minmax(0, 1fr))}.viking-grid.viking-grid--4{grid-template-columns:repeat(4, minmax(0, 1fr))}.viking-grid.viking-grid--6{grid-template-columns:repeat(6, minmax(0, 1fr))}.viking-grid-item--span-lg-1{grid-column:span 1}.viking-grid-item--span-lg-2{grid-column:span 2}.viking-grid-item--span-lg-3{grid-column:span 3}.viking-grid-item--span-lg-4{grid-column:span 4}.viking-grid-item--span-lg-5{grid-column:span 5}.viking-grid-item--span-lg-6{grid-column:span 6}.viking-grid-item--span-lg-7{grid-column:span 7}.viking-grid-item--span-lg-8{grid-column:span 8}.viking-grid-item--span-lg-9{grid-column:span 9}.viking-grid-item--span-lg-10{grid-column:span 10}.viking-grid-item--span-lg-11{grid-column:span 11}.viking-grid-item--span-lg-12{grid-column:span 12}.viking-column-layout.viking-column-layout--3{grid-template-columns:repeat(3, minmax(0, 1fr))}.viking-column-layout.viking-column-layout--4{grid-template-columns:repeat(4, minmax(0, 1fr))}}.viking-grid--1{grid-template-columns:1fr}.viking-divider{border:0;border-top:1px solid var(--viking-border-subtle);margin:var(--viking-space-4) 0}.viking-divider--strong{border-top-color:var(--viking-border)}.viking-main-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-grid-gap, var(--viking-space-4));width:100%;align-items:stretch}@media(min-width: 768px){.viking-main-grid--2{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.viking-main-grid--3{grid-template-columns:repeat(3, minmax(0, 1fr))}}.viking-surface-panel,.glass-panel{background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid color-mix(in srgb, var(--viking-border-strong) 78%, var(--viking-border));border-radius:var(--viking-card-radius, var(--viking-radius-xl));box-shadow:var(--viking-shadow-md);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, 36%), 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}@media(prefers-reduced-motion: reduce){.viking-status-dot--pulse::after,.telemetry-pulse::after{animation:none;opacity:.45}}.dashboard-page-container .page-inner-wrapper,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{gap:var(--viking-page-stack-gap, var(--viking-space-5));flex:1}.viking-dashboard-page .settings-stack,.viking-app-page .settings-stack,.dashboard-page-container .settings-stack{display:grid !important;grid-template-columns:1fr !important;gap:var(--viking-space-5) !important;width:100% !important}.viking-dashboard-page .settings-stack>viking-card,.viking-app-page .settings-stack>viking-card,.dashboard-page-container .settings-stack>viking-card,.viking-dashboard-page .settings-stack>.status-card-outlined,.viking-app-page .settings-stack>.status-card-outlined,.dashboard-page-container .settings-stack>.status-card-outlined{width:100% !important;grid-column:1/-1 !important}.viking-page-stack,.viking-content-stack{display:grid;grid-template-columns:1fr;gap:var(--viking-page-section-gap)}.viking-card{display:grid;gap:var(--viking-card-content-gap, var(--viking-space-3));background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid color-mix(in srgb, var(--viking-border-strong) 86%, var(--viking-border));border-radius:var(--viking-card-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);align-self:stretch;box-sizing:border-box;position:relative;overflow:clip;transition:var(--viking-transition-interactive)}.viking-card.viking-card-compact,.viking-card--compact{padding:var(--viking-card-padding-compact);gap:var(--viking-card-content-gap-compact, var(--viking-space-2))}.viking-card.viking-card-interactive:hover,.viking-card[data-interactive=true]:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);background:var(--viking-surface-recipe-elevated);transform:translateY(var(--viking-state-hover-lift))}.viking-card.viking-card-interactive:active,.viking-card[data-interactive=true]:active{transform:translateY(0) scale(var(--viking-state-active-scale));box-shadow:var(--viking-shadow-sm)}.viking-card.viking-card-interactive:focus-visible,.viking-card[data-interactive=true]:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-card.viking-card-loading{pointer-events:none}.viking-card .viking-card,.viking-card>viking-card,viking-card .viking-card{background:var(--viking-surface-recipe-inset);border-color:var(--viking-border-subtle);box-shadow:var(--viking-shadow-inner)}.viking-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-3);padding-bottom:var(--viking-space-2);margin-bottom:0;border-bottom:1px solid var(--viking-border-subtle)}.viking-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--viking-space-2);padding-top:var(--viking-space-2);margin-top:0;border-top:1px solid var(--viking-border-subtle)}.viking-card-title{display:inline-flex;align-items:center;gap:var(--viking-space-1);flex:1 1 auto;min-width:0}.viking-form-constrained,.viking-form-narrow,.viking-login-form,.login-shell .viking-card,.login-shell form{width:100%;max-width:var(--viking-form-max-width);margin-inline:auto}.viking-form-narrow,.login-shell .viking-card,.login-shell form{max-width:var(--viking-form-narrow-max-width)}.viking-form-constrained .viking-form-section,.viking-form-constrained viking-form-section,.viking-form-narrow .viking-form-section,.viking-form-narrow viking-form-section{max-width:var(--viking-form-max-width)}.viking-readable-prose,.viking-section-lead,.viking-page-header-subtitle{max-width:var(--viking-content-readable-max-width)}.viking-hud-panel,.panel-section,.viking-panel-card,.status-card-outlined,.panel-card{min-width:var(--viking-card-min-width);border-radius:var(--viking-radius-xl);box-shadow:var(--viking-shadow-sm)}.viking-hud-panel-header,.panel-header,.viking-panel-card-header,.card-header-clean{padding:var(--viking-space-4)}.viking-panel-card-body,.card-body-clean,.viking-hud-panel-body,.panel-body{padding:var(--viking-space-4)}.panel-card{padding:var(--viking-space-4)}.viking-metric-card,.metric-card{padding:var(--viking-card-padding-compact);border-radius:var(--viking-radius-xl)}.viking-page-header,.hud-header,.dashboard-topbar{gap:var(--viking-space-5);padding-bottom:var(--viking-space-5);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-dashboard-grid-gap, var(--viking-space-3));margin-bottom:var(--viking-page-section-gap, var(--viking-space-6));width:100%;min-width:0;align-items:stretch;grid-auto-rows:1fr}@media(min-width: 600px){.viking-metric-row,.hud-metrics{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.viking-metric-row,.hud-metrics{gap:var(--viking-space-4)}}.viking-metric-row>*,.hud-metrics>*{height:100%;min-width:0}.viking-metric-card,.metric-card{display:flex;flex-direction:row;gap:var(--viking-space-3);background:var(--viking-surface-recipe);border:1px solid var(--viking-border-subtle);padding:var(--viking-card-padding-compact, var(--viking-space-4));border-radius:var(--viking-card-radius, var(--viking-radius-xl));min-width:0;min-height:var(--viking-metric-card-min-height);align-items:flex-start;justify-content:flex-start;text-align:left;box-sizing:border-box;overflow:hidden;transition:var(--viking-transition-interactive);box-shadow:var(--viking-shadow-xs)}.viking-metric-card:hover,.metric-card:hover{border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm);transform:translateY(var(--viking-state-hover-lift));background:var(--viking-surface-recipe-elevated)}.viking-metric-card:focus-visible,.metric-card:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.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;overflow:hidden}.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;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viking-metric-card-copy{display:grid;align-content:start;gap:var(--viking-space-1);min-width:0;flex:1 1 auto}.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;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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:var(--viking-surface-recipe);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));display:flex;flex-direction:column;overflow:hidden;min-width:0;transition:var(--viking-transition-interactive)}.viking-hud-panel:hover,.panel-section:hover{border-color:var(--viking-border-strong)}.viking-table-scroll,.table-scroll,.panel-body-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.viking-hud-panel-header,.panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding:var(--viking-panel-header-padding, var(--viking-space-3));background:linear-gradient(180deg, color-mix(in srgb, var(--viking-metallic-100) 5%, transparent), transparent),color-mix(in srgb, var(--viking-surface-inset) 32%, 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-card-radius, var(--viking-radius-xl));border:1px solid var(--viking-border);background:var(--viking-surface-recipe);overflow:hidden;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive)}.viking-panel-card .viking-panel-card,.status-card-outlined .status-card-outlined,.viking-card .viking-card{background:var(--viking-surface-recipe-inset);border-color:var(--viking-border-subtle);box-shadow:var(--viking-shadow-inner)}.viking-panel-card:hover,.status-card-outlined:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.viking-panel-card:focus-visible,.status-card-outlined:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-panel-card::before,.status-card-outlined::before{display:none}.viking-panel-card-header,.card-header-clean{padding:var(--viking-space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-3);border-bottom:1px solid var(--viking-border)}.viking-panel-card-body,.card-body-clean{padding:var(--viking-space-4)}.status-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-3);padding:var(--viking-space-3) 0;margin-bottom:var(--viking-space-4);border-bottom:1px solid var(--viking-border)}.status-bar-metric{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-mix(in srgb, var(--viking-surface-alt) 82%, var(--viking-surface));font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text)}.status-bar-metric-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background:var(--viking-accent)}.viking-page-header,.hud-header,.dashboard-topbar{display:grid;grid-template-columns:minmax(0, 1fr);align-items:end;gap:var(--viking-space-content-gap);padding-bottom:var(--viking-space-container-gap);margin-bottom:var(--viking-space-section-gap);border-bottom:var(--viking-border-width) var(--viking-border-style) var(--viking-border-subtle)}.viking-page-header-sidebar.dashboard-topbar{padding:var(--viking-panel-padding, var(--viking-space-3))}.viking-page-header-main,.title-group.topbar-left{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-control-gap);min-width:0;flex:1 1 min(100%,36rem)}.viking-page-header-title-block{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-1);width:100%;min-width:0}.viking-page-back-link-host{flex-shrink:0}.viking-page-header-title,.hud-title,.page-title{margin:0;font-size:clamp(var(--viking-font-size-xl),2.5vw,var(--viking-font-size-2xl));font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-page-header-subtitle,.hud-subtitle,.page-description{margin:var(--viking-space-1) 0 0;font-size:var(--viking-font-size);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed);max-width:var(--viking-content-readable-max-width)}.viking-page-header-actions,.topbar-right{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-end;gap:var(--viking-space-2);flex-shrink:0;min-width:0;margin-left:auto}@media(min-width: 768px){.viking-page-header,.hud-header,.dashboard-topbar{grid-template-columns:minmax(0, 1fr) auto}}.viking-empty-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--viking-space-6) var(--viking-space-4);text-align:center;color:var(--viking-text-muted);gap:var(--viking-space-2);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:var(--viking-space-3) var(--viking-space-4) 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:0 0 auto;display:flex;width:100%;min-height:0;height:auto}.chart-container-large{min-height:0}.chart-container-medium{min-height:0}.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-chart-empty-padding, var(--viking-space-5) var(--viking-space-4));gap:var(--viking-chart-empty-gap, var(--viking-space-3));animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.viking-chart-empty.compact,.empty-chart-state.compact,.panel-empty.compact{min-height:var(--viking-space-14);padding:var(--viking-space-3)}.viking-chart-empty.inline,.empty-chart-state.inline,.panel-empty.inline{min-height:auto;background:var(--viking-surface-alt);border:none;box-shadow:none}.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:var(--viking-accent-soft);color:var(--viking-accent-strong)}.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);margin-bottom:var(--viking-space-2);font-size:var(--viking-font-size-3xl)}.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-5) var(--viking-space-4);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-recipe-muted, 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:var(--viking-font-size-2xl);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{padding:var(--viking-panel-padding, var(--viking-space-3));border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background:var(--viking-surface)}.status-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-6) var(--viking-space-4);margin-top:var(--viking-space-4);background:var(--viking-surface-alt);border-radius:var(--viking-radius-lg);gap:var(--viking-space-2);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}@media(min-width: 600px){.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-danger) 14%, transparent);color:var(--viking-danger);border:1px solid color-mix(in srgb, var(--viking-danger) 28%, transparent);font-size:var(--viking-font-size-4xl);margin-bottom:var(--viking-space-1);box-shadow:var(--viking-shadow-sm)}.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-6) var(--viking-space-4);gap:var(--viking-space-2);color:var(--viking-text-muted);animation:viking-fade-in var(--viking-duration) var(--viking-ease-default)}.viking-dashboard-layout,.dashboard-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr;width:100%;min-height:calc(100vh - 64px)}@media(min-width: 1024px){.viking-dashboard-layout,.dashboard-layout{grid-template-columns:auto 1fr}}.viking-dashboard-main,.dashboard-main{display:grid;grid-template-columns:1fr;min-width:0;padding:var(--viking-space-2) var(--viking-page-gutter);box-sizing:border-box}@media(min-width: 768px){.viking-dashboard-main,.dashboard-main{padding:var(--viking-space-3) var(--viking-page-gutter-lg)}}@media(min-width: 1024px){.viking-dashboard-main,.dashboard-main{padding:var(--viking-space-4) var(--viking-page-gutter-lg)}}.overview-grid,.detail-grid,.triage-grid,.soc-operations-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-dashboard-grid-gap, var(--viking-space-4));width:100%;min-width:0}.overview-grid>*,.detail-grid>*,.triage-grid>*,.soc-operations-grid>*,.ces-gauge-cluster>*,.dashboard-grid>*{min-width:0}.triage-grid>.col-span-1,.triage-grid>.col-span-2,.triage-grid>.col-span-3,.triage-grid>.col-span-4,.triage-grid>.col-span-md-1,.triage-grid>.col-span-md-2,.triage-grid>.col-span-md-3,.triage-grid>.col-span-md-4,.triage-grid>.col-span-md-5,.triage-grid>.col-span-md-6,.triage-grid>.col-span-md-7,.triage-grid>.col-span-md-8,.triage-grid>.col-span-md-9,.triage-grid>.col-span-md-10,.triage-grid>.col-span-md-11,.triage-grid>.col-span-md-12{grid-column:1/-1}.ces-gauge-cluster>.col-span-1,.ces-gauge-cluster>.col-span-2,.ces-gauge-cluster>.col-span-3,.ces-gauge-cluster>.col-span-4,.ces-gauge-cluster>.col-span-md-1,.ces-gauge-cluster>.col-span-md-2,.ces-gauge-cluster>.col-span-md-3,.ces-gauge-cluster>.col-span-md-4,.ces-gauge-cluster>.col-span-md-5,.ces-gauge-cluster>.col-span-md-6,.ces-gauge-cluster>.col-span-md-7,.ces-gauge-cluster>.col-span-md-8,.ces-gauge-cluster>.col-span-md-9,.ces-gauge-cluster>.col-span-md-10,.ces-gauge-cluster>.col-span-md-11,.ces-gauge-cluster>.col-span-md-12{grid-column:auto}.setup-banner,.col-span-full{grid-column:1/-1}.setup-banner{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3);padding:var(--viking-card-padding, var(--viking-space-4));border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-recipe);box-shadow:var(--viking-shadow-sm)}.setup-banner-content{display:flex;align-items:flex-start;gap:var(--viking-space-2);min-width:0}.setup-banner p{margin:var(--viking-space-1) 0 0;color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.kpi-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-dashboard-grid-gap, var(--viking-space-3));min-width:0}.health-card,.kpi-card,.overview-panel,.chart-panel,.security-panel,.queue-panel,.detail-panel,.soc-panel{width:100%;min-width:0}.health-card{align-content:center}.health-value{font-size:var(--viking-font-size-display);font-weight:var(--viking-font-weight-bold);line-height:var(--viking-line-height-tight)}.health-label,.health-caption,.kpi-label,.kpi-subtitle{color:var(--viking-text-muted)}.health-caption{margin:0;line-height:var(--viking-line-height-relaxed)}.kpi-label{font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.kpi-value{font-size:clamp(var(--viking-font-size-xl),5vw,var(--viking-font-size-3xl));font-weight:var(--viking-font-weight-bold);line-height:var(--viking-line-height-tight);overflow-wrap:anywhere}.kpi-sparkline-slot{min-height:var(--viking-space-5);min-width:0}.panel-header,.snapshot-stats,.panel-title-group,.detail-actions,.soc-header-actions{min-width:0}.snapshot-stats{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-2)}.snapshot-stat{min-width:0}.snapshot-label{display:block;color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width: 600px){.setup-banner{flex-direction:row;align-items:center;justify-content:space-between}.kpi-grid,.snapshot-stats,.soc-operations-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.triage-grid{grid-template-columns:repeat(12, minmax(0, 1fr))}.triage-grid>.col-span-md-4{grid-column:span 4}.triage-grid>.col-span-md-8{grid-column:span 8}}@media(min-width: 1440px){.detail-grid{grid-template-columns:minmax(0, 1fr)}}@media(min-width: 1024px){.soc-operations-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.metrics-overview-header{display:flex;flex-direction:column;gap:var(--viking-space-2);margin-bottom:var(--viking-page-stack-gap, var(--viking-space-5))}.metrics-overview-header>.section-title-premium,.metrics-overview-header>.section-description-premium{margin:0}.metrics-section-spacing{margin-top:var(--viking-page-stack-gap, var(--viking-space-5))}.section-title-premium{display:flex;align-items:center;gap:var(--viking-space-2);font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-tight, -0.01em);color:var(--viking-text, var(--text-color));margin:0 0 var(--viking-space-2) 0}.section-title-premium viking-app-icon,.section-title-premium viking-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-space-3);height:var(--viking-space-3);border-radius:var(--viking-radius-sm);background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 14%, transparent));color:var(--viking-accent-strong, var(--viking-accent));flex-shrink:0}.section-description-premium{font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted, var(--text-muted));margin:0 0 var(--viking-space-4) 0;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-dashboard-grid-gap, var(--viking-space-4));margin-bottom:var(--viking-page-stack-gap, var(--viking-space-5))}@media(min-width: 600px){.ml-stat-panels-row,.stat-panels-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.ml-stat-panels-row,.stat-panels-grid{gap:var(--viking-space-4)}}.ml-stat-panel{background:var(--viking-surface-recipe);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));padding:var(--viking-card-padding-compact, var(--viking-space-4));display:flex;justify-content:space-between;align-items:center;transition:var(--viking-transition-interactive);min-width:0;box-shadow:var(--viking-shadow-sm)}.ml-stat-panel:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-accent-strong)}.ml-stat-panel.viking-stat-alert{border-color:var(--viking-danger);border-left:3px solid var(--viking-danger)}.ml-stat-panel.viking-stat-alert .stat-value{color:var(--viking-danger-text, var(--viking-danger))}.stat-info{display:flex;align-items:center;gap:var(--viking-space-2);min-width:0}.stat-title{font-weight:var(--viking-font-weight-semibold, 600);font-size:var(--viking-font-size-sm);letter-spacing:var(--viking-letter-spacing-caps, 0.04em);text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-value{font-size:calc(var(--viking-font-size)*1.35);font-weight:var(--viking-font-weight-bold, 700);color:var(--viking-accent-strong, var(--viking-accent));letter-spacing:var(--viking-letter-spacing-tight, -0.02em);line-height:var(--viking-line-height-tight, 1.2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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)}.status-directory-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-8);width:100%}.status-directory-grid>*{min-width:0}.status-directory-card,app-status-card.status-directory-card{display:block;width:100%;min-width:0;border-radius:var(--viking-card-radius, var(--viking-radius-xl));border:1px solid var(--viking-border);background:var(--viking-surface-recipe);padding:var(--viking-space-5);box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive)}.status-error-state.status-directory-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--viking-space-2)}.status-directory-card:hover,app-status-card.status-directory-card:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.status-directory-card:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.status-card-actions,.status-card-footer-action,.status-incidents-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2);min-width:0}.status-card-actions{justify-content:space-between;padding:var(--viking-space-2) 0 0;border-top:1px solid color-mix(in srgb, var(--viking-border-strong) 48%, transparent);margin-top:var(--viking-space-2)}.status-card-footer-action{padding-top:var(--viking-space-3);margin-top:var(--viking-space-2);border-top:1px solid color-mix(in srgb, var(--viking-border-strong) 48%, transparent)}.status-incidents-list{flex-direction:column;align-items:stretch;margin-top:var(--viking-space-2);gap:var(--viking-space-2)}.status-incidents-list viking-card{background:color-mix(in srgb, var(--viking-surface-alt) 88%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-border) 72%, transparent)}.status-page-section{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-2)}.status-page-section+.status-page-section{margin-top:var(--viking-space-4);padding-top:var(--viking-space-3);border-top:1px solid var(--viking-border-subtle)}.status-summary-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-2);width:100%;min-width:0;padding:var(--viking-space-2)}.status-summary-grid>*{width:100%;min-width:0}.status-summary-grid .viking-status-metric-row{margin-bottom:0}.status-summary-grid:not(:last-of-type){margin-bottom:var(--viking-space-2)}.status-summary-grid[data-section-title]::before{content:attr(data-section-title);display:block;padding:var(--viking-space-1) 0;margin-bottom:var(--viking-space-1);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted)}@media(min-width: 768px){.status-summary-grid:not(.status-summary-grid-single){grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.status-directory-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}viking-card.status-section-card{gap:var(--viking-space-3)}viking-card.status-section-card viking-heading{margin:0}viking-card.status-metric-grid-card{display:grid;grid-template-columns:minmax(0, 1fr);align-items:stretch}viking-card.status-metric-grid-card>viking-heading,viking-card.status-metric-grid-card>p{grid-column:1/-1}@media(min-width: 768px){viking-card.status-metric-grid-card{grid-template-columns:repeat(2, minmax(0, 1fr))}}viking-card.status-metric-grid-card viking-status-metric-row{height:100%}viking-card.uptime-history-card{display:flex;flex-direction:column;gap:var(--viking-space-3)}.uptime-bar,.viking-uptime-history{display:flex;flex-direction:column;gap:var(--viking-space-2);width:100%;min-width:0}.uptime-bar-visual{display:flex;gap:calc(var(--viking-space-0-5)/2);width:100%;min-width:0;height:var(--viking-space-3);padding:var(--viking-space-0-5);border-radius:var(--viking-radius-full);overflow:hidden;background:var(--viking-surface-inset);box-sizing:border-box}.uptime-bar-segment{flex:1 1 0;min-width:3px;border-radius:var(--viking-radius-pill)}.uptime-bar-up,.uptime-bar-operational{background:var(--viking-success)}.uptime-bar-degraded,.uptime-bar-partial_outage{background:var(--viking-warning)}.uptime-bar-down,.uptime-bar-major_outage{background:var(--viking-danger)}.uptime-bar-no_data{background:var(--viking-text-muted);opacity:.35}.uptime-bar-legend{display:flex;justify-content:space-between;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}viking-card.monitored-services-card{background:color-mix(in srgb, var(--viking-surface-recipe, var(--viking-surface)) 88%, var(--viking-accent) 12%)}.status-panel-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-page-section-gap, var(--viking-space-6));width:100%;min-width:0}@media(min-width: 768px){.status-panel-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.status-panel-grid>*{width:100%;min-width:0}.status-chart-panel{display:flex;flex-direction:column;gap:var(--viking-space-3);width:100%;min-width:0}.status-chart-panel viking-chart,.status-chart-panel .viking-chart{width:100%;min-width:0;padding-top:var(--viking-space-1)}.status-overview-section{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-6));width:100%;min-width:0}.status-hero-callout{border-color:color-mix(in srgb, var(--viking-accent-strong) 48%, var(--viking-border))}.ces-meter-section{margin-bottom:var(--viking-space-4)}.ces-gauge-cluster{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-3, var(--grid-gap));width:100%;min-width:0}@media(min-width: 600px){.ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 768px){.ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}.gauge-card{position:relative;width:100%;min-width:0;background:var(--viking-surface-recipe, var(--viking-surface));border:var(--viking-border-width) var(--viking-border-style) var(--viking-border);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding, var(--viking-space-3));display:flex;flex-direction:column;align-items:center;box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);overflow:hidden}.gauge-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) var(--viking-surface-hairline-strength, 22%), transparent), transparent);pointer-events:none}.gauge-card:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}.gauge-card-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--viking-space-3);padding-bottom:var(--viking-space-1);border-bottom:1px solid var(--viking-border-subtle)}.gauge-card-header h3{font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-semibold, 600);color:var(--viking-text, var(--text-color));margin:0}.gauge-card-header viking-app-icon,.gauge-card-header viking-icon{color:var(--viking-text-muted, var(--text-muted))}.gauge-card-footer{width:100%;margin-top:var(--viking-space-3);padding-top:var(--viking-space-2);border-top:1px solid var(--viking-border-subtle);font-size:var(--viking-font-size);color:var(--viking-text-muted, var(--text-muted));display:flex;align-items:center;justify-content:center;gap:var(--viking-space-1)}.gauge-card-footer viking-app-icon,.gauge-card-footer viking-icon{color:var(--viking-warning, var(--color-warning))}.gauge-wrapper{display:flex;flex-direction:column;align-items:center;position:relative;width:100%}.gauge-center-text{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;width:100%}.gauge-center-text.threat-text{color:var(--viking-accent)}.gauge-center-text.main-text{color:var(--viking-danger, var(--color-gauge-red))}.gauge-center-text.stability-text{color:var(--viking-accent, var(--color-primary))}.gauge-center-text.temporal-text{color:var(--viking-warning, var(--color-gold))}.gauge-center-text.honeypot-text{color:var(--viking-danger, var(--color-gauge-red))}.gauge-center-text.benchmark-text{color:var(--viking-accent, var(--color-primary))}.gauge-center-text .unit{font-size:var(--viking-font-size-sm);margin-bottom:var(--viking-space-1);color:var(--viking-text-muted, var(--text-muted));text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps, 0.1em)}.gauge-center-text .value{font-size:calc(var(--viking-font-size)*2.25);line-height:var(--viking-line-height-tight, 1);color:var(--viking-text, var(--text-color));font-weight:var(--viking-font-weight-bold, 700)}.gauge-center-text .value .unit-symbol{font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-medium, 500);color:var(--viking-text-muted, var(--text-muted))}html[data-theme=light] .gauge-card,html[data-theme=light] .ml-stat-panel{background:var(--viking-surface-recipe, var(--viking-surface))}.viking-page-shell,.page-inner-wrapper,.viking-page-container{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));padding-block:var(--viking-space-6, var(--viking-space-6)) var(--viking-space-8, var(--viking-space-8));box-sizing:border-box;display:grid;grid-template-columns:1fr;gap:var(--viking-page-stack-gap, var(--viking-space-6))}.viking-page-shell>*,.page-inner-wrapper>*,.viking-page-container>*{min-width:0}.dashboard-page-container .page-inner-wrapper,.dashboard-page-container .viking-page-container,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{max-width:var(--viking-container-max-width-wide, 1440px);padding-block:var(--viking-space-3) var(--viking-space-5);padding-inline:var(--viking-page-gutter)}@media(min-width: 600px){.dashboard-page-container .page-inner-wrapper,.dashboard-page-container .viking-page-container,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{padding-block:var(--viking-space-4) var(--viking-space-6);padding-inline:var(--viking-page-gutter-lg)}}@media(min-width: 1440px){.dashboard-page-container .page-inner-wrapper,.dashboard-page-container .viking-page-container,.viking-app-page .page-inner-wrapper,.viking-dashboard-page .page-inner-wrapper{padding-inline:var(--viking-page-gutter-xl)}}.dashboard-page-container>.dashboard-content-area>.page-inner-wrapper{width:100%;max-width:var(--viking-container-max-width, 1260px);margin-inline:auto;box-sizing:border-box}@media(min-width: 1440px){.viking-page-shell,.page-inner-wrapper,.viking-page-container,.viking-section-inner{padding-inline:var(--viking-page-gutter-xl, var(--viking-space-7))}}.viking-section{display:block;width:100%;padding-block:var(--viking-section-padding-y, var(--viking-space-10))}.viking-content-stack{display:grid;grid-template-columns:1fr;gap:var(--viking-page-section-gap, var(--viking-space-6, var(--space-6, var(--viking-space-6))));width:100%}.viking-content-stack--tight{gap:var(--viking-page-stack-gap, var(--viking-space-4, var(--space-4, var(--viking-space-4))))}.viking-section--compact{padding-block:var(--viking-section-padding-y-compact, var(--viking-space-4, var(--space-4, var(--viking-space-4))))}.viking-section--hero{padding-block:var(--viking-space-8, var(--space-8, var(--viking-space-8))) var(--viking-space-6, var(--space-6, var(--viking-space-6)))}@media(min-width: 768px){.viking-section--hero{padding-block:var(--viking-space-10) var(--viking-space-8, var(--viking-space-8))}}.viking-section-inner{width:100%;max-width:var(--viking-container-max-width, var(--container-max-width, 1260px));margin-inline:auto;padding-inline:var(--viking-page-gutter, var(--viking-space-4, var(--viking-space-4)));box-sizing:border-box}.viking-section-header{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);margin-bottom:var(--viking-page-section-gap, var(--viking-space-8));max-width:48rem}.viking-section-title{margin:0 0 var(--viking-space-3) 0;font-family:var(--viking-font-family);font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.viking-section-lead{margin:0 0 var(--viking-space-4) 0;font-family:var(--viking-font-family);font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted)}.viking-cta-row{display:flex;flex-direction:column;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:var(--viking-space-2);width:100%;max-width:100%;box-sizing:border-box}@media(min-width: 600px){.viking-cta-row{flex-direction:row;align-items:center;gap:var(--viking-space-3);width:auto;max-width:100%}}.viking-cta-row .viking-btn,.viking-cta-row a.viking-btn,.viking-cta-row a.cta-button{display:inline-flex;justify-content:center;box-sizing:border-box;width:100%;min-width:0;min-height:var(--viking-touch-target-min, var(--viking-control-height))}@media(min-width: 600px){.viking-cta-row .viking-btn,.viking-cta-row a.viking-btn,.viking-cta-row a.cta-button{width:auto;min-width:var(--viking-btn-min-width, var(--btn-min-width, 120px));min-height:var(--viking-control-height);flex:0 1 auto}}.viking-app-layout{position:relative;display:grid;grid-template-columns:minmax(0, 1fr);min-height:100%;width:100%}.viking-app-layout__main{display:grid;grid-template-rows:auto minmax(0, 1fr) auto;min-width:0;min-height:calc(100vh - var(--viking-navbar-height))}.viking-app-layout__sidebar,.viking-app-layout__tools{position:fixed;inset-block:var(--viking-navbar-height) 0;z-index:var(--viking-z-overlay);display:block;width:min(var(--viking-sidebar-width),100vw - var(--viking-space-8));overflow-y:auto;background:var(--viking-surface);box-shadow:var(--viking-shadow-lg);transition:transform var(--viking-duration) var(--viking-ease-emphasized)}.viking-app-layout__sidebar{inset-inline-start:0;border-right:1px solid var(--viking-border-container);transform:translateX(-100%)}.viking-app-layout__sidebar--open{transform:translateX(0)}.viking-app-layout__tools{inset-inline-end:0;width:min(var(--viking-trailing-width),100vw - var(--viking-space-8));border-left:1px solid var(--viking-border-container);transform:translateX(100%)}.viking-app-layout__tools--open{transform:translateX(0)}.viking-app-layout__header,.viking-app-layout__content,.viking-app-layout__footer{padding-inline:var(--viking-page-gutter)}.viking-app-layout__notifications:empty,.viking-app-layout__breadcrumbs:empty{display:none}.viking-app-layout__notifications,.viking-app-layout__breadcrumbs{min-width:0}.viking-app-layout__drawer{position:fixed;inset-block:var(--viking-navbar-height) 0;inset-inline-end:0;z-index:calc(var(--viking-z-overlay) + 1);display:flex;flex-direction:column;width:min(var(--viking-trailing-width),100vw - var(--viking-space-8));color:var(--viking-text);background:var(--viking-surface-container);border-left:1px solid var(--viking-border-container);box-shadow:var(--viking-shadow-lg)}.viking-app-layout__drawer-header,.viking-app-layout__split-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-control-gap);min-height:var(--viking-touch-target-min);padding:var(--viking-space-control-gap) var(--viking-space-content-gap);color:var(--viking-text-heading);font:var(--viking-type-label);border-bottom:1px solid var(--viking-border-divider)}.viking-app-layout__drawer-body,.viking-app-layout__split-panel-body{min-width:0;padding:var(--viking-space-content-gap);overflow:auto}.viking-app-layout__drawer-body{flex:1 1 auto}.viking-app-layout__split-panel{display:none;min-width:0;color:var(--viking-text);background:var(--viking-surface-container);border-top:1px solid var(--viking-border-container);box-shadow:var(--viking-shadow-lg)}.viking-app-layout__split-panel--open{display:flex;flex-direction:column}.viking-app-layout--split-panel-compact .viking-app-layout__split-panel{height:var(--viking-split-panel-height-compact)}.viking-app-layout--split-panel-default .viking-app-layout__split-panel{height:var(--viking-split-panel-height-default)}.viking-app-layout--split-panel-large .viking-app-layout__split-panel{height:var(--viking-split-panel-height-large)}.viking-app-layout__header{display:flex;align-items:center;gap:var(--viking-space-2);padding-block:var(--viking-space-3);border-bottom:1px solid var(--viking-border-divider)}.viking-app-layout__header-content{flex:1 1 auto;min-width:0}.viking-app-layout__toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-touch-target-min);height:var(--viking-touch-target-min);padding:0;color:var(--viking-text);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius);cursor:pointer;transition:var(--viking-transition-colors)}.viking-app-layout__toggle:hover{color:var(--viking-accent-strong);border-color:var(--viking-accent-strong)}.viking-app-layout__toggle:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-app-layout__content{display:grid;flex:1 1 auto;grid-template-columns:minmax(0, 1fr);gap:var(--viking-page-stack-gap);padding-block:var(--viking-space-2)}.viking-app-layout__footer{padding-block:var(--viking-space-3);border-top:1px solid var(--viking-border-divider)}.viking-app-layout--compact .viking-app-layout__content{--viking-page-stack-gap: var(--viking-space-3)}.viking-app-layout--loose .viking-app-layout__content{--viking-page-stack-gap: var(--viking-space-8)}.viking-app-layout__scrim{position:fixed;inset:0;z-index:calc(var(--viking-z-overlay) - 1);padding:0;background:var(--viking-overlay-backdrop);border:0}.viking-page-template{display:block;width:100%}.viking-page-template__inner{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-page-stack-gap);width:min(100%,var(--viking-container-max-width));margin-inline:auto;padding-inline:var(--viking-page-gutter);box-sizing:border-box}.viking-page-template__header{display:grid;grid-template-columns:minmax(0, 1fr);align-items:flex-start;gap:var(--viking-space-content-gap);padding-block-end:var(--viking-space-3);border-bottom:1px solid var(--viking-border-divider)}.viking-page-template__heading{flex:1 1 var(--viking-layout-item-default);min-width:0}.viking-page-template__actions{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:var(--viking-space-2);align-items:center;justify-content:flex-end}.viking-page-template__content{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-container-gap);min-width:0}.viking-page-template__footer{padding-block-start:var(--viking-space-3);border-top:1px solid var(--viking-border-divider)}.viking-page-template--narrow .viking-page-template__inner{width:min(100%,var(--viking-content-readable-max-width))}.viking-page-template--wide .viking-page-template__inner{width:min(100%,var(--viking-container-wide-max-width))}.viking-page-template--full .viking-page-template__inner{width:100%;max-width:none}.viking-page-template--compact .viking-page-template__inner{gap:var(--viking-space-4)}.viking-page-template--compact .viking-page-template__content{gap:var(--viking-space-4)}.viking-page-template--loose .viking-page-template__inner{gap:var(--viking-space-8)}.viking-page-template--loose .viking-page-template__content{gap:var(--viking-space-8)}.viking-content-layout{display:block;width:100%;min-width:0}.viking-content-layout__inner{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-section-gap);width:min(100%,var(--viking-container-max-width));margin-inline:auto;padding-inline:var(--viking-page-gutter);box-sizing:border-box}.viking-content-layout__breadcrumbs:empty,.viking-content-layout__notifications:empty,.viking-content-layout__actions:empty,.viking-content-layout__footer:empty{display:none}.viking-content-layout__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--viking-space-content-gap);padding-block-end:var(--viking-space-content-gap);border-bottom:1px solid var(--viking-border-divider)}.viking-content-layout__header:not(:has(.viking-content-layout__heading>*)){display:none}.viking-content-layout__heading{flex:1 1 var(--viking-layout-item-default);min-width:0}.viking-content-layout__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--viking-space-control-gap)}.viking-content-layout__body{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-section-gap);min-width:0}.viking-content-layout--readable .viking-content-layout__inner,.viking-content-layout--documentation .viking-content-layout__inner,.viking-content-layout--form .viking-content-layout__inner{width:min(100%,var(--viking-content-readable-max-width))}.viking-content-layout--wide .viking-content-layout__inner,.viking-content-layout--dashboard .viking-content-layout__inner{width:min(100%,var(--viking-container-wide-max-width))}.viking-content-layout--full .viking-content-layout__inner,.viking-content-layout--collection .viking-content-layout__inner{width:100%;max-width:none}.viking-content-layout--compact .viking-content-layout__inner,.viking-content-layout--compact .viking-content-layout__body{gap:var(--viking-space-container-gap)}.viking-content-layout--loose .viking-content-layout__inner,.viking-content-layout--loose .viking-content-layout__body{gap:var(--viking-space-page-gap)}.viking-content-layout--header-high-contrast .viking-content-layout__header{padding:var(--viking-space-container-gap);color:var(--viking-text-on-header);background:var(--viking-surface-header);border-color:var(--viking-border-accent);border-radius:var(--viking-card-radius)}.viking-box{min-width:0;box-sizing:border-box}.viking-box--surface,.viking-box--muted,.viking-box--inset{border:1px solid var(--viking-border-container);border-radius:var(--viking-radius-lg)}.viking-box--surface{background:var(--viking-surface-container)}.viking-box--muted{background:var(--viking-surface-muted)}.viking-box--inset{background:var(--viking-surface-control);border-color:var(--viking-border-divider);box-shadow:var(--viking-shadow-inner)}.viking-box--padding-compact{padding:var(--viking-space-control-gap)}.viking-box--padding-default{padding:var(--viking-space-content-gap)}.viking-box--padding-loose{padding:var(--viking-space-container-gap)}.viking-box--stack{display:flex;flex-direction:column;gap:var(--viking-space-content-gap)}.viking-box--cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-control-gap)}.viking-box--align-center{text-align:center}.viking-box--align-end{text-align:end}.viking-section-template{display:block;min-width:0;padding:var(--viking-panel-padding);background:var(--viking-surface-recipe);border:var(--viking-border-width) var(--viking-border-style) var(--viking-border-container);border-radius:var(--viking-card-radius);box-shadow:var(--viking-shadow-xs),var(--viking-surface-highlight)}.viking-section__header{display:grid;grid-template-columns:minmax(0, 1fr);align-items:flex-start;gap:var(--viking-space-content-gap);margin-block-end:var(--viking-space-content-gap)}@media(min-width: 768px){.viking-section__header{grid-template-columns:minmax(0, 1fr) auto}}.viking-section__header:has(.viking-section__icon){grid-template-columns:auto minmax(0, 1fr)}@media(min-width: 768px){.viking-section__header:has(.viking-section__icon){grid-template-columns:auto minmax(0, 1fr) auto}}.viking-section__heading-group{min-width:0}.viking-section__actions{margin-inline-start:0;justify-self:stretch}@media(min-width: 768px){.viking-section__actions{margin-inline-start:auto;justify-self:end}}.viking-section__icon{display:inline-flex;flex:0 0 auto;color:var(--viking-accent)}.viking-section__title{margin:0;color:var(--viking-text-heading);font:var(--viking-type-heading-sm);letter-spacing:var(--viking-letter-spacing-tight)}.viking-section--large .viking-section__title{font-size:var(--viking-font-size-lg);letter-spacing:normal;text-transform:none}.viking-section__description{max-width:var(--viking-content-readable-max-width);margin:var(--viking-space-1) 0 0;color:var(--viking-text-muted);font:var(--viking-type-body-sm)}.viking-section__divider{height:1px;margin-block-end:var(--viking-space-3);background:var(--viking-border-subtle)}.viking-section__body{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-container-gap)}.viking-section--stack .viking-section__body{display:flex;flex-direction:column}.viking-container{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-card-content-gap);min-width:0;width:100%;color:var(--viking-text);border:var(--viking-border-width) var(--viking-border-style) var(--viking-border-container);border-radius:var(--viking-card-radius);box-shadow:var(--viking-shadow-xs),var(--viking-surface-highlight)}.viking-container--width-readable{max-width:var(--viking-container-max-width-readable)}.viking-container--width-default{max-width:var(--viking-container-max-width)}.viking-container--width-wide{max-width:var(--viking-container-max-width-wide)}.viking-container--width-full{max-width:none}.viking-container--centered{margin-inline:auto}.viking-container--surface{background:var(--viking-surface-recipe)}.viking-container--inset{background:var(--viking-surface-recipe-inset);border-color:var(--viking-border-subtle);box-shadow:var(--viking-shadow-inner)}.viking-container--transparent{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0);box-shadow:none}.viking-container--padding-default{padding:var(--viking-panel-padding)}.viking-container--padding-compact{padding:var(--viking-card-padding-compact)}.viking-container--padding-none{padding:0}.viking-container__header{display:grid;grid-template-columns:minmax(0, 1fr);align-items:flex-start;gap:var(--viking-space-content-gap);padding-block-end:var(--viking-space-3);border-bottom:1px solid var(--viking-border-subtle)}@media(min-width: 768px){.viking-container__header{grid-template-columns:minmax(0, 1fr) auto}}.viking-container__header:has(.viking-container__icon){grid-template-columns:auto minmax(0, 1fr)}@media(min-width: 768px){.viking-container__header:has(.viking-container__icon){grid-template-columns:auto minmax(0, 1fr) auto}}.viking-container__icon{flex:0 0 auto;color:var(--viking-accent)}.viking-container__heading-group,.viking-container__body{min-width:0}.viking-container__title{margin:0;color:var(--viking-text);font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-semibold)}.viking-container__description{max-width:var(--viking-content-readable-max-width);margin:var(--viking-space-1) 0 0;color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.viking-container__actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);align-items:center;justify-content:flex-end;margin-inline-start:auto}.viking-container__body{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-3)}@media(min-width: 768px){.viking-app-layout__header,.viking-app-layout__content,.viking-app-layout__footer,.viking-page-template__inner{padding-inline:var(--viking-page-gutter-lg)}.viking-content-layout__inner{padding-inline:var(--viking-page-gutter-lg)}.viking-section--grid .viking-section__body{grid-template-columns:repeat(2, minmax(0, 1fr))}.viking-page-template__header{grid-template-columns:minmax(0, 1fr) auto}}@media(min-width: 1024px){.viking-app-layout--sidebar-open{grid-template-columns:auto minmax(0, 1fr)}.viking-app-layout--sidebar-toggle-only>.viking-app-layout__main>.viking-app-layout__header{display:none}.viking-app-layout__sidebar{position:sticky;inset:auto;top:0;grid-column:1;grid-row:1/-1;width:auto;height:100%;border-right:1px solid var(--viking-border);box-shadow:none}.viking-app-layout--sidebar-open>.viking-app-layout__main{grid-column:2}.viking-app-layout__scrim{display:none}.viking-app-layout--drawer-open .viking-app-layout__scrim{display:block}}@media(min-width: 1440px){.viking-app-layout--tools-open:not(.viking-app-layout--sidebar-open){grid-template-columns:minmax(0, 1fr) var(--viking-trailing-width)}.viking-app-layout--sidebar-open.viking-app-layout--tools-open{grid-template-columns:auto minmax(0, 1fr) var(--viking-trailing-width)}.viking-app-layout__tools{position:sticky;inset:auto;top:0;grid-column:-1;grid-row:1/-1;width:auto;height:100%;border-left:1px solid var(--viking-border);box-shadow:none}}a.auth-btn,button.auth-btn{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}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}a.auth-btn::before,button.auth-btn::before{display:none}a.auth-btn::after,button.auth-btn::after{display:none}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}a.auth-btn[aria-busy=true]::before,a.auth-btn[aria-busy=true] .viking-btn-label,button.auth-btn[aria-busy=true]::before,button.auth-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}a.auth-btn[aria-busy=true],button.auth-btn[aria-busy=true]{cursor:wait}a.auth-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.auth-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}a.auth-btn viking-icon,a.auth-btn .viking-icon,a.auth-btn [data-viking-icon],button.auth-btn viking-icon,button.auth-btn .viking-icon,button.auth-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}a.auth-btn .viking-btn-label,button.auth-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}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-btn-depth-shadow)}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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}a.auth-btn:active:not(:disabled):not([aria-busy=true]),button.auth-btn:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}a.auth-btn svg,a.auth-btn .material-icons,button.auth-btn svg,button.auth-btn .material-icons{flex-shrink:0;transition:transform var(--viking-duration-fast, 150ms) var(--viking-ease-default, ease)}a.auth-btn:hover svg,button.auth-btn:hover svg{transform:translateX(2px)}a.auth-btn,button.auth-btn{color:var(--viking-white-pure, var(--viking-white-pure)) !important}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}viking-button-wc.auth-btn::part(control),viking-button.auth-btn .viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 7%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-black) 18%, transparent);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 3px color-mix(in srgb, var(--viking-black) 34%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-white-pure) 3%, transparent), var(--viking-shadow-xs);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-2);min-height:var(--viking-control-height);padding:var(--viking-space-0-5) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow);text-transform:uppercase;background:linear-gradient(180deg, color-mix(in srgb, var(--viking-white-pure) 12%, transparent) 0%, transparent 42%),linear-gradient(135deg, color-mix(in srgb, var(--viking-electric-300) 18%, transparent) 0%, transparent 55%),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-btn-depth-shadow),inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 12%, transparent);color:var(--viking-white-pure, var(--viking-white-pure)) !important}viking-button-wc.auth-btn:hover::part(control),viking-button.auth-btn:hover .viking-btn:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--viking-white-pure) 16%, transparent) 0%, transparent 44%),linear-gradient(135deg, color-mix(in srgb, var(--viking-electric-200) 20%, transparent) 0%, transparent 58%),var(--viking-accent-hover);border-color:var(--viking-accent-hover);color:var(--viking-accent-content);box-shadow:var(--viking-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}viking-button-wc.auth-btn:active::part(control),viking-button.auth-btn:active .viking-btn:active{transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}viking-button-wc.auth-btn:disabled::part(control),viking-button-wc.auth-btn[aria-busy=true]::part(control),viking-button.auth-btn[aria-busy=true] .viking-btn,viking-button.auth-btn .viking-btn:disabled,viking-button.auth-btn .viking-btn[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}a.auth-btn.auth-btn-outline,button.auth-btn.auth-btn-outline{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}a.auth-btn.auth-btn-outline:focus-visible,button.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}a.auth-btn.auth-btn-outline::before,button.auth-btn.auth-btn-outline::before{display:none}a.auth-btn.auth-btn-outline::after,button.auth-btn.auth-btn-outline::after{display:none}a.auth-btn.auth-btn-outline:disabled,a.auth-btn.auth-btn-outline[aria-busy=true],button.auth-btn.auth-btn-outline:disabled,button.auth-btn.auth-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}a.auth-btn.auth-btn-outline[aria-busy=true]::before,a.auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label,button.auth-btn.auth-btn-outline[aria-busy=true]::before,button.auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}a.auth-btn.auth-btn-outline[aria-busy=true],button.auth-btn.auth-btn-outline[aria-busy=true]{cursor:wait}a.auth-btn.auth-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.auth-btn.auth-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}a.auth-btn.auth-btn-outline viking-icon,a.auth-btn.auth-btn-outline .viking-icon,a.auth-btn.auth-btn-outline [data-viking-icon],button.auth-btn.auth-btn-outline viking-icon,button.auth-btn.auth-btn-outline .viking-icon,button.auth-btn.auth-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}a.auth-btn.auth-btn-outline .viking-btn-label,button.auth-btn.auth-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}a.auth-btn.auth-btn-outline,button.auth-btn.auth-btn-outline{text-transform:uppercase;background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}a.auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]),button.auth-btn.auth-btn-outline:hover:not(:disabled):not([aria-busy=true]){background:color-mix(in srgb, var(--viking-accent) 5%, 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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}a.auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]),button.auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}a.auth-btn.auth-btn-outline:hover svg,button.auth-btn.auth-btn-outline:hover svg{transform:none}viking-button-wc.auth-btn.auth-btn-outline::part(control),viking-button.auth-btn.auth-btn-outline .viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 7%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-black) 18%, transparent);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 3px color-mix(in srgb, var(--viking-black) 34%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-white-pure) 3%, transparent), var(--viking-shadow-xs);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-2);min-height:var(--viking-control-height);padding:var(--viking-space-0-5) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow);text-transform:uppercase;background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}a.mobile-auth-btn,button.mobile-auth-btn{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}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}a.mobile-auth-btn::before,button.mobile-auth-btn::before{display:none}a.mobile-auth-btn::after,button.mobile-auth-btn::after{display:none}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}a.mobile-auth-btn[aria-busy=true]::before,a.mobile-auth-btn[aria-busy=true] .viking-btn-label,button.mobile-auth-btn[aria-busy=true]::before,button.mobile-auth-btn[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}a.mobile-auth-btn[aria-busy=true],button.mobile-auth-btn[aria-busy=true]{cursor:wait}a.mobile-auth-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),button.mobile-auth-btn[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}a.mobile-auth-btn viking-icon,a.mobile-auth-btn .viking-icon,a.mobile-auth-btn [data-viking-icon],button.mobile-auth-btn viking-icon,button.mobile-auth-btn .viking-icon,button.mobile-auth-btn [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}a.mobile-auth-btn .viking-btn-label,button.mobile-auth-btn .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}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-btn-depth-shadow)}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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}a.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]),button.mobile-auth-btn:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));box-shadow:var(--viking-btn-press-shadow)}a.mobile-auth-btn svg,a.mobile-auth-btn .material-icons,button.mobile-auth-btn svg,button.mobile-auth-btn .material-icons{flex-shrink:0;transition:transform var(--viking-duration-fast, 150ms) var(--viking-ease-default, ease)}a.mobile-auth-btn:hover svg,button.mobile-auth-btn:hover svg{transform:translateX(2px)}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}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}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}viking-button-wc.mobile-auth-btn::part(control),viking-button.mobile-auth-btn .viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 7%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-black) 18%, transparent);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 3px color-mix(in srgb, var(--viking-black) 34%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-white-pure) 3%, transparent), var(--viking-shadow-xs);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-2);min-height:var(--viking-control-height);padding:var(--viking-space-0-5) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow);text-transform:uppercase;background:linear-gradient(180deg, color-mix(in srgb, var(--viking-white-pure) 12%, transparent) 0%, transparent 42%),linear-gradient(135deg, color-mix(in srgb, var(--viking-electric-300) 18%, transparent) 0%, transparent 55%),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-btn-depth-shadow),inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 12%, transparent);width:100%;min-width:0;justify-content:center;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{--viking-btn-depth-shadow: none;--viking-btn-hover-shadow: var(--viking-shadow-xs);--viking-btn-press-shadow: var(--viking-shadow-inner);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-caps);line-height:var(--viking-line-height-snug);text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);border-radius:var(--viking-component-radius);border:var(--viking-border-width) var(--viking-border-style) rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 0);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow)}.mobile-auth-btn.auth-btn-outline:focus-visible,a.mobile-auth-btn.auth-btn-outline:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);z-index:1}.mobile-auth-btn.auth-btn-outline::before,a.mobile-auth-btn.auth-btn-outline::before{display:none}.mobile-auth-btn.auth-btn-outline::after,a.mobile-auth-btn.auth-btn-outline::after{display:none}.mobile-auth-btn.auth-btn-outline:disabled,.mobile-auth-btn.auth-btn-outline[aria-busy=true],a.mobile-auth-btn.auth-btn-outline:disabled,a.mobile-auth-btn.auth-btn-outline[aria-busy=true]{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed;transform:none !important;box-shadow:none !important}.mobile-auth-btn.auth-btn-outline[aria-busy=true]::before,.mobile-auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label,a.mobile-auth-btn.auth-btn-outline[aria-busy=true]::before,a.mobile-auth-btn.auth-btn-outline[aria-busy=true] .viking-btn-label{opacity:.78;transform:translateY(1px)}.mobile-auth-btn.auth-btn-outline[aria-busy=true],a.mobile-auth-btn.auth-btn-outline[aria-busy=true]{cursor:wait}.mobile-auth-btn.auth-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact),a.mobile-auth-btn.auth-btn-outline[aria-busy=true]:not(.viking-square):not(.viking-btn-square):not(.viking-compact){min-width:var(--viking-btn-loading-min-width, var(--viking-btn-min-width, 120px))}.mobile-auth-btn.auth-btn-outline viking-icon,.mobile-auth-btn.auth-btn-outline .viking-icon,.mobile-auth-btn.auth-btn-outline [data-viking-icon],a.mobile-auth-btn.auth-btn-outline viking-icon,a.mobile-auth-btn.auth-btn-outline .viking-icon,a.mobile-auth-btn.auth-btn-outline [data-viking-icon]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:1;pointer-events:none;flex:0 0 auto;margin-block:calc(var(--viking-space-0-5)*-1);align-self:center}.mobile-auth-btn.auth-btn-outline .viking-btn-label,a.mobile-auth-btn.auth-btn-outline .viking-btn-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2;min-height:var(--viking-icon-size-md);min-width:0;justify-content:center;text-align:center;white-space:nowrap}.mobile-auth-btn.auth-btn-outline,a.mobile-auth-btn.auth-btn-outline{text-transform:uppercase;background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.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:color-mix(in srgb, var(--viking-accent) 5%, 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-btn-hover-shadow);transform:translateY(var(--viking-state-hover-lift))}.mobile-auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]),a.mobile-auth-btn.auth-btn-outline:active:not(:disabled):not([aria-busy=true]){transform:translateY(0) scale(var(--viking-state-active-scale));border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-press-shadow)}.mobile-auth-btn.auth-btn-outline:hover svg,a.mobile-auth-btn.auth-btn-outline:hover svg{transform:none}viking-button-wc.mobile-auth-btn.auth-btn-outline::part(control),viking-button.mobile-auth-btn.auth-btn-outline .viking-btn{--viking-btn-depth-shadow: var(--viking-shadow-sm), inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 7%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-black) 18%, transparent);--viking-btn-hover-shadow: var(--viking-shadow-hover);--viking-btn-press-shadow: inset 0 1px 3px color-mix(in srgb, var(--viking-black) 34%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--viking-white-pure) 3%, transparent), var(--viking-shadow-xs);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-2);min-height:var(--viking-control-height);padding:var(--viking-space-0-5) var(--viking-control-padding-x);border-radius:var(--viking-radius-md);border:1px solid rgba(0,0,0,0);cursor:pointer;text-decoration:none;transition:var(--viking-transition-interactive);width:auto;min-width:var(--viking-btn-min-width, 120px);white-space:nowrap;position:relative;background-clip:padding-box;isolation:isolate;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;box-shadow:var(--viking-btn-depth-shadow);text-transform:uppercase;background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);border-color:var(--viking-border-strong);box-shadow:var(--viking-btn-depth-shadow)}.navbar{position:sticky;top:0;z-index:50;width:100%;min-height:var(--viking-navbar-height, 64px);background-color:color-mix(in srgb, var(--navbar-bg, var(--viking-surface)) 88%, transparent);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border-bottom:1px solid var(--border-layout, var(--viking-border));display:flex;flex-direction:column;align-items:stretch;padding:0 var(--viking-space-2, var(--viking-space-2));box-sizing:border-box;overflow:visible;container-type:inline-size;container-name:viking-navbar}@media(min-width: 768px){.navbar{padding-inline:var(--viking-space-4, var(--viking-space-4))}}@media(min-width: 1440px){.navbar{padding-inline:var(--viking-space-5, var(--viking-space-5))}}.navbar{box-shadow:var(--viking-shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.2)),inset 0 1px 0 color-mix(in srgb, var(--viking-accent) 12%, transparent);isolation:isolate}.navbar-brand{margin-right:var(--viking-space-1, var(--viking-space-1));display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));text-decoration:none;overflow:visible;flex-shrink:0;padding:0;min-width:var(--viking-touch-target-min, 44px);min-height:var(--viking-touch-target-min, 44px);line-height:1;transition:filter .3s ease}@media(min-width: 768px){.navbar-brand{min-width:36px;min-height:36px}}.navbar-title{font-size:var(--viking-font-size-base);font-weight:700;line-height:1.2;color:var(--viking-text);letter-spacing:-0.02em}.navbar-logo{font-size:var(--viking-font-size-2xl);width:36px;height:36px;line-height:1;color:var(--viking-accent);overflow:visible;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.navbar-brand [data-viking-icon],.navbar-brand [data-viking-icon] svg,.navbar-brand .brand-icon,.navbar-brand .brand-icon svg{display:inline-flex !important;align-items:center;justify-content:center;width:36px !important;height:36px !important;min-width:36px !important;color:var(--viking-accent) !important;overflow:visible}.navbar-brand .navbar-logo,.navbar-brand viking-icon.navbar-logo{color:var(--viking-accent) !important}.navbar-brand viking-icon.navbar-logo .viking-icon-svg,.navbar-brand .brand-icon svg,.navbar-brand [data-viking-icon] svg{stroke-width:var(--viking-icon-stroke-width-brand, 1.8)}.navbar-brand .navbar-logo.mat-icon,.navbar-brand mat-icon.navbar-logo{overflow:visible !important;width:36px !important;height:36px !important;font-size:var(--viking-font-size-2xl) !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-3, var(--viking-space-3));width:100%;max-width:none;margin-inline:0;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-3, var(--viking-space-3));min-width:0;flex-shrink:0}viking-button.auth-btn,viking-button.auth-signout-btn,viking-button.mobile-auth-btn,viking-button.menu-toggle-btn,viking-button.navbar-search-trigger,viking-button-wc.auth-btn,viking-button-wc.auth-signout-btn,viking-button-wc.mobile-auth-btn,viking-button-wc.menu-toggle-btn,viking-button-wc.navbar-search-trigger,viking-theme-toggle-wc.auth-btn,viking-theme-toggle-wc.auth-signout-btn,viking-theme-toggle-wc.mobile-auth-btn,viking-theme-toggle-wc.menu-toggle-btn,viking-theme-toggle-wc.navbar-search-trigger,.viking-theme-toggle-host.auth-btn,.viking-theme-toggle-host.auth-signout-btn,.viking-theme-toggle-host.mobile-auth-btn,.viking-theme-toggle-host.menu-toggle-btn,.viking-theme-toggle-host.navbar-search-trigger{background:rgba(0,0,0,0);border:none;box-shadow:none;padding:0;margin:0;min-height:0;cursor:default}viking-button.auth-btn::before,viking-button.auth-btn::after,viking-button.auth-signout-btn::before,viking-button.auth-signout-btn::after,viking-button.mobile-auth-btn::before,viking-button.mobile-auth-btn::after,viking-button.menu-toggle-btn::before,viking-button.menu-toggle-btn::after,viking-button.navbar-search-trigger::before,viking-button.navbar-search-trigger::after,viking-button-wc.auth-btn::before,viking-button-wc.auth-btn::after,viking-button-wc.auth-signout-btn::before,viking-button-wc.auth-signout-btn::after,viking-button-wc.mobile-auth-btn::before,viking-button-wc.mobile-auth-btn::after,viking-button-wc.menu-toggle-btn::before,viking-button-wc.menu-toggle-btn::after,viking-button-wc.navbar-search-trigger::before,viking-button-wc.navbar-search-trigger::after,viking-theme-toggle-wc.auth-btn::before,viking-theme-toggle-wc.auth-btn::after,viking-theme-toggle-wc.auth-signout-btn::before,viking-theme-toggle-wc.auth-signout-btn::after,viking-theme-toggle-wc.mobile-auth-btn::before,viking-theme-toggle-wc.mobile-auth-btn::after,viking-theme-toggle-wc.menu-toggle-btn::before,viking-theme-toggle-wc.menu-toggle-btn::after,viking-theme-toggle-wc.navbar-search-trigger::before,viking-theme-toggle-wc.navbar-search-trigger::after,.viking-theme-toggle-host.auth-btn::before,.viking-theme-toggle-host.auth-btn::after,.viking-theme-toggle-host.auth-signout-btn::before,.viking-theme-toggle-host.auth-signout-btn::after,.viking-theme-toggle-host.mobile-auth-btn::before,.viking-theme-toggle-host.mobile-auth-btn::after,.viking-theme-toggle-host.menu-toggle-btn::before,.viking-theme-toggle-host.menu-toggle-btn::after,.viking-theme-toggle-host.navbar-search-trigger::before,.viking-theme-toggle-host.navbar-search-trigger::after{display:none}.navbar-search,.navbar-search viking-button-wc,.navbar-right viking-theme-toggle-wc,.navbar-right .menu-toggle-btn,.navbar-right viking-button.menu-toggle-btn,.navbar-right viking-button-wc.menu-toggle-btn{flex:0 0 auto}.navbar-center{grid-column:2;display:flex;justify-content:center;align-items:center;min-width:0}.desktop-nav{display:none;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:var(--viking-space-3, var(--viking-space-3));padding:var(--viking-space-1, var(--viking-space-1)) 0;min-width:0;max-width:100%;overflow:visible}.desktop-auth{display:none;align-items:center;flex-shrink:0;gap:var(--viking-space-2, var(--viking-space-2));min-height:var(--viking-control-height, 40px)}.desktop-auth viking-button,.desktop-auth viking-button-wc{min-width:var(--viking-btn-min-width, 120px) !important;flex-shrink:0}.nav-btn{position:relative;font-size:var(--viking-font-size-sm, 14px) !important;color:var(--nav-link-color, var(--viking-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(--viking-radius, 8px) !important;padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-3, var(--viking-space-3)) !important;height:auto !important;min-height:var(--viking-control-height, 40px) !important;line-height:1 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:var(--viking-space-2) !important;text-decoration:none;background:rgba(0,0,0,0);border:none;cursor:pointer;overflow:visible;flex-shrink:0;min-width:max-content;white-space:nowrap;border-bottom:1px solid rgba(0,0,0,0);box-shadow:none;margin-inline:var(--viking-space-0-5)}.nav-btn>span,.nav-btn .nav-btn-label{display:inline-flex;align-items:center;white-space:nowrap;overflow:visible;text-overflow:clip}.nav-btn viking-icon,.nav-btn viking-app-icon,.nav-btn [data-viking-icon],.nav-btn svg{flex-shrink:0;width:1.125rem;height:1.125rem}.navbar-search::part(control),.menu-toggle-btn::part(control),.theme-toggle-btn::part(control),.navbar-search-trigger::part(control),.navbar-search-mobile-btn::part(control),.auth-btn::part(control),.mobile-auth-btn::part(control),.auth-signout-btn::part(control),.navbar .theme-toggle-btn::part(control),.navbar .menu-toggle-btn::part(control),.navbar .navbar-search-trigger::part(control),.navbar .navbar-search-mobile-btn::part(control),viking-button-wc.menu-toggle-btn::part(control),viking-button-wc.theme-toggle-btn::part(control),viking-button-wc.navbar-search-trigger::part(control),viking-button-wc.mobile-auth-btn::part(control),viking-button-wc.auth-btn::part(control),viking-button-wc.auth-signout-btn::part(control){border-color:inherit}.nav-btn:focus-visible,.mobile-nav-btn:focus-visible,.auth-btn:focus-visible,.auth-signout-btn:focus-visible,.menu-toggle-btn:focus-visible,.theme-toggle-btn:focus-visible,.navbar-search-trigger:focus-visible,.navbar-search-mobile-btn:focus-visible,.mobile-auth-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.viking-button-wc.nav-btn:focus-visible::part(control),.viking-button-wc.auth-btn:focus-visible::part(control),.viking-button-wc.auth-signout-btn:focus-visible::part(control),.viking-button-wc.menu-toggle-btn:focus-visible::part(control),.viking-button-wc.theme-toggle-btn:focus-visible::part(control),.viking-button-wc.navbar-search-trigger:focus-visible::part(control),.viking-button-wc.navbar-search-mobile-btn:focus-visible::part(control){outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.nav-btn[hidden],.mobile-nav-btn[hidden],.auth-btn[hidden],.auth-signout-btn[hidden],.mobile-auth-btn[hidden],viking-button-wc[hidden],viking-button[hidden]{display:none !important}.nav-btn .material-icons,.nav-btn svg,.nav-btn .viking-icon,.nav-btn [data-viking-icon],.mobile-nav-btn svg,.mobile-nav-btn [data-viking-icon],.auth-btn svg,.auth-btn [data-viking-icon],.theme-toggle-btn svg,.menu-toggle-btn svg,.navbar-search-trigger [data-viking-icon],.navbar-search-mobile-btn [data-viking-icon]{margin:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.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(--viking-font-size-base);width:16px;height:16px}.nav-btn:hover{color:var(--viking-text) !important;background-color:color-mix(in srgb, var(--viking-accent) 10%, transparent) !important}html[data-theme=light]{--nav-link-color: color-mix( in srgb, var(--viking-charcoal-900) 88%, var(--viking-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(--viking-text)) !important}html[data-theme=light] viking-button-wc.auth-btn::part(control),html[data-theme=light] .auth-btn::part(control),html[data-theme=light] .mobile-auth-btn::part(control){border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-accent)) 72%, var(--viking-border-strong, var(--viking-border))) !important;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 34%, transparent),var(--viking-shadow-sm, var(--viking-shadow-sm)) !important}html[data-theme=light] .nav-btn:hover,html[data-theme=light] .mobile-nav-btn:hover{background-color:color-mix(in srgb, var(--viking-accent) 10%, transparent) !important}.nav-btn.active{color:var(--viking-text) !important;background-color:color-mix(in srgb, var(--viking-accent) 14%, transparent) !important;box-shadow:inset 0 -2px 0 0 var(--viking-accent),0 0 12px color-mix(in srgb, var(--viking-accent) 18%, transparent) !important}viking-button.menu-toggle-btn,viking-button.navbar-search-trigger,#navbar-search-trigger:is(viking-button),.viking-theme-toggle-host{display:contents !important;padding:0 !important;border:none !important;background:rgba(0,0,0,0) !important;box-shadow:none !important;min-width:0 !important;min-height:0 !important}viking-button-wc.menu-toggle-btn,viking-button-wc.navbar-search-trigger,viking-theme-toggle-wc{display:inline-flex !important;align-items:center;justify-content:center;padding:0 !important;border:none !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.navbar-search viking-button-wc::part(control),viking-button-wc.menu-toggle-btn::part(control),viking-button-wc.navbar-search-trigger::part(control),viking-button.menu-toggle-btn .viking-btn,viking-button.navbar-search-trigger .viking-btn,.navbar-search viking-button .viking-btn,.navbar-right viking-button.menu-toggle-btn .viking-btn,.navbar .theme-toggle-btn,.navbar-right .theme-toggle-btn,.viking-theme-toggle-host .theme-toggle-btn,.navbar-right viking-theme-toggle-wc::part(control){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(--viking-border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--viking-surface));color:var(--viking-text, var(--viking-text));box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.navbar-search viking-button-wc::part(control):hover,viking-button-wc.menu-toggle-btn::part(control):hover,viking-button-wc.navbar-search-trigger::part(control):hover,viking-button.menu-toggle-btn .viking-btn:hover,viking-button.navbar-search-trigger .viking-btn:hover,.navbar-search viking-button .viking-btn:hover,.navbar-right viking-button.menu-toggle-btn .viking-btn:hover,.navbar .theme-toggle-btn:hover,.navbar-right .theme-toggle-btn:hover,.viking-theme-toggle-host .theme-toggle-btn:hover,.navbar-right viking-theme-toggle-wc::part(control):hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--viking-text));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.navbar-search viking-button-wc::part(control):focus-visible,viking-button-wc.menu-toggle-btn::part(control):focus-visible,viking-button-wc.navbar-search-trigger::part(control):focus-visible,viking-button.menu-toggle-btn .viking-btn:focus-visible,viking-button.navbar-search-trigger .viking-btn:focus-visible,.navbar-search viking-button .viking-btn:focus-visible,.navbar-right viking-button.menu-toggle-btn .viking-btn:focus-visible,.navbar .theme-toggle-btn:focus-visible,.navbar-right .theme-toggle-btn:focus-visible,.viking-theme-toggle-host .theme-toggle-btn:focus-visible,.navbar-right viking-theme-toggle-wc::part(control):focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.navbar-search viking-button-wc::part(control),viking-button-wc.menu-toggle-btn::part(control),viking-button-wc.navbar-search-trigger::part(control),viking-button.menu-toggle-btn .viking-btn,viking-button.navbar-search-trigger .viking-btn,.navbar-search viking-button .viking-btn,.navbar-right viking-button.menu-toggle-btn .viking-btn,.navbar .theme-toggle-btn,.navbar-right .theme-toggle-btn,.viking-theme-toggle-host .theme-toggle-btn,.navbar-right viking-theme-toggle-wc::part(control){display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:0 !important;width:var(--viking-control-height, 40px) !important;min-width:var(--viking-control-height, 40px) !important;max-width:var(--viking-control-height, 40px) !important;height:var(--viking-control-height, 40px) !important;min-height:var(--viking-control-height, 40px) !important;max-height:var(--viking-control-height, 40px) !important;padding:0 !important;margin:0 !important;line-height:0 !important;box-sizing:border-box !important;overflow:hidden}.navbar-search viking-button .viking-btn .viking-btn-label,viking-button.navbar-search-trigger .viking-btn .viking-btn-label,viking-button.menu-toggle-btn .viking-btn .viking-btn-label{display:none !important;width:0 !important;height:0 !important;margin:0 !important;padding:0 !important}.navbar-search viking-button .viking-btn viking-icon,.navbar-search viking-button .viking-btn svg,viking-button.navbar-search-trigger .viking-btn viking-icon,viking-button.navbar-search-trigger .viking-btn svg,viking-button.menu-toggle-btn .viking-btn viking-icon,viking-button.menu-toggle-btn .viking-btn svg,.navbar .theme-toggle-btn viking-icon,.navbar .theme-toggle-btn svg,.viking-theme-toggle-host .theme-toggle-btn viking-icon,.viking-theme-toggle-host .theme-toggle-btn svg{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:20px !important;height:20px !important;min-width:20px !important;min-height:20px !important;margin:0 !important;line-height:0 !important;flex-shrink:0}.navbar .theme-toggle-btn .material-icons,.theme-toggle-btn .material-icons{width:20px;height:20px;font-size:var(--viking-font-size-lead);line-height:1}.navbar .theme-toggle-btn,.navbar-right .theme-toggle-btn,.viking-theme-toggle-host .theme-toggle-btn,.navbar-right viking-theme-toggle-wc::part(control){border:1px solid color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 32%, var(--viking-border-strong, var(--viking-border))) !important;background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 8%, var(--viking-surface, var(--viking-surface))) !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm)) !important}.navbar .theme-toggle-btn:hover,.navbar-right .theme-toggle-btn:hover,.viking-theme-toggle-host .theme-toggle-btn:hover,.navbar-right viking-theme-toggle-wc::part(control):hover{border-color:var(--viking-accent-strong, var(--viking-ring)) !important;background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 14%, var(--viking-surface-alt, var(--viking-surface))) !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;box-shadow:var(--viking-shadow-md, var(--viking-shadow-md)) !important}.navbar-search viking-button-wc [data-viking-icon],viking-button-wc.menu-toggle-btn [data-viking-icon]{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-icon-size-md, 20px);height:var(--viking-icon-size-md, 20px);line-height:1}.menu-toggle-btn[aria-expanded=true]::part(control),viking-button-wc.menu-toggle-btn[aria-expanded=true]::part(control),viking-button.menu-toggle-btn[aria-expanded=true] .viking-btn{border-color:var(--viking-accent, var(--viking-accent)) !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm)) !important}.divider{height:24px;width:0px;background-color:var(--viking-border);margin:0 var(--viking-space-1)}.auth-btn .material-icons{margin:0;font-size:var(--viking-font-size-sm, 14px);width:16px;height:16px}a.auth-btn,button.auth-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:var(--viking-space-1, var(--viking-space-1)) !important;min-width:var(--viking-btn-min-width, 120px) !important;height:var(--viking-control-height, 40px) !important;min-height:var(--viking-control-height, 40px) !important;padding:0 var(--viking-space-2, var(--viking-space-2)) !important;border-radius:var(--viking-radius, 8px) !important;letter-spacing:var(--viking-letter-spacing-caps, 0.08em) !important;text-transform:uppercase !important;white-space:nowrap !important;line-height:1 !important}viking-button.auth-btn,viking-button.auth-signout-btn,viking-button.mobile-auth-btn{display:contents !important;background:rgba(0,0,0,0) !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;min-width:0 !important;min-height:0 !important;height:auto !important}viking-button-wc.auth-btn,viking-button-wc.auth-signout-btn,viking-button-wc.mobile-auth-btn{display:inline-flex !important;min-width:var(--viking-btn-min-width, 120px) !important;height:auto !important;min-height:0 !important;padding:0 !important;border:0 !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.auth-btn::part(label),.auth-signout-btn::part(label),.mobile-auth-btn::part(label){display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));min-width:0;line-height:1}.auth-btn::part(control),viking-button-wc.auth-btn::part(control),viking-button.auth-btn .viking-btn,.auth-btn.viking-full::part(control),viking-button.auth-btn.viking-full .viking-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:var(--viking-space-1, var(--viking-space-1)) !important;min-width:var(--viking-btn-min-width, 120px) !important;min-height:var(--viking-control-height, 40px) !important;height:var(--viking-control-height, 40px) !important;padding:0 var(--viking-space-2, var(--viking-space-2)) !important;box-sizing:border-box !important;border:1px solid color-mix(in srgb, var(--viking-accent-strong, var(--viking-accent)) 72%, var(--viking-white-pure)) !important;border-radius:var(--viking-radius-md, var(--viking-radius, 8px)) !important;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 24%, transparent),var(--viking-shadow-sm, var(--viking-shadow-sm)) !important}.auth-btn[aria-busy=true]::part(label),.auth-btn[loading]::part(label),.mobile-auth-btn[aria-busy=true]::part(label),.mobile-auth-btn[loading]::part(label),.auth-signout-btn[aria-busy=true]::part(label),.auth-signout-btn[loading]::part(label){min-width:max-content}.auth-btn[aria-busy=true]::part(control),.auth-btn[loading]::part(control),.auth-signout-btn[aria-busy=true]::part(control),.auth-signout-btn[loading]::part(control),viking-button-wc.auth-btn[aria-busy=true]::part(control),viking-button-wc.auth-btn[loading]::part(control),viking-button.auth-btn[aria-busy=true] .viking-btn,viking-button.auth-btn .viking-btn[aria-busy=true],viking-button.auth-btn .viking-btn:disabled{min-width:var(--viking-btn-min-width, 120px) !important}.auth-signout-btn{background:rgba(0,0,0,0) !important;color:var(--viking-text-muted) !important;font-weight:600 !important;border-radius:var(--viking-radius, 8px) !important;padding:0 var(--viking-space-2, var(--viking-space-2)) !important;border:1px solid var(--viking-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, var(--viking-space-1)) !important;white-space:nowrap !important;text-transform:uppercase !important;letter-spacing:.08em !important;cursor:pointer;transition:var(--viking-transition-interactive) !important}.auth-signout-btn[hidden]{display:none !important}.auth-btn [data-viking-icon],.auth-btn [data-viking-icon] svg,.auth-btn svg,.auth-btn viking-icon,.auth-signout-btn [data-viking-icon],.auth-signout-btn [data-viking-icon] svg,.auth-signout-btn svg,#auth-icon-desktop,#auth-icon-mobile{margin:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;width:16px !important;height:16px !important;min-width:16px !important;line-height:1 !important;flex:0 0 auto !important}#auth-icon-desktop,#auth-icon-mobile{display:inline-flex !important}#auth-text-desktop,#auth-text-mobile{display:inline-flex;align-items:center;min-width:0;line-height:1}.auth-signout-btn:hover{color:var(--viking-text) !important;border-color:var(--viking-crimson-500) !important;background:color-mix(in srgb, var(--viking-crimson-500) 10%, transparent) !important}.navbar viking-button.auth-btn,.navbar viking-button.auth-signout-btn,.navbar viking-button.mobile-auth-btn,.navbar viking-button.navbar-search-trigger,.navbar viking-button.menu-toggle-btn,.navbar viking-button-wc.auth-btn,.navbar viking-button-wc.auth-signout-btn,.navbar viking-button-wc.mobile-auth-btn,.navbar viking-button-wc.navbar-search-trigger,.navbar viking-button-wc.menu-toggle-btn{background:rgba(0,0,0,0) !important;border:0 !important;box-shadow:none !important;outline:0;padding:0 !important;margin:0 !important;color:inherit !important}.navbar viking-button .viking-btn:focus-visible,.navbar viking-button-wc .viking-btn:focus-visible,.navbar .auth-btn:focus-visible,.navbar .auth-signout-btn:focus-visible,.navbar .mobile-auth-btn:focus-visible,.navbar .navbar-search-trigger:focus-visible,.navbar .menu-toggle-btn:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.navbar viking-button.auth-btn,.navbar viking-button.auth-signout-btn,.navbar viking-button.navbar-search-trigger,.navbar viking-button.menu-toggle-btn{display:contents !important;min-width:0 !important;min-height:0 !important;width:auto !important;height:auto !important}.navbar viking-button.mobile-auth-btn{display:block !important;width:100% !important}.mobile-menu:not(.open){display:none !important}.mobile-menu{display:none;flex-direction:column;position:absolute;visibility:hidden;pointer-events:none;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(--viking-surface));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md));border-bottom:1px solid var(--viking-border, var(--viking-border));padding:var(--viking-space-3, var(--viking-space-3));padding-bottom:calc(var(--viking-space-3, var(--viking-space-3)) + env(safe-area-inset-bottom, var(--viking-space-0)));box-sizing:border-box;z-index:49;gap:var(--viking-space-0-5)}.mobile-menu viking-button,.mobile-menu viking-button-wc,.mobile-menu .mobile-auth-btn{width:100%}.mobile-menu .mobile-auth-btn,.mobile-menu .auth-signout-btn,.mobile-menu .mobile-auth-btn::part(control),.mobile-menu .mobile-auth-btn.auth-btn::part(control),.mobile-menu .mobile-auth-btn.auth-signout-btn::part(control){flex-shrink:0;width:100%}.mobile-menu{transform:translateY(-10px);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(0.16, 1, 0.3, 1),opacity .25s ease}.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto;display:flex;visibility:visible}.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(--viking-text-muted)) !important;min-height:44px !important;border-radius:var(--viking-radius, 8px) !important;padding:0 var(--viking-space-2, var(--viking-space-2)) !important;display:inline-flex !important;align-items:center !important;gap:var(--viking-space-1, var(--viking-space-1)) !important;text-decoration:none;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);transition:var(--viking-transition-interactive, all 0.25s ease)}.mobile-nav-btn .material-icons{margin:0;font-size:var(--viking-font-size-lead);width:20px;height:20px}.mobile-nav-btn:hover{color:var(--viking-text, var(--viking-text)) !important;background-color:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 8%, transparent)) !important}.mobile-nav-btn.active{color:var(--viking-text, var(--viking-text)) !important;background-color:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;box-shadow:inset 0 0 0 1px var(--viking-accent-strong, var(--viking-ring)) !important}.mobile-divider{height:1px;background-color:var(--viking-border, var(--viking-border));margin:var(--viking-space-2, var(--viking-space-2)) 0 var(--viking-space-1, var(--viking-space-1));flex-shrink:0}.mobile-menu .mobile-auth-btn{margin-top:var(--viking-space-0-5)}.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:var(--viking-font-size-base);color:var(--viking-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;transition:var(--viking-transition)}.navbar-link:hover{color:var(--viking-text)}.glowing-icon-sm{color:var(--color-primary, var(--primary-text-color, var(--viking-accent))) !important;transition:all .3s ease}.navbar-brand.glowing-icon-sm,.navbar-brand:has(.glowing-icon-sm){filter:drop-shadow(0 0 6px color-mix(in srgb, var(--viking-electric-500) 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(--viking-electric-500) 90%, transparent))}.loader-logo.glowing-icon-sm,:not(.navbar-brand)>.glowing-icon-sm{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--viking-electric-500) 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(--viking-electric-500) 90%, transparent))}.navbar-search{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto;justify-content:center;max-width:none;min-width:0;min-height:var(--viking-control-height, 40px);margin:0;line-height:0}.navbar-search viking-button,.navbar-search viking-button-wc{flex-shrink:0}.navbar [hidden],.mobile-menu [hidden]{display:none !important}.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-0-5);--aa-panel-max-height: 288px;--aa-panel-shadow: var(--viking-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.25));--aa-icon-size: 20px;--aa-icon-stroke-width: 2px;--aa-primary-color-rgb: 20, 163, 168;--aa-muted-color-rgb: 148, 163, 184}.algolia-autocomplete-host.algolia-autocomplete-open{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:fixed;inset:0;z-index:var(--viking-z-overlay, 10001);padding:10vh var(--viking-space-2, var(--viking-space-2)) var(--viking-space-2, var(--viking-space-2));background:var(--viking-overlay-backdrop, rgba(0, 0, 0, 0.55));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;box-shadow:none;max-width:none;width:auto;min-width:0}.algolia-autocomplete-host.algolia-autocomplete-open>div:not([class]){max-width:600px;width:100%}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Autocomplete,.algolia-autocomplete-host.algolia-autocomplete-open .ais-Autocomplete,.algolia-autocomplete-host.algolia-autocomplete-open .aa-DetachedContainer{display:flex;flex-direction:column;max-width:600px;width:100%;border:1px solid var(--viking-border-strong, var(--viking-border, var(--viking-border)));border-radius:var(--viking-radius-lg, 12px);background:var(--viking-surface, var(--viking-surface));box-shadow:var(--viking-shadow-lg, var(--viking-shadow-md));overflow:hidden;font-family:var(--viking-font-family, inherit);color:var(--viking-text, var(--viking-text));position:relative}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Autocomplete::before,.algolia-autocomplete-host.algolia-autocomplete-open .ais-Autocomplete::before,.algolia-autocomplete-host.algolia-autocomplete-open .aa-DetachedContainer::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) 22%, transparent), transparent);pointer-events:none;z-index:1}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form,.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompleteForm,.algolia-autocomplete-host.algolia-autocomplete-open form{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, var(--viking-space-2));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form:hover,.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompleteForm:hover,.algolia-autocomplete-host.algolia-autocomplete-open form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--viking-border)));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Form,.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompleteForm,.algolia-autocomplete-host.algolia-autocomplete-open form{width:100%;margin:0 !important;border:0 !important;border-bottom:1px solid var(--viking-border, var(--viking-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 .ais-AutocompleteForm:focus-within,.algolia-autocomplete-host.algolia-autocomplete-open form:focus-within{border-bottom-color:var(--viking-accent, var(--viking-accent)) !important;box-shadow:inset 0 -2px 0 var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent)) !important;outline:none}.algolia-autocomplete-host.algolia-autocomplete-open .aa-Panel,.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompletePanel{position:static;margin:0;border:0;border-radius:0;box-shadow:none;background:rgba(0,0,0,0);max-height:50vh;padding:var(--viking-space-2, var(--viking-space-2));overflow:auto}.algolia-autocomplete-host.algolia-autocomplete-open .ais-AutocompletePanel{opacity:1 !important;pointer-events:auto !important;transform:none !important;visibility:visible !important}.algolia-autocomplete-host.algolia-autocomplete-open::after{content:"⌘K toggle · Esc close";display:block;max-width:600px;width:100%;margin:0 auto;padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-2, var(--viking-space-2));border:1px solid var(--viking-border, var(--viking-border));border-top:0;border-radius:0 0 var(--viking-radius-lg, 12px) var(--viking-radius-lg, 12px);background:var(--viking-surface, var(--viking-surface));font-size:calc(var(--viking-font-size, 16px)*.85);color:var(--viking-text-muted, var(--viking-text-muted));text-align:center;letter-spacing:.01em}.navbar-search-trigger,.navbar-search-mobile-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);padding:0;margin:0;border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface, var(--viking-surface));color:var(--viking-text, var(--viking-text));box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));cursor:pointer;transition:var(--viking-transition-interactive, all 0.25s ease)}.navbar-search-trigger:hover,.navbar-search-mobile-btn:hover{border-color:var(--viking-accent-strong, var(--viking-ring));background:var(--viking-surface-alt, var(--viking-charcoal-700));color:var(--viking-text, var(--viking-text));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.navbar-search-trigger:focus-visible,.navbar-search-mobile-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.navbar-search-trigger,.navbar-search-mobile-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);padding:0;flex-shrink:0;align-self:center}.algolia-autocomplete-host .aa-Autocomplete,.algolia-autocomplete-host .ais-Autocomplete,.algolia-autocomplete-host .aa-DetachedContainer{width:100%}.algolia-autocomplete-host .aa-Form,.algolia-autocomplete-host .ais-AutocompleteForm,.algolia-autocomplete-host form{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, var(--viking-space-2));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.algolia-autocomplete-host .aa-Form:hover,.algolia-autocomplete-host .ais-AutocompleteForm:hover,.algolia-autocomplete-host form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--viking-border)));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.algolia-autocomplete-host .aa-Form,.algolia-autocomplete-host .ais-AutocompleteForm,.algolia-autocomplete-host form{margin:0 !important}.algolia-autocomplete-host .aa-Form:focus-within,.algolia-autocomplete-host .ais-AutocompleteForm:focus-within,.algolia-autocomplete-host form:focus-within{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-ring));outline-offset:var(--viking-ring-offset, 2px)}.algolia-autocomplete-host .aa-InputWrapper,.algolia-autocomplete-host .ais-AutocompleteInputWrapper{display:flex;align-items:center;flex:1;min-width:0;gap:var(--viking-space-1, var(--viking-space-1));border:0 !important;box-shadow:none !important;background:rgba(0,0,0,0) !important;padding:0 !important}.algolia-autocomplete-host .aa-InputWrapperPrefix,.algolia-autocomplete-host .aa-InputWrapperSuffix,.algolia-autocomplete-host .ais-AutocompleteInputWrapperPrefix,.algolia-autocomplete-host .ais-AutocompleteInputWrapperSuffix{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;color:var(--viking-accent-strong, var(--viking-ring));border:0 !important;box-shadow:none !important;background:rgba(0,0,0,0) !important;padding:0 !important;line-height:1}.algolia-autocomplete-host .aa-SubmitButton,.algolia-autocomplete-host .aa-DetachedSearchButton,.algolia-autocomplete-host .aa-Label,.algolia-autocomplete-host .aa-PoweredBy{display:none !important}.algolia-autocomplete-host .ais-AutocompleteLabel,.algolia-autocomplete-host .ais-AutocompleteSubmitButton,.algolia-autocomplete-host .ais-AutocompleteClearButton{display:inline-flex;align-items:center;justify-content:center}.algolia-autocomplete-host .ais-AutocompleteSubmitButton,.algolia-autocomplete-host .ais-AutocompleteClearButton{width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);padding:0;border:0;background:rgba(0,0,0,0);color:var(--viking-accent-strong, var(--viking-ring));cursor:pointer}.algolia-autocomplete-host .ais-AutocompleteClearButton{color:var(--viking-text-subtle, var(--viking-text-muted))}.algolia-autocomplete-host .aa-InputWrapperPrefix svg,.algolia-autocomplete-host .aa-InputWrapperSuffix svg,.algolia-autocomplete-host .aa-InputWrapperPrefix img,.algolia-autocomplete-host .aa-InputWrapperSuffix img,.algolia-autocomplete-host .ais-AutocompleteInputWrapperPrefix svg,.algolia-autocomplete-host .ais-AutocompleteInputWrapperSuffix svg,.algolia-autocomplete-host .ais-AutocompleteInputWrapperPrefix img,.algolia-autocomplete-host .ais-AutocompleteInputWrapperSuffix img{width:20px !important;height:20px !important;max-width:20px !important;max-height:20px !important;color:var(--viking-accent-strong, var(--viking-ring)) !important;fill:currentColor !important;stroke:currentColor !important}.algolia-autocomplete-host .aa-Input,.algolia-autocomplete-host .ais-AutocompleteInput,.algolia-autocomplete-host input{flex:1;width:100%;min-width:0;min-height:0 !important;height:auto;padding:0 !important;border:0 !important;border-radius:0 !important;outline:none !important;background:rgba(0,0,0,0) !important;color:var(--viking-text, var(--viking-text));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 .ais-AutocompleteInput::placeholder,.algolia-autocomplete-host input::placeholder{color:var(--viking-text-muted, var(--viking-text-muted))}.algolia-autocomplete-host .aa-Panel,.algolia-autocomplete-host .ais-AutocompletePanel{margin:0;padding:var(--viking-space-1, var(--viking-space-1));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-md, var(--viking-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,.algolia-autocomplete-host .ais-AutocompletePanelLayout,.algolia-autocomplete-host .ais-AutocompleteIndex{margin:0}.algolia-autocomplete-host .aa-List,.algolia-autocomplete-host .ais-AutocompleteIndexList{display:flex;flex-direction:column;gap:var(--viking-space-0-5);margin:0;padding:0;list-style:none}.algolia-autocomplete-host .aa-SourceHeader,.algolia-autocomplete-host .ais-AutocompleteSourceHeader{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-1, var(--viking-space-1)) 0;margin:0}.algolia-autocomplete-host .aa-SourceHeaderTitle,.algolia-autocomplete-host .ais-AutocompleteSourceHeaderTitle{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(--viking-text-muted))}.algolia-autocomplete-host .aa-SourceHeaderLine,.algolia-autocomplete-host .ais-AutocompleteSourceHeaderLine{flex:1;height:1px;background:var(--viking-border, var(--viking-border))}.algolia-autocomplete-host .aa-Item,.algolia-autocomplete-host .ais-AutocompleteIndexItem{border-radius:calc(var(--viking-radius, 8px)/1.5);padding:0;margin:0}.algolia-autocomplete-host .aa-ItemLink,.algolia-autocomplete-host .aa-ItemWrapper,.algolia-autocomplete-host .ais-ItemTemplate{display:flex;align-items:flex-start;gap:var(--viking-space-2);min-height:var(--viking-control-height-sm, 36px);padding:var(--viking-space-2);border-radius:calc(var(--viking-radius, 8px)/1.5);color:var(--viking-text, var(--viking-text));text-decoration:none;transition:var(--viking-transition-interactive, background-color 0.2s ease)}.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemLink,.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemWrapper,.algolia-autocomplete-host .aa-Item:hover .aa-ItemLink,.algolia-autocomplete-host .aa-Item:hover .aa-ItemWrapper,.algolia-autocomplete-host .ais-AutocompleteIndexItem[aria-selected=true] .ais-ItemTemplate,.algolia-autocomplete-host .ais-AutocompleteIndexItem:hover .ais-ItemTemplate{background:var(--viking-accent-soft, color-mix(in srgb, var(--viking-accent) 12%, transparent))}.algolia-autocomplete-host .aa-ItemContent,.algolia-autocomplete-host .ais-ItemTemplateInfo{display:flex;flex-direction:column;gap:calc(var(--viking-space-1, var(--viking-space-1))/2);min-width:0;flex:1}.algolia-autocomplete-host .ais-ItemTemplateImageContainer:empty{display:none}.algolia-autocomplete-host .ais-ItemTemplateImageContainer{flex-shrink:0}.algolia-autocomplete-host .ais-ItemTemplateImageContainer img{width:var(--viking-space-5, 40px);height:var(--viking-space-5, 40px);border-radius:var(--viking-radius, 8px);object-fit:cover}.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:var(--viking-space-0-5);border-radius:var(--viking-radius, 8px);background:var(--viking-surface-alt, var(--viking-charcoal-700)) !important;box-shadow:none !important;color:var(--viking-accent-strong, var(--viking-ring));overflow:hidden}.algolia-autocomplete-host .aa-ItemIcon img,.algolia-autocomplete-host .aa-ItemIcon svg{width:20px;height:20px;object-fit:contain}.algolia-autocomplete-host .aa-Item[aria-selected=true] .aa-ItemIcon,.algolia-autocomplete-host .aa-Item:hover .aa-ItemIcon{color:var(--viking-accent, var(--viking-accent))}.algolia-autocomplete-host .aa-ItemContentBody{display:flex;flex-direction:column;gap:calc(var(--viking-space-1, var(--viking-space-1))/2);min-width:0;flex:1}.algolia-autocomplete-host .aa-ItemContentTitle,.algolia-autocomplete-host .ais-ItemTemplateTitle{font-size:var(--viking-font-size, 16px);font-weight:600;color:var(--viking-text, var(--viking-text));line-height:1.3}.algolia-autocomplete-host .aa-ItemContentDescription,.algolia-autocomplete-host .ais-ItemTemplateDescription,.algolia-autocomplete-host .ais-ItemTemplateCategory{font-size:var(--viking-font-size-sm, 14px);color:var(--viking-text-muted, var(--viking-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 .ais-ItemTemplateCategory{order:2}.algolia-autocomplete-host .ais-ItemTemplateTitle{order:1}.algolia-autocomplete-host .ais-ItemTemplateDescription{order:3}.algolia-autocomplete-host mark,.algolia-autocomplete-host .aa-ItemContentTitle mark,.algolia-autocomplete-host .aa-ItemContentDescription mark,.algolia-autocomplete-host .ais-Highlight-highlighted{background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 20%, transparent);color:var(--viking-accent, var(--viking-accent));border-radius:0;padding:0;font-weight:600}.algolia-autocomplete-host .aa-ItemActions,.algolia-autocomplete-host .aa-GradientBottom,.algolia-autocomplete-host .aa-GradientTop{display:none}.aa-DetachedOverlay{background:var(--viking-overlay-backdrop, rgba(0, 0, 0, 0.55)) !important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.aa-DetachedContainer{font-family:var(--viking-font-family, inherit);border:1px solid var(--viking-border, var(--viking-border)) !important;border-radius:var(--viking-radius-lg, 12px) !important;background:var(--viking-surface, var(--viking-surface)) !important;box-shadow:var(--viking-shadow-lg, var(--viking-shadow-md)) !important}body.algolia-search-open>.aa-DetachedContainer,body.algolia-search-open>.aa-DetachedOverlay .aa-DetachedContainer{position:fixed !important;top:10vh !important;left:50% !important;right:auto !important;bottom:auto !important;z-index:var(--viking-z-overlay, 10001) !important;width:min(100vw - var(--viking-space-4, 32px),600px) !important;max-width:600px !important;max-height:80vh !important;transform:translateX(-50%) !important;overflow:hidden !important}.aa-DetachedContainer .aa-Form,.aa-DetachedContainer form{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, var(--viking-space-2));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));transition:var(--viking-transition-interactive, border-color 0.25s ease, box-shadow 0.25s ease)}.aa-DetachedContainer .aa-Form:hover,.aa-DetachedContainer form:hover{border-color:color-mix(in srgb, var(--viking-accent-strong, var(--viking-ring)) 55%, var(--viking-border-strong, var(--viking-border)));box-shadow:var(--viking-shadow-md, var(--viking-shadow-md))}.aa-DetachedContainer .aa-Form,.aa-DetachedContainer form{margin:0 !important;border:0 !important;border-bottom:1px solid var(--viking-border, var(--viking-border)) !important;border-radius:0 !important;box-shadow:none !important}.aa-DetachedContainer .aa-Panel{margin:0;padding:var(--viking-space-1, var(--viking-space-1));background:var(--viking-surface, var(--viking-surface));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:var(--viking-shadow-md, var(--viking-shadow-md));max-height:288px;overflow:auto;font-family:var(--viking-font-family, inherit);position:static !important;border:0 !important;box-shadow:none !important;max-height:50vh !important}@media(min-width: 768px){.navbar-content{position:relative}.navbar-center.desktop-nav{position:absolute;left:50%;transform:translateX(-50%);z-index:1;pointer-events:auto;max-width:min(100% - 26rem,52rem);overflow:visible;justify-content:center;gap:var(--viking-space-4, var(--viking-space-4))}.navbar-left{position:relative;z-index:2;flex-shrink:0;justify-self:start}.navbar-right{position:relative;z-index:2;flex-shrink:0;min-width:12.5rem;justify-self:end;pointer-events:none}.navbar-right>*{pointer-events:auto}.desktop-nav{display:flex}.desktop-auth{display:flex}.menu-toggle-btn,viking-button.menu-toggle-btn,viking-button-wc.menu-toggle-btn,#mobile-menu-btn{display:none !important;visibility:hidden !important;pointer-events:none !important}.mobile-menu,.mobile-menu:not(.open),.mobile-menu.open,#mobile-menu,#mobile-menu.open{display:none !important;visibility:hidden !important;pointer-events:none !important;opacity:0 !important}.navbar-right{gap:var(--viking-space-2, var(--viking-space-2))}.desktop-nav{gap:var(--viking-space-3, var(--viking-space-3))}.desktop-nav .nav-btn{padding:0 var(--viking-space-3, var(--viking-space-3)) !important;margin:0}}@container viking-navbar (min-width: 768px){.nav-btn{padding:0 var(--viking-space-1, var(--viking-space-1)) !important;gap:0 !important}.nav-btn>span{position:absolute;width:1px;height:1px;padding:0;margin:calc(-1*var(--viking-space-px));overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}}@container viking-navbar (min-width: 1440px){.nav-btn{padding:0 var(--viking-space-2, var(--viking-space-2)) !important;gap:var(--viking-space-1) !important;font-size:var(--viking-font-size, 16px) !important;letter-spacing:.08em !important}.nav-btn>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}}.navbar viking-button.auth-btn,.navbar viking-button.auth-signout-btn,.navbar viking-button.navbar-search-trigger,.navbar viking-button.menu-toggle-btn{display:contents !important;width:auto !important;min-width:0 !important;height:auto !important;min-height:0 !important;padding:0 !important;margin:0 !important;border:0 !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.navbar viking-button.mobile-auth-btn{display:block !important;width:100% !important;min-width:0 !important;padding:0 !important;margin:0 !important;border:0 !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.navbar viking-button-wc.auth-btn,.navbar viking-button-wc.auth-signout-btn,.navbar viking-button-wc.mobile-auth-btn,.navbar viking-button-wc.navbar-search-trigger,.navbar viking-button-wc.menu-toggle-btn{background:rgba(0,0,0,0) !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important}.viking-footer,.mega-footer{position:relative;background-color:var(--viking-surface, var(--card-bg, var(--viking-charcoal-950)));border-top:1px solid var(--viking-border-strong, var(--border-layout, var(--border, var(--viking-charcoal-700))));padding:calc(var(--viking-space-2)*2) var(--viking-space-2);font-family:var(--viking-font-family);color:var(--viking-text-muted, var(--text-muted, var(--viking-metallic-300)))}.viking-footer::before,.mega-footer::before{content:"";position:absolute;top:-1px;left:var(--viking-page-gutter, var(--viking-space-2));width:min(8rem,30%);height:1px;background:linear-gradient(90deg, color-mix(in srgb, var(--viking-accent) 55%, transparent), transparent);pointer-events:none}.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, var(--border, var(--viking-charcoal-700))))}@media(min-width: 600px){.viking-footer-directory,.footer-directory{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.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, var(--text-color, var(--viking-metallic-100)));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{display:inline-flex;align-items:center;min-width:var(--viking-touch-target-min, 44px);min-height:var(--viking-touch-target-min, 44px);font-size:var(--viking-font-size);color:var(--viking-text-muted, var(--text-muted, var(--viking-metallic-300)));text-decoration:none !important;border-bottom:1px solid rgba(0,0,0,0);transition:color .2s ease,border-color .2s ease}.viking-footer-list a:hover,.footer-list a:hover{color:var(--viking-text, var(--text-color, var(--viking-metallic-100)));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{display:inline-flex;align-items:center;justify-content:center;min-width:var(--viking-touch-target-min, 44px);min-height:var(--viking-touch-target-min, 44px);color:var(--viking-text-muted);text-decoration:none !important;border-bottom:1px solid rgba(0,0,0,0);transition:color .2s ease,border-color .2s ease}.viking-copyright-info a:hover,.copyright-info a:hover{color:var(--viking-text);border-bottom-color:var(--viking-text)}@media(min-width: 768px){.viking-footer-list a,.footer-list a,.viking-copyright-info a,.copyright-info a{min-width:0;min-height:auto}}.viking-usa-badge,.usa-badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-control-height, 44px);padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-pill);background-color:rgba(0,0,0,0);border:1px solid var(--viking-border, var(--border, var(--viking-charcoal-700)));font-size:var(--viking-font-size);font-weight:500;color:var(--viking-text-muted, var(--text-muted, var(--viking-metallic-300)));line-height:1.2;text-align:center}.viking-usa-badge-icon,.usa-badge-icon{font-size:var(--viking-font-size-md);line-height:1}.viking-chart,viking-chart{container-type:inline-size;min-width:0;border:none;box-shadow:none;background:rgba(0,0,0,0)}.viking-chart-viewport{position:relative;width:100%;flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:0;overflow:visible;padding:0;box-sizing:border-box;border:none;background:rgba(0,0,0,0)}.viking-chart-fill .viking-chart-viewport{padding:0}.viking-chart-grid{stroke:var(--viking-chart-grid-stroke, color-mix(in srgb, var(--viking-text-muted) 16%, transparent));stroke-width:var(--viking-chart-grid-width, 1);stroke-dasharray:var(--viking-chart-grid-dash, 4 4)}.viking-chart-axis-line,.viking-chart-tick{stroke:var(--viking-chart-axis-stroke, color-mix(in srgb, var(--viking-text-muted) 28%, transparent));stroke-width:var(--viking-chart-axis-width, 1)}.viking-chart-axis-y,.viking-chart-axis-x{fill:var(--viking-chart-axis-color, var(--viking-text-muted));font-size:var(--viking-chart-axis-size-mobile, var(--viking-font-size-base));font-family:var(--viking-font-family);letter-spacing:.01em;font-variant-numeric:tabular-nums lining-nums}.viking-chart-axis-x{font-weight:var(--viking-font-weight-regular)}.viking-chart-axis-y{font-weight:var(--viking-font-weight-medium)}.viking-chart-cursor{stroke:var(--viking-chart-cursor-stroke, color-mix(in srgb, var(--viking-text) 32%, transparent));stroke-width:var(--viking-chart-cursor-width, 1);stroke-dasharray:var(--viking-chart-cursor-dash, 3 3);pointer-events:none}.viking-chart-cursor-area{fill:color-mix(in srgb, var(--viking-text) 6%, transparent);stroke:none;pointer-events:none}.viking-chart-line{fill:none;stroke-width:var(--viking-chart-line-width, 2);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.viking-chart-fill .viking-chart-line{stroke-width:var(--viking-chart-line-width-fill, 2)}.viking-chart-area{opacity:1;stroke:none;fill-opacity:1}.viking-chart-area-stop-start,.viking-chart-area-stop-end{stop-color:currentColor}.viking-chart-area-stop-start{stop-opacity:var(--viking-chart-area-opacity-start)}.viking-chart-area-stop-end{stop-opacity:var(--viking-chart-area-opacity-end)}.viking-chart-sparkline .viking-chart-area{opacity:.14}.viking-chart-sparkline .viking-chart-line{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.viking-chart-point{stroke:var(--viking-chart-point-stroke, var(--viking-surface));stroke-width:2;vector-effect:non-scaling-stroke}.viking-chart-bar{opacity:.92}.viking-chart-donut-slice{stroke:var(--viking-surface);stroke-width:2}.viking-chart-donut-hole{fill:var(--viking-surface)}.viking-chart-donut-total{fill:var(--viking-text);font-size:var(--viking-chart-text-size, var(--viking-font-size-base));font-weight:700;font-family:var(--viking-font-family);font-variant-numeric:tabular-nums lining-nums}.viking-chart-fill .viking-chart-donut-total{font-size:var(--viking-chart-text-size, var(--viking-font-size-base))}.viking-chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--viking-space-1) var(--viking-space-2);margin:var(--viking-chart-legend-margin, var(--viking-space-3) 0 0);font-size:var(--viking-chart-legend-size, var(--viking-font-size-base));color:var(--viking-text-muted);padding-inline:var(--viking-space-1)}.viking-chart-fill .viking-chart-legend{margin:var(--viking-chart-legend-margin-fill, var(--viking-space-4) 0 0)}.viking-chart-legend-item{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:1.2}.viking-chart-swatch{width:var(--viking-chart-swatch-size, 8px);height:var(--viking-chart-swatch-size, 8px);border-radius:999px;display:inline-block;flex-shrink:0;border:none}.viking-chart-tooltip{position:absolute;z-index:var(--viking-z-tooltip, 40);pointer-events:none;display:none;flex-direction:column;gap:var(--viking-space-0-5);min-width:80px;padding:var(--viking-space-0-5) var(--viking-space-1);background:var(--viking-chart-tooltip-bg, color-mix(in srgb, var(--viking-surface) 94%, transparent));border:1px solid var(--viking-chart-tooltip-border, color-mix(in srgb, var(--viking-border) 65%, transparent));border-radius:var(--viking-chart-tooltip-radius, var(--viking-radius));box-shadow:var(--viking-shadow-sm);backdrop-filter:none;font-size:var(--viking-chart-tooltip-size, var(--viking-font-size-base));color:var(--viking-chart-tooltip-text, var(--viking-text));white-space:nowrap}.viking-chart-tooltip.visible{display:flex}.viking-chart-tooltip .tt-label{font-weight:var(--viking-font-weight-medium);color:var(--viking-text-muted);font-size:var(--viking-chart-tooltip-size, var(--viking-font-size-base));text-transform:uppercase;letter-spacing:.04em}.viking-chart-tooltip .tt-value{font-weight:var(--viking-font-weight-semibold);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum"}.viking-chart-tooltip .tt-series-value{display:grid;grid-template-columns:auto minmax(0, 1fr) auto;align-items:center;gap:var(--viking-space-1);font-size:var(--viking-font-size-xs)}.viking-chart-tooltip .tt-series-value strong{font-weight:var(--viking-font-weight-semibold);font-variant-numeric:tabular-nums lining-nums}.viking-chart-zoom-reset{position:absolute;top:var(--viking-space-0-5);right:var(--viking-space-0-5);z-index:2;padding:var(--viking-space-0-5) var(--viking-space-1);font-size:var(--viking-font-size-sm);font-family:var(--viking-font-family);color:var(--viking-text-muted);background:color-mix(in srgb, var(--viking-surface) 90%, transparent);border:1px solid var(--viking-border);border-radius:var(--viking-radius-md);cursor:pointer;transition:var(--viking-transition-fast)}.viking-chart-zoom-reset:hover{background:var(--viking-surface);color:var(--viking-text)}.viking-chart-zoom-reset:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:2px}@media(min-width: 768px){.viking-chart-axis-y,.viking-chart-axis-x{font-size:max(var(--viking-chart-label-size, var(--viking-font-size-base)),var(--viking-chart-axis-size, var(--viking-font-size-base)))}.viking-chart-legend{gap:var(--viking-chart-legend-gap, var(--viking-space-2) var(--viking-space-3));font-size:var(--viking-chart-legend-size, var(--viking-font-size-xs))}.viking-chart-tooltip{min-width:88px;padding:var(--viking-chart-tooltip-padding, var(--viking-space-1) var(--viking-space-1));font-size:var(--viking-chart-tooltip-size, var(--viking-font-size-xs))}}.viking-chart-sparkline{--viking-chart-line-width: 1.75;--viking-chart-area-opacity: 0.16}.viking-chart-sparkline .viking-chart-legend{display:none}.viking-chart:not(.viking-chart-sparkline){height:var(--viking-chart-plot-height);min-height:var(--viking-chart-plot-height);max-height:var(--viking-chart-plot-height)}.viking-chart:not(.viking-chart-sparkline) svg{width:100%;height:100%;min-height:0;max-height:100%}.viking-chart-fill{flex:0 0 auto}.viking-chart-panel,viking-chart-panel{display:grid;grid-template-rows:auto minmax(0, 1fr);container-type:inline-size;container-name:viking-chart-panel;min-width:0;overflow:hidden;color:var(--viking-text);background:var(--viking-surface-recipe);border:var(--viking-border-width) var(--viking-border-style) var(--viking-border-container);border-radius:var(--viking-card-radius);box-shadow:var(--viking-shadow-xs),var(--viking-surface-highlight)}.viking-chart-panel-body,.card-body-clean.viking-chart-panel-body{background:rgba(0,0,0,0);border:none;padding:var(--viking-space-content-gap)}@container viking-chart-panel (min-width: 37.5rem){.viking-chart-panel-body,.card-body-clean.viking-chart-panel-body{padding:var(--viking-space-content-gap) var(--viking-space-container-gap) var(--viking-space-container-gap)}}.viking-chart-panel-body viking-chart,.viking-chart-panel-body .viking-chart{width:100%;min-height:0;flex:0 0 auto;border:none;box-shadow:none;background:rgba(0,0,0,0)}.viking-chart-empty-state{padding:var(--viking-chart-empty-padding, var(--viking-space-5) var(--viking-space-4));gap:var(--viking-chart-empty-gap, var(--viking-space-3))}.viking-chart-skeleton{width:100%;height:100%;min-height:var(--viking-chart-fill-min-height, clamp(16rem, 32vw, 18rem));border-radius:var(--viking-radius-md);background:linear-gradient(90deg, var(--viking-charcoal-700) 25%, var(--viking-charcoal-600) 50%, var(--viking-charcoal-700) 75%);background-size:200% 100%;animation:viking-shimmer 1.4s linear infinite}@media(prefers-reduced-motion: reduce){.viking-chart-skeleton{animation:none;background:var(--viking-surface-alt)}}@keyframes viking-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}viking-spinner{position:relative;display:inline-grid;flex:0 0 auto;place-items:center;aspect-ratio:1;border-radius:var(--viking-radius-pill);color:var(--viking-accent);line-height:0}viking-spinner .viking-spinner-svg{grid-area:1/1;display:block;aspect-ratio:1;border-radius:inherit;shape-rendering:geometricPrecision;transform-box:fill-box;transform-origin:50% 50%;animation:viking-spin var(--viking-duration-slow) linear infinite}viking-spinner .viking-spinner-track,viking-spinner .viking-spinner-arc{fill:none;stroke-width:var(--viking-spinner-stroke, 2)}viking-spinner .viking-spinner-track{stroke:color-mix(in srgb, currentColor 14%, transparent)}viking-spinner .viking-spinner-arc{stroke:currentColor;stroke-dasharray:42 84}viking-spinner .viking-spinner-wordmark{z-index:1;grid-area:1/1;color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-bold);line-height:var(--viking-line-height-none);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;pointer-events:none}@media(prefers-reduced-motion: reduce){viking-spinner .viking-spinner-svg{animation:none}viking-spinner .viking-spinner-arc{stroke-dasharray:56 84}}.viking-page-mockup,.hero-mockup{overflow:hidden;width:100%;max-width:none;position:relative;z-index:1}.viking-page-mockup-window,.mockup-window{background:var(--viking-charcoal-800, var(--viking-surface));border:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 54%, transparent);border-radius:var(--viking-radius-lg, 12px);overflow:hidden;box-shadow:var(--viking-shadow-md, 0 8px 24px rgba(0, 0, 0, 0.35));position:relative;width:100%;min-width:0;transform:none}.viking-page-mockup-window::before,.mockup-window::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid color-mix(in srgb, var(--viking-metallic-500, var(--viking-border)) 28%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white, var(--viking-white-pure)) 7%, transparent);opacity:.75}.viking-page-mockup-titlebar,.mockup-titlebar{display:flex;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-2) var(--viking-space-2);background:var(--viking-charcoal-900, var(--viking-surface-alt));border-bottom:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 42%, transparent)}.viking-page-mockup-titlebar .mockup-dot,.viking-page-mockup-titlebar .viking-page-mockup-dot,.mockup-titlebar .mockup-dot,.mockup-titlebar .viking-page-mockup-dot{width:10px;height:10px;border-radius:50%;background:var(--viking-text-muted);opacity:.5}.viking-page-mockup-titlebar .mockup-dot:first-child,.viking-page-mockup-titlebar .viking-page-mockup-dot:first-child,.mockup-titlebar .mockup-dot:first-child,.mockup-titlebar .viking-page-mockup-dot:first-child{background:var(--viking-crimson-500, var(--viking-danger));opacity:.8}.viking-page-mockup-titlebar .mockup-dot:nth-child(2),.viking-page-mockup-titlebar .viking-page-mockup-dot:nth-child(2),.mockup-titlebar .mockup-dot:nth-child(2),.mockup-titlebar .viking-page-mockup-dot:nth-child(2){background:var(--viking-gold-500, var(--viking-warning));opacity:.8}.viking-page-mockup-titlebar .mockup-dot:nth-child(3),.viking-page-mockup-titlebar .viking-page-mockup-dot:nth-child(3),.mockup-titlebar .mockup-dot:nth-child(3),.mockup-titlebar .viking-page-mockup-dot:nth-child(3){background:var(--viking-accent-strong, var(--viking-accent));opacity:.8}.viking-page-mockup-titlebar .mockup-title,.viking-page-mockup-titlebar .viking-page-mockup-title,.mockup-titlebar .mockup-title,.mockup-titlebar .viking-page-mockup-title{margin-left:var(--viking-space-1);font-size:var(--viking-font-size-sm);font-family:var(--viking-font-family-mono, ui-monospace, monospace);color:var(--viking-electric-200, var(--viking-text-muted));letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viking-page-mockup-body,.mockup-body{display:flex;min-height:280px}.viking-page-mockup-sidebar,.mockup-sidebar{width:48px;padding:var(--viking-space-2) var(--viking-space-1);display:flex;flex-direction:column;gap:var(--viking-space-2);border-right:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 36%, transparent);background:var(--viking-charcoal-900, var(--viking-surface-alt));flex-shrink:0}.viking-page-mockup-sidebar .mockup-nav-item,.viking-page-mockup-sidebar .viking-page-mockup-nav-item,.mockup-sidebar .mockup-nav-item,.mockup-sidebar .viking-page-mockup-nav-item{height:32px;border-radius:8px;background:color-mix(in srgb, var(--viking-text-muted) 20%, transparent)}.viking-page-mockup-sidebar .mockup-nav-item.active,.viking-page-mockup-sidebar .viking-page-mockup-nav-item.active,.mockup-sidebar .mockup-nav-item.active,.mockup-sidebar .viking-page-mockup-nav-item.active{background:color-mix(in srgb, var(--viking-accent) 35%, transparent);box-shadow:inset 0 0 0 1px var(--viking-accent)}.viking-page-mockup-main,.mockup-main{flex:1;min-width:0;padding:var(--viking-card-padding, var(--viking-space-3));display:flex;flex-direction:column;gap:var(--viking-space-3)}.viking-page-mockup-gauges,.mockup-gauges{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 600px){.viking-page-mockup-gauges,.mockup-gauges{grid-template-columns:repeat(3, 1fr)}}.viking-page-mockup-gauge,.mockup-gauge{background:var(--viking-charcoal-700, var(--viking-surface-alt));border:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 42%, transparent);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding-compact, var(--viking-space-2));text-align:center}.viking-page-mockup-gauge.primary,.mockup-gauge.primary{border-color:var(--viking-accent)}.viking-page-mockup-gauge .gauge-label,.viking-page-mockup-gauge .viking-page-mockup-gauge-label,.mockup-gauge .gauge-label,.mockup-gauge .viking-page-mockup-gauge-label{display:block;font-size:var(--viking-font-size-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--viking-metallic-200, var(--viking-text-muted));margin-bottom:var(--viking-space-0-5)}.viking-page-mockup-gauge .gauge-val,.viking-page-mockup-gauge .viking-page-mockup-gauge-val,.mockup-gauge .gauge-val,.mockup-gauge .viking-page-mockup-gauge-val{font-size:var(--viking-font-size-lead);font-weight:800;color:var(--viking-white, var(--viking-text));font-variant-numeric:tabular-nums}.viking-page-mockup-chart,.mockup-chart{flex:1;display:flex;align-items:flex-end;gap:var(--viking-space-0-5);padding:var(--viking-card-padding-compact, var(--viking-space-2));background:var(--viking-charcoal-950, var(--viking-bg));border-radius:var(--viking-radius-lg);border:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 36%, transparent);min-height:100px}.viking-page-mockup-chart .chart-bar,.viking-page-mockup-chart .viking-page-mockup-bar,.mockup-chart .chart-bar,.mockup-chart .viking-page-mockup-bar{flex:1;background:linear-gradient(180deg, var(--viking-accent), var(--viking-accent-strong, var(--viking-accent)));border-radius:4px 4px 0 0;opacity:.85;height:calc(var(--chart-bar-height, 50)*1%);min-height:8px}.viking-page-mockup-chart .chart-bar[data-height="20"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="20"],.mockup-chart .chart-bar[data-height="20"],.mockup-chart .viking-page-mockup-bar[data-height="20"]{--chart-bar-height: 20}.viking-page-mockup-chart .chart-bar[data-height="21"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="21"],.mockup-chart .chart-bar[data-height="21"],.mockup-chart .viking-page-mockup-bar[data-height="21"]{--chart-bar-height: 21}.viking-page-mockup-chart .chart-bar[data-height="22"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="22"],.mockup-chart .chart-bar[data-height="22"],.mockup-chart .viking-page-mockup-bar[data-height="22"]{--chart-bar-height: 22}.viking-page-mockup-chart .chart-bar[data-height="23"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="23"],.mockup-chart .chart-bar[data-height="23"],.mockup-chart .viking-page-mockup-bar[data-height="23"]{--chart-bar-height: 23}.viking-page-mockup-chart .chart-bar[data-height="24"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="24"],.mockup-chart .chart-bar[data-height="24"],.mockup-chart .viking-page-mockup-bar[data-height="24"]{--chart-bar-height: 24}.viking-page-mockup-chart .chart-bar[data-height="25"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="25"],.mockup-chart .chart-bar[data-height="25"],.mockup-chart .viking-page-mockup-bar[data-height="25"]{--chart-bar-height: 25}.viking-page-mockup-chart .chart-bar[data-height="26"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="26"],.mockup-chart .chart-bar[data-height="26"],.mockup-chart .viking-page-mockup-bar[data-height="26"]{--chart-bar-height: 26}.viking-page-mockup-chart .chart-bar[data-height="27"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="27"],.mockup-chart .chart-bar[data-height="27"],.mockup-chart .viking-page-mockup-bar[data-height="27"]{--chart-bar-height: 27}.viking-page-mockup-chart .chart-bar[data-height="28"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="28"],.mockup-chart .chart-bar[data-height="28"],.mockup-chart .viking-page-mockup-bar[data-height="28"]{--chart-bar-height: 28}.viking-page-mockup-chart .chart-bar[data-height="29"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="29"],.mockup-chart .chart-bar[data-height="29"],.mockup-chart .viking-page-mockup-bar[data-height="29"]{--chart-bar-height: 29}.viking-page-mockup-chart .chart-bar[data-height="30"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="30"],.mockup-chart .chart-bar[data-height="30"],.mockup-chart .viking-page-mockup-bar[data-height="30"]{--chart-bar-height: 30}.viking-page-mockup-chart .chart-bar[data-height="31"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="31"],.mockup-chart .chart-bar[data-height="31"],.mockup-chart .viking-page-mockup-bar[data-height="31"]{--chart-bar-height: 31}.viking-page-mockup-chart .chart-bar[data-height="32"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="32"],.mockup-chart .chart-bar[data-height="32"],.mockup-chart .viking-page-mockup-bar[data-height="32"]{--chart-bar-height: 32}.viking-page-mockup-chart .chart-bar[data-height="33"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="33"],.mockup-chart .chart-bar[data-height="33"],.mockup-chart .viking-page-mockup-bar[data-height="33"]{--chart-bar-height: 33}.viking-page-mockup-chart .chart-bar[data-height="34"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="34"],.mockup-chart .chart-bar[data-height="34"],.mockup-chart .viking-page-mockup-bar[data-height="34"]{--chart-bar-height: 34}.viking-page-mockup-chart .chart-bar[data-height="35"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="35"],.mockup-chart .chart-bar[data-height="35"],.mockup-chart .viking-page-mockup-bar[data-height="35"]{--chart-bar-height: 35}.viking-page-mockup-chart .chart-bar[data-height="36"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="36"],.mockup-chart .chart-bar[data-height="36"],.mockup-chart .viking-page-mockup-bar[data-height="36"]{--chart-bar-height: 36}.viking-page-mockup-chart .chart-bar[data-height="37"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="37"],.mockup-chart .chart-bar[data-height="37"],.mockup-chart .viking-page-mockup-bar[data-height="37"]{--chart-bar-height: 37}.viking-page-mockup-chart .chart-bar[data-height="38"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="38"],.mockup-chart .chart-bar[data-height="38"],.mockup-chart .viking-page-mockup-bar[data-height="38"]{--chart-bar-height: 38}.viking-page-mockup-chart .chart-bar[data-height="39"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="39"],.mockup-chart .chart-bar[data-height="39"],.mockup-chart .viking-page-mockup-bar[data-height="39"]{--chart-bar-height: 39}.viking-page-mockup-chart .chart-bar[data-height="40"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="40"],.mockup-chart .chart-bar[data-height="40"],.mockup-chart .viking-page-mockup-bar[data-height="40"]{--chart-bar-height: 40}.viking-page-mockup-chart .chart-bar[data-height="41"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="41"],.mockup-chart .chart-bar[data-height="41"],.mockup-chart .viking-page-mockup-bar[data-height="41"]{--chart-bar-height: 41}.viking-page-mockup-chart .chart-bar[data-height="42"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="42"],.mockup-chart .chart-bar[data-height="42"],.mockup-chart .viking-page-mockup-bar[data-height="42"]{--chart-bar-height: 42}.viking-page-mockup-chart .chart-bar[data-height="43"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="43"],.mockup-chart .chart-bar[data-height="43"],.mockup-chart .viking-page-mockup-bar[data-height="43"]{--chart-bar-height: 43}.viking-page-mockup-chart .chart-bar[data-height="44"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="44"],.mockup-chart .chart-bar[data-height="44"],.mockup-chart .viking-page-mockup-bar[data-height="44"]{--chart-bar-height: 44}.viking-page-mockup-chart .chart-bar[data-height="45"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="45"],.mockup-chart .chart-bar[data-height="45"],.mockup-chart .viking-page-mockup-bar[data-height="45"]{--chart-bar-height: 45}.viking-page-mockup-chart .chart-bar[data-height="46"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="46"],.mockup-chart .chart-bar[data-height="46"],.mockup-chart .viking-page-mockup-bar[data-height="46"]{--chart-bar-height: 46}.viking-page-mockup-chart .chart-bar[data-height="47"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="47"],.mockup-chart .chart-bar[data-height="47"],.mockup-chart .viking-page-mockup-bar[data-height="47"]{--chart-bar-height: 47}.viking-page-mockup-chart .chart-bar[data-height="48"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="48"],.mockup-chart .chart-bar[data-height="48"],.mockup-chart .viking-page-mockup-bar[data-height="48"]{--chart-bar-height: 48}.viking-page-mockup-chart .chart-bar[data-height="49"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="49"],.mockup-chart .chart-bar[data-height="49"],.mockup-chart .viking-page-mockup-bar[data-height="49"]{--chart-bar-height: 49}.viking-page-mockup-chart .chart-bar[data-height="50"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="50"],.mockup-chart .chart-bar[data-height="50"],.mockup-chart .viking-page-mockup-bar[data-height="50"]{--chart-bar-height: 50}.viking-page-mockup-chart .chart-bar[data-height="51"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="51"],.mockup-chart .chart-bar[data-height="51"],.mockup-chart .viking-page-mockup-bar[data-height="51"]{--chart-bar-height: 51}.viking-page-mockup-chart .chart-bar[data-height="52"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="52"],.mockup-chart .chart-bar[data-height="52"],.mockup-chart .viking-page-mockup-bar[data-height="52"]{--chart-bar-height: 52}.viking-page-mockup-chart .chart-bar[data-height="53"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="53"],.mockup-chart .chart-bar[data-height="53"],.mockup-chart .viking-page-mockup-bar[data-height="53"]{--chart-bar-height: 53}.viking-page-mockup-chart .chart-bar[data-height="54"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="54"],.mockup-chart .chart-bar[data-height="54"],.mockup-chart .viking-page-mockup-bar[data-height="54"]{--chart-bar-height: 54}.viking-page-mockup-chart .chart-bar[data-height="55"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="55"],.mockup-chart .chart-bar[data-height="55"],.mockup-chart .viking-page-mockup-bar[data-height="55"]{--chart-bar-height: 55}.viking-page-mockup-chart .chart-bar[data-height="56"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="56"],.mockup-chart .chart-bar[data-height="56"],.mockup-chart .viking-page-mockup-bar[data-height="56"]{--chart-bar-height: 56}.viking-page-mockup-chart .chart-bar[data-height="57"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="57"],.mockup-chart .chart-bar[data-height="57"],.mockup-chart .viking-page-mockup-bar[data-height="57"]{--chart-bar-height: 57}.viking-page-mockup-chart .chart-bar[data-height="58"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="58"],.mockup-chart .chart-bar[data-height="58"],.mockup-chart .viking-page-mockup-bar[data-height="58"]{--chart-bar-height: 58}.viking-page-mockup-chart .chart-bar[data-height="59"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="59"],.mockup-chart .chart-bar[data-height="59"],.mockup-chart .viking-page-mockup-bar[data-height="59"]{--chart-bar-height: 59}.viking-page-mockup-chart .chart-bar[data-height="60"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="60"],.mockup-chart .chart-bar[data-height="60"],.mockup-chart .viking-page-mockup-bar[data-height="60"]{--chart-bar-height: 60}.viking-page-mockup-chart .chart-bar[data-height="61"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="61"],.mockup-chart .chart-bar[data-height="61"],.mockup-chart .viking-page-mockup-bar[data-height="61"]{--chart-bar-height: 61}.viking-page-mockup-chart .chart-bar[data-height="62"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="62"],.mockup-chart .chart-bar[data-height="62"],.mockup-chart .viking-page-mockup-bar[data-height="62"]{--chart-bar-height: 62}.viking-page-mockup-chart .chart-bar[data-height="63"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="63"],.mockup-chart .chart-bar[data-height="63"],.mockup-chart .viking-page-mockup-bar[data-height="63"]{--chart-bar-height: 63}.viking-page-mockup-chart .chart-bar[data-height="64"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="64"],.mockup-chart .chart-bar[data-height="64"],.mockup-chart .viking-page-mockup-bar[data-height="64"]{--chart-bar-height: 64}.viking-page-mockup-chart .chart-bar[data-height="65"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="65"],.mockup-chart .chart-bar[data-height="65"],.mockup-chart .viking-page-mockup-bar[data-height="65"]{--chart-bar-height: 65}.viking-page-mockup-chart .chart-bar[data-height="66"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="66"],.mockup-chart .chart-bar[data-height="66"],.mockup-chart .viking-page-mockup-bar[data-height="66"]{--chart-bar-height: 66}.viking-page-mockup-chart .chart-bar[data-height="67"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="67"],.mockup-chart .chart-bar[data-height="67"],.mockup-chart .viking-page-mockup-bar[data-height="67"]{--chart-bar-height: 67}.viking-page-mockup-chart .chart-bar[data-height="68"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="68"],.mockup-chart .chart-bar[data-height="68"],.mockup-chart .viking-page-mockup-bar[data-height="68"]{--chart-bar-height: 68}.viking-page-mockup-chart .chart-bar[data-height="69"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="69"],.mockup-chart .chart-bar[data-height="69"],.mockup-chart .viking-page-mockup-bar[data-height="69"]{--chart-bar-height: 69}.viking-page-mockup-chart .chart-bar[data-height="70"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="70"],.mockup-chart .chart-bar[data-height="70"],.mockup-chart .viking-page-mockup-bar[data-height="70"]{--chart-bar-height: 70}.viking-page-mockup-chart .chart-bar[data-height="71"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="71"],.mockup-chart .chart-bar[data-height="71"],.mockup-chart .viking-page-mockup-bar[data-height="71"]{--chart-bar-height: 71}.viking-page-mockup-chart .chart-bar[data-height="72"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="72"],.mockup-chart .chart-bar[data-height="72"],.mockup-chart .viking-page-mockup-bar[data-height="72"]{--chart-bar-height: 72}.viking-page-mockup-chart .chart-bar[data-height="73"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="73"],.mockup-chart .chart-bar[data-height="73"],.mockup-chart .viking-page-mockup-bar[data-height="73"]{--chart-bar-height: 73}.viking-page-mockup-chart .chart-bar[data-height="74"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="74"],.mockup-chart .chart-bar[data-height="74"],.mockup-chart .viking-page-mockup-bar[data-height="74"]{--chart-bar-height: 74}.viking-page-mockup-chart .chart-bar[data-height="75"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="75"],.mockup-chart .chart-bar[data-height="75"],.mockup-chart .viking-page-mockup-bar[data-height="75"]{--chart-bar-height: 75}.viking-page-mockup-chart .chart-bar[data-height="76"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="76"],.mockup-chart .chart-bar[data-height="76"],.mockup-chart .viking-page-mockup-bar[data-height="76"]{--chart-bar-height: 76}.viking-page-mockup-chart .chart-bar[data-height="77"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="77"],.mockup-chart .chart-bar[data-height="77"],.mockup-chart .viking-page-mockup-bar[data-height="77"]{--chart-bar-height: 77}.viking-page-mockup-chart .chart-bar[data-height="78"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="78"],.mockup-chart .chart-bar[data-height="78"],.mockup-chart .viking-page-mockup-bar[data-height="78"]{--chart-bar-height: 78}.viking-page-mockup-chart .chart-bar[data-height="79"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="79"],.mockup-chart .chart-bar[data-height="79"],.mockup-chart .viking-page-mockup-bar[data-height="79"]{--chart-bar-height: 79}.viking-page-mockup-chart .chart-bar[data-height="80"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="80"],.mockup-chart .chart-bar[data-height="80"],.mockup-chart .viking-page-mockup-bar[data-height="80"]{--chart-bar-height: 80}.viking-page-mockup-chart .chart-bar[data-height="81"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="81"],.mockup-chart .chart-bar[data-height="81"],.mockup-chart .viking-page-mockup-bar[data-height="81"]{--chart-bar-height: 81}.viking-page-mockup-chart .chart-bar[data-height="82"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="82"],.mockup-chart .chart-bar[data-height="82"],.mockup-chart .viking-page-mockup-bar[data-height="82"]{--chart-bar-height: 82}.viking-page-mockup-chart .chart-bar[data-height="83"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="83"],.mockup-chart .chart-bar[data-height="83"],.mockup-chart .viking-page-mockup-bar[data-height="83"]{--chart-bar-height: 83}.viking-page-mockup-chart .chart-bar[data-height="84"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="84"],.mockup-chart .chart-bar[data-height="84"],.mockup-chart .viking-page-mockup-bar[data-height="84"]{--chart-bar-height: 84}.viking-page-mockup-chart .chart-bar[data-height="85"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="85"],.mockup-chart .chart-bar[data-height="85"],.mockup-chart .viking-page-mockup-bar[data-height="85"]{--chart-bar-height: 85}.viking-page-mockup-chart .chart-bar[data-height="86"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="86"],.mockup-chart .chart-bar[data-height="86"],.mockup-chart .viking-page-mockup-bar[data-height="86"]{--chart-bar-height: 86}.viking-page-mockup-chart .chart-bar[data-height="87"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="87"],.mockup-chart .chart-bar[data-height="87"],.mockup-chart .viking-page-mockup-bar[data-height="87"]{--chart-bar-height: 87}.viking-page-mockup-chart .chart-bar[data-height="88"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="88"],.mockup-chart .chart-bar[data-height="88"],.mockup-chart .viking-page-mockup-bar[data-height="88"]{--chart-bar-height: 88}.viking-page-mockup-chart .chart-bar[data-height="89"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="89"],.mockup-chart .chart-bar[data-height="89"],.mockup-chart .viking-page-mockup-bar[data-height="89"]{--chart-bar-height: 89}.viking-page-mockup-chart .chart-bar[data-height="90"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="90"],.mockup-chart .chart-bar[data-height="90"],.mockup-chart .viking-page-mockup-bar[data-height="90"]{--chart-bar-height: 90}.viking-page-mockup-chart .chart-bar[data-height="91"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="91"],.mockup-chart .chart-bar[data-height="91"],.mockup-chart .viking-page-mockup-bar[data-height="91"]{--chart-bar-height: 91}.viking-page-mockup-chart .chart-bar[data-height="92"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="92"],.mockup-chart .chart-bar[data-height="92"],.mockup-chart .viking-page-mockup-bar[data-height="92"]{--chart-bar-height: 92}.viking-page-mockup-chart .chart-bar[data-height="93"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="93"],.mockup-chart .chart-bar[data-height="93"],.mockup-chart .viking-page-mockup-bar[data-height="93"]{--chart-bar-height: 93}.viking-page-mockup-chart .chart-bar[data-height="94"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="94"],.mockup-chart .chart-bar[data-height="94"],.mockup-chart .viking-page-mockup-bar[data-height="94"]{--chart-bar-height: 94}.viking-page-mockup-chart .chart-bar[data-height="95"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="95"],.mockup-chart .chart-bar[data-height="95"],.mockup-chart .viking-page-mockup-bar[data-height="95"]{--chart-bar-height: 95}.viking-page-mockup-chart .chart-bar[data-height="96"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="96"],.mockup-chart .chart-bar[data-height="96"],.mockup-chart .viking-page-mockup-bar[data-height="96"]{--chart-bar-height: 96}.viking-page-mockup-chart .chart-bar[data-height="97"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="97"],.mockup-chart .chart-bar[data-height="97"],.mockup-chart .viking-page-mockup-bar[data-height="97"]{--chart-bar-height: 97}.viking-page-mockup-chart .chart-bar[data-height="98"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="98"],.mockup-chart .chart-bar[data-height="98"],.mockup-chart .viking-page-mockup-bar[data-height="98"]{--chart-bar-height: 98}.viking-page-mockup-chart .chart-bar[data-height="99"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="99"],.mockup-chart .chart-bar[data-height="99"],.mockup-chart .viking-page-mockup-bar[data-height="99"]{--chart-bar-height: 99}.viking-page-mockup-chart .chart-bar[data-height="100"],.viking-page-mockup-chart .viking-page-mockup-bar[data-height="100"],.mockup-chart .chart-bar[data-height="100"],.mockup-chart .viking-page-mockup-bar[data-height="100"]{--chart-bar-height: 100}.viking-page-mockup-chart.is-line,.mockup-chart.is-line{align-items:stretch;position:relative;overflow:hidden}.viking-page-mockup-chart.is-line::before,.mockup-chart.is-line::before{content:"";position:absolute;inset:18% 8% 22% 8%;background:linear-gradient(180deg, color-mix(in srgb, var(--viking-accent) 28%, transparent), transparent 70%);clip-path:polygon(0% 70%, 12% 55%, 24% 62%, 38% 40%, 52% 48%, 66% 28%, 80% 35%, 100% 18%, 100% 100%, 0% 100%);opacity:.85}.viking-page-mockup-chart.is-line::after,.mockup-chart.is-line::after{content:"";position:absolute;inset:18% 8% 22% 8%;border-top:2px solid var(--viking-accent);clip-path:polygon(0% 70%, 12% 55%, 24% 62%, 38% 40%, 52% 48%, 66% 28%, 80% 35%, 100% 18%, 100% 20%, 80% 37%, 66% 30%, 52% 50%, 38% 42%, 24% 64%, 12% 57%, 0% 72%);opacity:.95}.viking-page-mockup-chart.is-line .chart-bar,.viking-page-mockup-chart.is-line .viking-page-mockup-bar,.mockup-chart.is-line .chart-bar,.mockup-chart.is-line .viking-page-mockup-bar{display:none}.viking-page-mockup-stats,.mockup-stats-row{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 600px){.viking-page-mockup-stats,.mockup-stats-row{grid-template-columns:repeat(3, 1fr)}}.viking-page-mockup-stats .mockup-stat,.viking-page-mockup-stats .viking-page-mockup-stat,.mockup-stats-row .mockup-stat,.mockup-stats-row .viking-page-mockup-stat{background:var(--viking-charcoal-700, var(--viking-surface-alt));border:1px solid color-mix(in srgb, var(--viking-metallic-400, var(--viking-border)) 42%, transparent);border-radius:var(--viking-radius-lg);padding:var(--viking-card-padding-compact, var(--viking-space-2))}.viking-page-mockup-stats .mockup-stat span,.viking-page-mockup-stats .viking-page-mockup-stat span,.mockup-stats-row .mockup-stat span,.mockup-stats-row .viking-page-mockup-stat span{display:block;font-size:var(--viking-font-size-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--viking-text-muted);margin-bottom:var(--viking-space-0-5)}.viking-page-mockup-stats .mockup-stat strong,.viking-page-mockup-stats .viking-page-mockup-stat strong,.mockup-stats-row .mockup-stat strong,.mockup-stats-row .viking-page-mockup-stat strong{font-size:var(--viking-font-size-base);font-weight:700;color:var(--viking-text);font-variant-numeric:tabular-nums}.page-mockup-stage{position:relative;z-index:1;min-width:0;overflow:hidden}.viking-page-mockup--showcase{width:min(100%,36rem);margin-inline:auto;padding:var(--viking-space-3) var(--viking-space-4)}@media(min-width: 600px){.viking-page-mockup--showcase{padding:var(--viking-space-4) var(--viking-space-6)}}:root,[data-density=default]{--viking-density-name: default}[data-density=compact]{--viking-density-name: compact;--viking-control-height: 40px;--viking-control-padding-x: var(--viking-space-control-gap);--viking-page-stack-gap: var(--viking-space-container-gap);--viking-page-section-gap: var(--viking-space-section-gap);--viking-card-padding: var(--viking-space-content-gap);--viking-card-padding-compact: var(--viking-space-compact-gap);--viking-card-content-gap: var(--viking-space-compact-gap);--viking-panel-padding: var(--viking-space-container-gap);--viking-section-padding-y: var(--viking-space-section-gap)}[data-density=comfortable]{--viking-density-name: comfortable;--viking-control-height: 48px;--viking-control-padding-x: var(--viking-space-content-gap);--viking-page-stack-gap: var(--viking-space-page-gap);--viking-page-section-gap: var(--viking-space-10);--viking-card-padding: var(--viking-space-4);--viking-card-padding-compact: var(--viking-space-container-gap);--viking-card-content-gap: var(--viking-space-container-gap);--viking-panel-padding: var(--viking-space-4);--viking-section-padding-y: var(--viking-space-10)}:root{--viking-accent: var(--color-primary, var(--viking-electric-500));--viking-accent-hover: var(--viking-electric-400);--viking-accent-content: var(--color-on-primary, var(--viking-white-pure));--viking-accent-soft: color-mix( in srgb, var(--viking-accent) 18%, transparent );--viking-accent-strong: var( --color-primary-container, var(--viking-electric-300) );--viking-accent-secondary: var(--accent-color, var(--viking-crimson-600));--viking-accent-secondary-hover: var(--viking-crimson-500);--viking-accent-secondary-content: var(--viking-white-pure);--viking-accent-secondary-soft: color-mix( in srgb, var(--viking-accent-secondary) 16%, transparent );--viking-bg: var(--bg-color, var(--viking-charcoal-900));--viking-surface: var(--card-bg, var(--viking-charcoal-800));--viking-surface-alt: var( --color-surface-variant, var(--viking-charcoal-700) );--viking-surface-inset: var(--viking-charcoal-850);--viking-surface-raised: var(--viking-charcoal-600);--viking-overlay-backdrop: color-mix( in srgb, var(--viking-charcoal-950) 72%, transparent );--viking-text: var(--text-color, var(--viking-white));--viking-text-muted: var(--text-muted, var(--viking-metallic-200));--viking-text-subtle: var(--viking-metallic-300);--viking-text-inverted: var(--color-on-primary, var(--viking-charcoal-900));--viking-border: var( --border, color-mix(in srgb, var(--viking-metallic-600) 48%, transparent) );--viking-border-strong: var( --border-layout, color-mix(in srgb, var(--viking-metallic-400) 68%, transparent) );--viking-border-subtle: color-mix( in srgb, var(--viking-metallic-600) 28%, transparent );--viking-ring: var(--focus-ring-color, var(--viking-electric-400));--viking-ring-width: var(--focus-ring-width, 2px);--viking-ring-offset: var(--focus-ring-offset, 2px);--viking-success: var(--color-success, var(--viking-green-500));--viking-warning: var(--color-warning, var(--viking-gold-500));--viking-danger: var(--color-error, var(--viking-crimson-500));--viking-info: var(--color-info, var(--viking-blue-500));--viking-danger-text: color-mix( in srgb, var(--viking-danger) 50%, var(--viking-charcoal-900) );--viking-on-danger: var(--viking-white-pure);--viking-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--viking-shadow-sm: var( --shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.26), 0 4px 12px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.035) );--viking-shadow-md: var( --shadow-md, 0 2px 4px rgba(0, 0, 0, 0.24), 0 10px 24px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.04) );--viking-shadow-lg: var( --shadow-lg, 0 4px 8px rgba(0, 0, 0, 0.26), 0 20px 40px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.045) );--viking-shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.22), inset 0 -1px 0 rgba(255, 255, 255, 0.02);--viking-container-max-width: var(--container-max-width, 1260px);--viking-sidebar-width: 256px;--viking-transition: var( --transition-smooth, all 0.25s cubic-bezier(0.4, 0, 0.2, 1) )}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-control-height-xs: 24px}}.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-0-5) 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-surface-raised);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius);box-shadow:var(--viking-shadow-lg);pointer-events:none;animation:viking-tooltip-in var(--viking-duration-fast) var(--viking-ease-out)}html[data-theme=light] .viking-tooltip{color:var(--viking-white-pure);background:var(--viking-surface-raised);border-color:var(--viking-border-strong)}@media(prefers-color-scheme: light){html:not([data-theme=dark]) .viking-tooltip{color:var(--viking-white-pure);background:var(--viking-surface-raised);border-color:var(--viking-border-strong)}}.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-0-5);border:1px solid color-mix(in srgb, var(--viking-text-inverted) 35%, transparent);border-radius:var(--viking-radius-xs);line-height:1.4;white-space:nowrap}.viking-tooltip-host{-webkit-tap-highlight-color:rgba(0,0,0,0)}@media(prefers-reduced-motion: reduce){.viking-tooltip{animation:none}}.viking-heading{margin:0 0 var(--viking-space-3) 0;font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);line-height:var(--viking-line-height-tight);color:var(--viking-text)}.viking-heading-xl{font-size:var(--viking-font-size-xl);margin-bottom:var(--viking-space-4)}.viking-heading-lg{font-size:var(--viking-font-size-lg);margin-bottom:var(--viking-space-3)}.viking-heading-sm{font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-semibold);margin-bottom:var(--viking-space-2)}.viking-heading.viking-font-display,.viking-heading-xl.viking-font-display,.viking-font-display.viking-heading,.viking-font-display.viking-heading-xl{font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-caps, 0.08em);text-transform:uppercase;line-height:var(--viking-line-height-none, 1)}.viking-heading-xl.viking-font-display,.viking-font-display.viking-heading-xl{font-size:clamp(var(--viking-font-size-2xl, 30px),4.5vw,var(--viking-font-size-4xl, 48px))}.viking-text{margin:0 0 var(--viking-space-2) 0;line-height:var(--viking-line-height-relaxed);color:var(--viking-text)}.viking-text-muted{margin:0 0 var(--viking-space-2) 0;line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted);max-width:var(--viking-content-readable-max-width, 48rem)}.viking-label{display:block;font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted);margin-bottom:var(--viking-space-0-5)}.viking-metric{display:block;font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold);font-variant-numeric:tabular-nums;color:var(--viking-text);margin-bottom:var(--viking-space-1)}.viking-badge{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);min-height:var(--viking-badge-height);padding:0 var(--viking-space-1);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);border-radius:var(--viking-radius-pill);border:var(--viking-border-width) var(--viking-border-style) var(--viking-component-border);background:var(--viking-component-bg-subtle);color:var(--viking-text);white-space:nowrap}.viking-badge-accent{background:var(--viking-accent-soft);border-color:color-mix(in srgb, var(--viking-accent) 32%, transparent);color:var(--viking-accent-strong)}.viking-badge-success{background:color-mix(in srgb, var(--viking-success) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-success) 40%, transparent);color:var(--viking-success)}.viking-badge-warning{background:color-mix(in srgb, var(--viking-warning) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-warning) 40%, transparent);color:var(--viking-warning)}.viking-badge-danger{background:color-mix(in srgb, var(--viking-danger) 18%, var(--viking-surface));border-color:color-mix(in srgb, var(--viking-danger) 40%, transparent);color:var(--viking-danger)}.viking-badge-subtle{background:var(--viking-surface-alt);color:var(--viking-text-muted);font-size:var(--viking-font-size-2xs)}.viking-callout-static{padding:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-border);background:var(--viking-surface-alt)}.viking-callout-static strong{display:block;margin-bottom:var(--viking-space-0-5)}.viking-callout-static p{margin:0;font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.viking-callout-info{border-color:color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface))}.viking-callout-warning{border-color:color-mix(in srgb, var(--viking-warning) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-warning) 8%, var(--viking-surface))}.viking-callout-success{border-color:color-mix(in srgb, var(--viking-success) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-success) 8%, var(--viking-surface))}.viking-callout-danger{border-color:color-mix(in srgb, var(--viking-danger) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-danger) 8%, var(--viking-surface))}.viking-progress{width:100%;height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);overflow:hidden}.viking-progress-bar{height:100%;width:var(--viking-progress-value, 0%);background:var(--viking-accent);border-radius:inherit;transition:width var(--viking-duration) var(--viking-ease-out)}.viking-progress-value-33,.viking-bar-value-33{--viking-progress-value: 33%}.viking-progress-value-72,.viking-bar-value-72{--viking-progress-value: 72%}.viking-progress-value-94,.viking-bar-value-94{--viking-progress-value: 94%}.viking-progress-indeterminate .viking-progress-bar{width:40%;animation:viking-progress-slide 1.2s ease-in-out infinite}@keyframes viking-progress-slide{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}.viking-skeleton-row{display:flex;align-items:center;gap:var(--viking-space-2)}.viking-skeleton-lines{flex:1;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-skeleton{background:linear-gradient(90deg, var(--viking-surface-alt) 25%, var(--viking-surface-raised) 50%, var(--viking-surface-alt) 75%);background-size:200% 100%;animation:viking-shimmer 1.5s ease-in-out infinite;border-radius:var(--viking-radius-sm)}.viking-skeleton-circle{width:3rem;height:3rem;border-radius:50%;flex-shrink:0}.viking-skeleton-line{height:.75rem}.viking-skeleton-line-short{width:60%}@keyframes viking-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.viking-field-label{display:block;font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);color:var(--viking-text);letter-spacing:var(--viking-letter-spacing-wide);line-height:var(--viking-line-height-tight);margin:0 0 var(--viking-space-1)}.viking-field,.viking-field-static{display:flex;flex-direction:column;gap:var(--viking-space-2)}.viking-checkbox-label{display:inline-flex;align-items:center;gap:var(--viking-space-1);cursor:pointer;font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-checkbox-label input{width:1.125rem;height:1.125rem;accent-color:var(--viking-accent)}.viking-select-native{width:100%;min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-family:inherit;font-size:var(--viking-font-size-sm)}.viking-select-native:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}.viking-table-wrap{overflow-x:auto;width:100%;background:var(--viking-component-bg);border:var(--viking-border-width) var(--viking-border-style) var(--viking-component-border);border-radius:var(--viking-component-surface-radius);box-shadow:var(--viking-component-shadow)}.viking-table{width:100%;min-width:40rem;border-collapse:collapse;font-size:var(--viking-font-size-sm)}.viking-table th,.viking-table td{padding:var(--viking-table-cell-padding-y) var(--viking-table-cell-padding-x);text-align:left;vertical-align:middle;border-bottom:1px solid var(--viking-border)}.viking-table th{color:var(--viking-text-muted);font-weight:var(--viking-font-weight-semibold);font-size:var(--viking-font-size-xs);letter-spacing:var(--viking-letter-spacing-wide);background:var(--viking-component-bg-subtle)}.viking-table tbody tr:hover td{background:color-mix(in srgb, var(--viking-accent) 6%, var(--viking-component-bg))}.viking-tabs{display:inline-flex;gap:var(--viking-space-0-5);padding:var(--viking-space-0-5);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-tab{padding:var(--viking-space-1) var(--viking-space-2);border:none;border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);cursor:pointer;min-height:var(--viking-touch-target-min, 44px)}.viking-tab-active{background:var(--viking-surface);color:var(--viking-text);box-shadow:var(--viking-shadow-xs)}.viking-tab:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}.viking-page-header-static{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-4);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-md)}.viking-kbd-static{display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem;min-width:1.75rem;font-family:inherit;font-size:calc(var(--viking-font-size)*.75);line-height:1;padding:.25rem .45rem;border-radius:calc(var(--viking-radius)/2);border:1px solid var(--viking-border);background:var(--viking-surface-alt);box-sizing:border-box;vertical-align:middle}.viking-divider-labeled{display:flex;align-items:center;gap:var(--viking-space-2);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs)}.viking-divider-labeled::before,.viking-divider-labeled::after{content:"";flex:1;height:1px;background:var(--viking-border)}.viking-demo-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.viking-demo-row>*{align-self:center}.viking-demo-row-stack{flex-direction:column;align-items:stretch}.viking-breadcrumbs-static{display:flex;align-items:center;font-size:var(--viking-font-size-sm);line-height:1}.viking-breadcrumbs-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);margin:0;padding:0;list-style:none;min-height:var(--viking-control-height-sm, 36px)}.viking-breadcrumbs-list li{display:inline-flex;align-items:center;gap:var(--viking-space-1);min-height:1.5rem;line-height:1}.viking-breadcrumbs-list li:not(:last-child)::after{content:"/";display:inline-flex;align-items:center;justify-content:center;height:1em;color:var(--viking-text-muted);line-height:1;flex-shrink:0}.viking-breadcrumbs-list a{display:inline-flex;align-items:center;color:var(--viking-accent);text-decoration:none;line-height:1}.viking-breadcrumbs-list a:hover{text-decoration:underline}.viking-select-demo{position:relative;display:flex;flex-direction:column;gap:var(--viking-space-0-5);width:100%;max-width:16rem}.viking-select-trigger-static{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-1);width:100%;min-height:var(--viking-control-height, 46px);padding:0 var(--viking-space-2);font-family:inherit;font-size:var(--viking-font-size);color:var(--viking-text);text-align:left;background:var(--viking-surface);border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius);box-shadow:var(--viking-shadow-sm);cursor:default;box-sizing:border-box}.viking-select-panel-static{margin:0;padding:var(--viking-space-0-5);list-style:none;border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-select-panel-bg, var(--viking-surface-raised, var(--viking-surface)));box-shadow:var(--viking-shadow-md)}.viking-select-panel-static li{display:flex;align-items:center;min-height:var(--viking-control-height-sm, 36px);padding:0 var(--viking-space-2);border-radius:var(--viking-radius-sm);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);line-height:1.2}.viking-select-panel-static li[aria-selected=true],.viking-select-panel-static li.is-selected{color:var(--viking-text);background:var(--viking-accent-soft);font-weight:var(--viking-font-weight-semibold, 600)}.viking-pagination-static{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.viking-switch-static{display:inline-flex;align-items:center;gap:var(--viking-space-1);cursor:pointer;font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-switch-static input{width:2.5rem;height:1.375rem;accent-color:var(--viking-accent)}.viking-kanban-demo{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.viking-kanban-col{flex:1;min-width:10rem;padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-kanban-card{padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:var(--viking-surface-alt);font-size:var(--viking-font-size-sm)}.viking-uptime-demo{display:flex;flex-direction:column;gap:var(--viking-space-2);width:100%;min-width:0}.viking-uptime-segments{display:flex;gap:calc(var(--viking-space-0-5)/2);width:100%;min-width:0;height:var(--viking-space-3);padding:var(--viking-space-0-5);border-radius:var(--viking-radius-full);background:var(--viking-surface-inset);box-sizing:border-box}.viking-uptime-seg{flex:1 1 0;min-width:3px;border-radius:var(--viking-radius-pill)}.viking-uptime-up{background:var(--viking-success)}.viking-uptime-degraded{background:var(--viking-warning)}.viking-uptime-down{background:var(--viking-danger)}.viking-sheet-demo{max-width:20rem;padding:var(--viking-space-2)}.viking-wizard-demo{max-width:24rem;padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2)}@media(prefers-reduced-motion: reduce){.viking-skeleton,.viking-progress-indeterminate .viking-progress-bar{animation:none}}.viking-hud-panel{display:flex;flex-direction:column;gap:var(--viking-space-4);padding:var(--viking-space-5);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xl);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-sm)}.viking-avatar-static{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--viking-border);background:var(--viking-surface-alt);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-bold);color:var(--viking-text)}.viking-avatar-accent{background:var(--viking-accent-soft);border-color:var(--viking-accent);color:var(--viking-accent)}.viking-empty-state-static{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-4);text-align:center;border:1px dashed var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));max-width:24rem}.viking-spinner-static{display:inline-block;box-sizing:border-box;width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem;flex:0 0 1.25rem;aspect-ratio:1/1;border:2px solid var(--viking-border);border-top-color:var(--viking-accent);border-radius:50%;transform-origin:50% 50%;animation:viking-spinner-spin .8s linear infinite;vertical-align:middle}@keyframes viking-spinner-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.viking-loading-overlay-demo{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-3);max-width:20rem}.viking-separator-static{border:0;border-top:1px solid var(--viking-border);margin:var(--viking-space-1) 0}.viking-icon-badge-static{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--viking-icon-badge-size, var(--viking-space-6));height:var(--viking-icon-badge-size, var(--viking-space-6));padding:var(--viking-icon-badge-padding, var(--viking-space-0-5));box-sizing:border-box;border-radius:var(--viking-radius-lg);border:none;background:var(--viking-accent-soft);color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-sm);font-size:var(--viking-font-size-sm);line-height:1;align-self:center}.viking-card-header{display:flex;align-items:center;gap:var(--viking-space-2);min-width:0}.viking-card-header>.viking-icon-badge-static,.viking-card-header>.viking-heading,.viking-card-header>.viking-heading-xl,.viking-card-header>strong.viking-heading{margin:0;align-self:center}.viking-card-header>.viking-heading,.viking-card-header>.viking-heading-xl,.viking-card-header>strong.viking-heading{line-height:1.2;flex:1 1 auto;min-width:0}.viking-textarea-static{width:100%;min-height:5rem;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface);color:var(--viking-text);font-family:inherit;font-size:var(--viking-font-size-sm);resize:vertical}.viking-textarea-static:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-radio-static{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-radio-static label{display:inline-flex;align-items:center;gap:var(--viking-space-1);font-size:var(--viking-font-size-sm);min-height:var(--viking-touch-target-min, 44px)}.viking-slider-static{width:100%;accent-color:var(--viking-accent)}.viking-otp-static{display:flex;justify-content:center;width:100%}.viking-otp-input-static{width:min(100%,var(--viking-content-readable-max-width));min-width:0;min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);box-sizing:border-box;text-align:center;border:1px solid var(--viking-border-strong);border-radius:var(--viking-radius-md);background:var(--viking-surface-recipe-muted);color:var(--viking-text);font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);font-variant-numeric:tabular-nums;box-shadow:var(--viking-shadow-xs)}.viking-file-upload-static{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);text-align:center}.viking-pillbox-static{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-gauge-demo,.viking-ring-gauge-demo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--viking-space-1)}.viking-gauge-demo svg{display:block;overflow:visible}.viking-gauge-demo .viking-metric{font-variant-numeric:tabular-nums;font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-tight)}.viking-chart-empty-static{text-align:center}.viking-status-metric-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-2);width:100%;min-width:0;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt);box-sizing:border-box}.viking-bar-static{display:flex;flex-direction:column;gap:var(--viking-space-0-5);max-width:16rem}.viking-bar-track{width:100%;height:var(--viking-space-1);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);overflow:hidden}.viking-bar-fill{height:100%;width:var(--viking-progress-value, 0%);background:var(--viking-accent);border-radius:inherit}.viking-nav-menu-static,.viking-sidebar-nav-static{display:flex;flex-direction:column;gap:var(--viking-space-0-5);max-width:14rem}.viking-nav-item-static,.viking-sidebar-nav-item{display:block;padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-sm);color:var(--viking-text-muted);text-decoration:none;font-size:var(--viking-font-size-sm)}.viking-nav-item-static.is-active,.viking-sidebar-nav-item.is-active{background:var(--viking-accent-soft);color:var(--viking-accent);font-weight:var(--viking-font-weight-semibold)}.viking-menubar-static{display:inline-flex;flex-wrap:wrap;width:fit-content;max-width:100%;gap:var(--viking-space-0-5);padding:var(--viking-space-0-5);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-command-static{display:flex;flex-direction:column;gap:var(--viking-space-1)}.viking-accordion-static{padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-accordion-static summary{cursor:pointer;list-style:none}.viking-accordion-static summary::-webkit-details-marker{display:none}.viking-timeline-static{margin:0;padding:0 0 0 var(--viking-space-3);border-left:2px solid var(--viking-border);list-style:none;display:flex;flex-direction:column;gap:var(--viking-space-2)}.viking-carousel-static{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--viking-space-2);width:min(100%,28rem);margin-inline:auto;text-align:center}.viking-carousel-static>*{margin-block:0}.viking-carousel-static .viking-demo-row{justify-content:center}.viking-toggle-group-static{display:inline-flex;gap:var(--viking-space-0-5);padding:var(--viking-space-0-5);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-fab-static{position:absolute;right:var(--viking-space-2);bottom:var(--viking-space-2);display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid var(--viking-border-strong);border-radius:50%;background:var(--viking-accent);color:var(--viking-accent-content);font-size:var(--viking-font-size-xl);cursor:pointer;box-shadow:var(--viking-shadow-md)}.viking-scroll-area-static{max-height:8rem;overflow-y:auto;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.viking-button-group-static{display:inline-flex;flex-wrap:wrap;gap:var(--viking-space-0-5)}.viking-icon-color-accent{color:var(--viking-accent)}.viking-icon-color-muted{color:var(--viking-text-muted)}.viking-whitepaper-cta-static{display:flex;flex-direction:column;gap:var(--viking-space-2);max-width:24rem}.viking-search-result-static{display:flex;align-items:center;gap:var(--viking-space-0-5);width:100%;padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);cursor:default;text-decoration:none;text-align:left;color:inherit;transition:var(--viking-transition-interactive)}.viking-search-result-static:hover{background:color-mix(in srgb, var(--viking-accent) 5%, transparent);border-color:color-mix(in srgb, var(--viking-accent) 30%, transparent)}.viking-search-result-title{font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);color:var(--viking-text)}.viking-search-result-snippet{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}@media(prefers-reduced-motion: reduce){.viking-spinner-static{animation:none}}.viking-input,.viking-input-shell{display:flex;align-items:center;gap:var(--viking-space-control-gap);min-height:var(--viking-control-height);padding:0 var(--viking-control-padding-x);font-family:var(--viking-font-family);font-size:var(--viking-font-size);color:var(--viking-text);background:var(--viking-component-bg-inset);border:var(--viking-border-width) var(--viking-border-style) var(--viking-component-border);border-radius:var(--viking-component-radius);box-shadow:none;transition:var(--viking-transition-interactive);width:100%;min-width:0;box-sizing:border-box}.viking-input:hover:not(.viking-disabled):not(.viking-loading):not(:disabled),.viking-input-shell:hover:not(.viking-disabled):not(.viking-loading):not(:disabled){background:var(--viking-component-bg-subtle);border-color:var(--viking-component-border-hover)}.viking-input:focus-within:not(.viking-loading),.viking-input-shell:focus-within:not(.viking-loading){outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);border-color:var(--viking-component-border-active);box-shadow:var(--viking-focus-shadow)}.viking-input input,.viking-input-shell input,input.viking-input-native{flex:1;min-width:0;border:none;outline:none !important;background:rgba(0,0,0,0);color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size);padding:0}.viking-input input::placeholder,.viking-input-shell input::placeholder,input.viking-input-native::placeholder{color:var(--viking-text-subtle)}.viking-input input:disabled,.viking-input-shell input:disabled,input.viking-input-native:disabled{cursor:not-allowed}.viking-input-clear{display:inline-flex;align-items:center;justify-content:center;min-width:var(--viking-touch-target-comfort);min-height:var(--viking-touch-target-comfort);border:none;background:rgba(0,0,0,0);color:var(--viking-text-muted);cursor:pointer;padding:var(--viking-space-0-5);border-radius:var(--viking-component-radius);transition:var(--viking-transition-interactive);position:relative;flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.viking-input-clear:hover{color:var(--viking-text);background:var(--viking-component-hover-bg)}.viking-input-clear:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-input-clear:active{transform:scale(var(--viking-state-active-scale))}.viking-input-kbd{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xs);padding:0 var(--viking-space-0-5);line-height:1.4}.viking-input-icon{color:var(--viking-text-muted);flex-shrink:0}.viking-input-shell.viking-disabled,.viking-input-shell.viking-loading,.viking-input.viking-disabled,.viking-input.viking-loading{opacity:var(--viking-state-disabled-opacity)}.viking-input-shell.viking-loading,.viking-input.viking-loading{cursor:wait}html{scroll-padding-top:var(--viking-navbar-height, var(--suite-nav-height, 64px));scroll-padding-bottom:var(--viking-space-4, var(--suite-space-4, 32px))}:focus-visible{scroll-margin-top:var(--viking-navbar-height, var(--suite-nav-height, 64px));scroll-margin-bottom:var(--viking-space-3, var(--suite-space-3, 24px))}.sr-only,.visually-hidden,.suite-sr-only,.viking-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:calc(-1*var(--viking-space-px, var(--suite-space-px))) !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important}.skip-link,.suite-skip-link,.viking-skip-link{position:absolute;top:var(--viking-space-2, var(--suite-space-2, 16px));left:var(--viking-space-2, var(--suite-space-2, 16px));z-index:var(--viking-z-max, var(--suite-z-max, 1500));display:inline-flex;align-items:center;min-height:var(--viking-touch-target-min, var(--suite-touch, 44px));padding:0 var(--viking-space-2, var(--suite-space-2, 16px));border:1px solid var(--viking-border-strong, var(--suite-border-strong));border-radius:var(--viking-radius, var(--suite-radius-control));background-color:var(--viking-surface-raised, var(--suite-surface-elevated));color:var(--viking-text, var(--suite-ink));text-decoration:none;font-weight:var(--viking-font-weight-semibold, 600);font-size:var(--viking-font-size-sm, var(--suite-text-sm));letter-spacing:var(--viking-letter-spacing-wide, 0.02em);box-shadow:var(--viking-shadow-md, var(--suite-shadow-md));clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link:focus,.skip-link:focus-visible,.suite-skip-link:focus,.suite-skip-link:focus-visible,.viking-skip-link:focus,.viking-skip-link:focus-visible{clip:auto;clip-path:none;width:auto;height:auto;overflow:visible;white-space:nowrap;outline:var(--viking-ring-width, var(--suite-ring-width)) solid var(--viking-ring, var(--suite-ring));outline-offset:var(--viking-ring-offset, var(--suite-ring-offset))}#main-content:focus,#main-content:focus-visible,[data-suite-main]:focus,[data-suite-main]:focus-visible,.suite-main:focus,.suite-main:focus-visible{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[role=menuitem]:focus-visible,[role=menuitemcheckbox]:focus-visible,[role=menuitemradio]:focus-visible,[role=option]:focus-visible,[role=switch]:focus-visible,[role=checkbox]:focus-visible,[role=radio]:focus-visible,[role=combobox]:focus-visible,[role=listbox]:focus-visible,[role=slider]:focus-visible,[role=spinbutton]:focus-visible,[role=separator][tabindex]:focus-visible,[role=treeitem]:focus-visible,[role=gridcell]:focus-visible,[role=link]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.viking-input-shell input:focus,.viking-input-shell input:focus-visible,.viking-textarea-shell textarea:focus,.viking-textarea-shell textarea:focus-visible{outline:none}.viking-input-shell:focus-within,.viking-textarea-shell:focus-within{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}@media(prefers-reduced-motion: reduce){*,::before,::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}@media(forced-colors: active){a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid CanvasText}}.status-badge-premium{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);min-height:var(--viking-badge-height);padding:0 var(--viking-space-1);border-radius:var(--viking-radius-pill);font-weight:var(--viking-font-weight-semibold);font-size:var(--viking-font-size-xs);line-height:var(--viking-line-height-snug);letter-spacing:var(--viking-letter-spacing-wide);text-transform:capitalize;border:1px solid rgba(0,0,0,0);white-space:nowrap;text-decoration:none}.status-badge-premium .status-dot,.status-badge-premium .status-dot-greenblue{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;flex-shrink:0;background-color:currentColor}.status-badge-premium.operational,.status-badge-premium.resolved,.status-badge-premium.success,.status-badge-premium.low,.status-badge-premium.compliant{background:color-mix(in srgb, var(--viking-green-500) 8%, transparent);color:var(--viking-green-500);border-color:color-mix(in srgb, var(--viking-green-500) 15%, transparent)}.status-badge-premium.degraded,.status-badge-premium.warning,.status-badge-premium.medium,.status-badge-premium.investigating,.status-badge-premium.identified{background:color-mix(in srgb, var(--viking-gold-500) 8%, transparent);color:var(--viking-gold-500);border-color:color-mix(in srgb, var(--viking-gold-500) 15%, transparent)}.status-badge-premium.outage,.status-badge-premium.critical,.status-badge-premium.high,.status-badge-premium.error{background:color-mix(in srgb, var(--viking-crimson-500) 8%, transparent);color:var(--viking-crimson-500);border-color:color-mix(in srgb, var(--viking-crimson-500) 15%, transparent)}.status-badge-premium.info,.status-badge-premium.neutral{background:color-mix(in srgb, var(--viking-blue-500) 10%, transparent);color:var(--viking-blue-500);border-color:color-mix(in srgb, var(--viking-blue-500) 15%, transparent)}.status-badge-premium.primary{background:color-mix(in srgb, var(--viking-electric-500) 12%, transparent);color:var(--viking-electric-400);border-color:color-mix(in srgb, var(--viking-electric-500) 20%, transparent)}html[data-theme=light] .status-badge-premium.primary{color:var(--viking-electric-600)}.status-badge-premium--compact{padding:var(--viking-space-1) var(--viking-space-2);font-size:var(--viking-font-size-sm, 14px)}.status-badge-premium.pro-verified{background:color-mix(in srgb, var(--viking-gold-500) 14%, transparent);color:var(--viking-gold-500);border-color:color-mix(in srgb, var(--viking-gold-500) 28%, transparent);text-transform:none;letter-spacing:.02em}.status-badge-premium.pro-verified mat-icon,.status-badge-premium.pro-verified .material-icons,.status-badge-premium.pro-verified viking-icon,.status-badge-premium.pro-verified viking-app-icon{font-size:var(--viking-icon-size-md, var(--base-font-size));width:var(--viking-icon-size-md, var(--base-font-size));height:var(--viking-icon-size-md, var(--base-font-size));line-height:var(--viking-icon-size-md, var(--base-font-size));flex-shrink:0}html[data-theme=light] .status-badge-premium.pro-verified{color:var(--viking-crimson-500);border-color:color-mix(in srgb, var(--viking-crimson-500) 28%, transparent);background:color-mix(in srgb, var(--viking-crimson-500) 10%, transparent)}viking-app-icon,viking-icon,deml-brand-logo,[data-viking-icon]{content-visibility:auto;contain-intrinsic-size:1.25rem 1.25rem}viking-app-icon,viking-icon,deml-brand-logo,.material-icons,.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;vertical-align:middle}[data-viking-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}[data-viking-icon] svg{display:inline-block;line-height:1}.viking-icon-inline{display:block;flex:0 0 auto;align-self:center;line-height:1;vertical-align:middle}:where(a,button,.viking-button,.viking-btn,.cta-button,.viking-icon-text,.blue-notes-kicker,.hero-stat-pill,.integration-logo-item,.blue-note-read-link):has(>.viking-icon-inline){display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1)}:where(a,button,.viking-button,.viking-btn,.cta-button,.viking-icon-text,.blue-notes-kicker,.hero-stat-pill,.integration-logo-item,.blue-note-read-link):has(>.viking-icon-inline)>:not(.viking-icon-inline){min-width:0}:where(.viking-button,.viking-btn,.cta-button,.viking-icon-text,.blue-notes-kicker,.hero-stat-pill,.integration-logo-item,.blue-note-read-link){align-items:center;gap:var(--viking-space-1)}:where(.viking-button,.viking-btn,.cta-button,.viking-icon-text,.blue-notes-kicker,.hero-stat-pill,.integration-logo-item,.blue-note-read-link)>.viking-icon-inline{display:inline-flex;align-items:center;justify-content:center;align-self:center;vertical-align:middle}.nav-btn viking-app-icon,.nav-btn viking-icon,.nav-btn .material-icons,.mobile-nav-btn viking-app-icon,.mobile-nav-btn viking-icon,.mobile-nav-btn .material-icons,.auth-btn viking-app-icon,.auth-btn viking-icon,.auth-btn .material-icons,.mobile-auth-btn viking-app-icon,.mobile-auth-btn viking-icon,.mobile-auth-btn .material-icons,.back-link viking-app-icon,.back-link viking-icon,.back-link .material-icons,.viking-btn viking-app-icon,.viking-btn viking-icon,.viking-btn .material-icons,.sidebar-brand viking-app-icon,.sidebar-brand viking-icon,.sidebar-brand .material-icons,.gauge-card-footer viking-app-icon,.gauge-card-footer viking-icon,.gauge-card-footer .material-icons,.gauge-card-header viking-app-icon,.gauge-card-header viking-icon,.gauge-card-header .material-icons,.section-title-premium viking-app-icon,.section-title-premium viking-icon,.section-title-premium .material-icons,.panel-title-flex viking-app-icon,.panel-title-flex viking-icon,.panel-title-flex .material-icons,.status-badge-premium viking-app-icon,.status-badge-premium viking-icon,.status-badge-premium .material-icons,.feature-item viking-app-icon,.feature-item viking-icon,.feature-item .material-icons{align-self:center}.nav-btn viking-app-icon,.nav-btn viking-icon,.mobile-nav-btn viking-app-icon,.nav-btn [data-viking-icon],.mobile-nav-btn [data-viking-icon],.auth-btn viking-app-icon,.mobile-auth-btn viking-app-icon{width:var(--viking-icon-size-md, var(--base-font-size));height:var(--viking-icon-size-md, var(--base-font-size));align-self:center}.nav-btn [data-viking-icon] svg,.mobile-nav-btn [data-viking-icon] svg,.auth-btn [data-viking-icon] svg,.mobile-auth-btn [data-viking-icon] svg{width:var(--viking-icon-size-md, var(--base-font-size));height:var(--viking-icon-size-md, var(--base-font-size))}.theme-toggle-btn viking-app-icon,.theme-toggle-btn viking-icon,.menu-toggle-btn viking-app-icon,.menu-toggle-btn viking-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:0}.section-title-premium viking-app-icon{color:var(--status-accent, var(--viking-accent));width:22px;height:22px}.navbar-brand .material-icons.navbar-logo,.navbar-brand deml-brand-logo .material-icons{font-size:var(--viking-font-size-2xl);width:36px;height:36px;line-height:36px;overflow:visible}.sidebar-brand .material-icons.brand-icon,.sidebar-brand deml-brand-logo .material-icons{font-size:var(--viking-font-size-xl);width:24px;height:24px;line-height:24px}@property --viking-whitepaper-trace-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.viking-whitepaper-cta{position:relative;isolation:isolate;width:min(100%,var(--viking-content-readable-max-width));margin:0 auto;padding:var(--viking-space-4) var(--viking-space-3);border-radius:var(--viking-radius-xl);overflow:hidden;border:var(--viking-space-px) solid color-mix(in srgb, var(--viking-accent) 44%, var(--viking-border-strong));background:var(--viking-surface-recipe-elevated);text-align:center;box-shadow:var(--viking-shadow-md);transition:var(--viking-transition-interactive)}.viking-whitepaper-cta::after{content:"";position:absolute;inset:0;z-index:2;padding:var(--viking-space-px);border-radius:inherit;background:conic-gradient(from var(--viking-whitepaper-trace-angle), transparent 0 76%, color-mix(in srgb, var(--viking-accent) 42%, transparent) 84%, var(--viking-accent) 92%, transparent 100%);-webkit-mask:linear-gradient(var(--viking-black) 0 0) content-box,linear-gradient(var(--viking-black) 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:vikingWhitepaperBorderTrace calc(var(--viking-duration-slow)*18) linear infinite}.viking-whitepaper-cta:hover,.viking-whitepaper-cta:focus-within{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-lg);transform:translateY(var(--viking-state-hover-lift))}@media(min-width: 768px){.viking-whitepaper-cta{padding:var(--viking-space-5) var(--viking-space-4)}}.viking-whitepaper-cta-bg{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.58}.viking-whitepaper-polars-grid{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;gap:var(--viking-space-0-5);padding:0 var(--viking-space-3);mask-image:linear-gradient(to top, black 30%, transparent 85%)}.viking-bar,.viking-whitepaper-polars-bar{display:block;flex:1;max-width:28px;height:calc(var(--viking-bar-height, 50)*1%);background:var(--viking-accent);border-radius:var(--viking-radius-xs) var(--viking-radius-xs) 0 0;opacity:.75}.viking-whitepaper-polars-bar{animation:vikingWhitepaperBarPulse 4s var(--viking-ease-default) infinite}.viking-whitepaper-polars-bar:nth-child(1){animation-delay:0.12s}.viking-whitepaper-polars-bar:nth-child(2){animation-delay:0.24s}.viking-whitepaper-polars-bar:nth-child(3){animation-delay:0.36s}.viking-whitepaper-polars-bar:nth-child(4){animation-delay:0.48s}.viking-whitepaper-polars-bar:nth-child(5){animation-delay:0.6s}.viking-whitepaper-polars-bar:nth-child(6){animation-delay:0.72s}.viking-whitepaper-polars-bar:nth-child(7){animation-delay:0.84s}.viking-whitepaper-polars-bar:nth-child(8){animation-delay:0.96s}.viking-whitepaper-polars-bar:nth-child(9){animation-delay:1.08s}.viking-whitepaper-polars-bar:nth-child(10){animation-delay:1.2s}.viking-whitepaper-polars-bar:nth-child(11){animation-delay:1.32s}.viking-whitepaper-polars-bar:nth-child(12){animation-delay:1.44s}.viking-whitepaper-polars-bar-72{--viking-bar-height: 72}.viking-whitepaper-polars-bar-45{--viking-bar-height: 45}.viking-whitepaper-polars-bar-88{--viking-bar-height: 88}.viking-whitepaper-polars-bar-56{--viking-bar-height: 56}.viking-whitepaper-polars-bar-91{--viking-bar-height: 91}.viking-whitepaper-polars-bar-38{--viking-bar-height: 38}.viking-whitepaper-polars-bar-67{--viking-bar-height: 67}.viking-whitepaper-polars-bar-82{--viking-bar-height: 82}.viking-whitepaper-polars-bar-49{--viking-bar-height: 49}.viking-whitepaper-polars-bar-76{--viking-bar-height: 76}.viking-whitepaper-polars-bar-58{--viking-bar-height: 58}.viking-whitepaper-polars-bar-94{--viking-bar-height: 94}@keyframes vikingWhitepaperBarPulse{0%,100%{opacity:.4;transform:scaleY(1)}50%{opacity:.75;transform:scaleY(1.06)}}@keyframes vikingWhitepaperBorderTrace{to{--viking-whitepaper-trace-angle: 360deg}}@media(prefers-reduced-motion: reduce){.viking-whitepaper-cta{transform:none}.viking-whitepaper-cta::after{--viking-whitepaper-trace-angle: 45deg;animation:none}.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:3;display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2)}.viking-whitepaper-tag{display:inline-flex;align-items:center;min-height:var(--viking-control-height-xs);padding:var(--viking-space-0-5) var(--viking-space-1);border:var(--viking-space-px) solid color-mix(in srgb, var(--viking-accent) 52%, var(--viking-border));border-radius:var(--viking-radius-pill);background:var(--viking-accent-soft);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:var(--viking-font-size-title-sm);font-weight:var(--viking-font-weight-bold);margin:0;text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text);line-height:var(--viking-line-height-tight)}.viking-whitepaper-description{color:var(--viking-text-muted);margin:0;max-width:30rem;line-height:var(--viking-line-height-relaxed);font-size:var(--viking-font-size)}.viking-whitepaper-btn{margin-top:var(--viking-space-1);color:var(--viking-accent-content)}.viking-whitepaper-btn:hover,.viking-whitepaper-btn:focus-visible{color:var(--viking-accent-content);border-bottom-color:rgba(0,0,0,0)}platform-widget{display:flex;justify-content:center;width:100%;margin:var(--viking-space-2) auto}:host{display:flex;justify-content:center;width:100%;margin:var(--viking-space-2) auto;min-height:var(--viking-control-height);opacity:0;transition:opacity var(--viking-duration-fast) var(--viking-ease-default)}:host(.deml-ready){opacity:1}.widget-container{display:inline-flex;align-items:center;width:fit-content;gap:var(--viking-space-1);padding:var(--viking-space-2) var(--viking-space-2);border:1px solid color-mix(in srgb, var(--viking-border-strong) 52%, transparent);border-radius:var(--viking-radius-pill);background:var(--viking-surface-recipe, var(--viking-surface));color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);box-shadow:var(--viking-shadow-md);transition:var(--viking-transition-interactive);position:relative;overflow:hidden}.widget-container::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) 42%, transparent), transparent);pointer-events:none}.widget-container:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(calc(var(--viking-state-hover-lift) * -1))}.widget-link{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);text-decoration:none;color:var(--viking-text)}.status-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background-color:var(--viking-text-muted);margin-right:var(--viking-space-1);display:inline-block}.divider{color:var(--viking-border);user-select:none}.report-trigger,.close-btn{background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:var(--viking-transition-colors)}.report-trigger{color:var(--viking-danger);padding:var(--viking-space-0-5);border-radius:var(--viking-radius-pill)}.report-trigger:hover{background-color:color-mix(in srgb, var(--viking-danger) 15%, transparent)}.report-icon{width:var(--viking-space-2);height:var(--viking-space-2)}.modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:var(--viking-overlay-backdrop, rgba(3, 8, 24, 0.78));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99999}.modal-content{background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid color-mix(in srgb, var(--viking-border-strong) 62%, transparent);border-radius:var(--viking-radius-lg);width:90%;max-width:480px;display:flex;flex-direction:column;box-shadow:var(--viking-shadow-lg);color:var(--viking-text);font-family:var(--viking-font-family);text-align:left;position:relative;overflow:hidden}.modal-content::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200) 48%, transparent), transparent);pointer-events:none}.modal-header,.modal-footer{display:flex;align-items:center;padding:var(--viking-space-2) var(--viking-space-3);border-color:var(--viking-border)}.modal-header{justify-content:space-between;border-bottom:1px solid color-mix(in srgb, var(--viking-border) 32%, transparent)}.modal-header h3{margin:0;font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide);display:flex;align-items:center;gap:var(--viking-space-1)}.modal-title-icon{color:var(--viking-danger)}.close-btn{color:var(--viking-text-muted);font-size:var(--viking-font-size-xl);line-height:1}.close-btn:hover{color:var(--viking-text)}.modal-body{padding:var(--viking-space-3);display:flex;flex-direction:column;gap:var(--viking-space-2)}.helper-text{font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);margin:0;line-height:var(--viking-line-height-normal)}.form-field{display:flex;flex-direction:column;gap:var(--viking-space-1)}.form-field label{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)}.form-field input,.form-field textarea,.form-field select{padding:var(--viking-space-2) var(--viking-space-2);border:1px solid color-mix(in srgb, var(--viking-border-strong) 48%, transparent);border-radius:var(--viking-radius-md);font-size:var(--viking-font-size);outline:none;background-color:color-mix(in srgb, var(--viking-surface-alt) 82%, var(--viking-surface));color:var(--viking-text);font-family:inherit;transition:var(--viking-transition-interactive)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--viking-accent);box-shadow:0 0 0 var(--viking-ring-width) color-mix(in srgb, var(--viking-accent) 25%, transparent)}.form-row{display:flex;gap:var(--viking-space-1)}.form-row .form-field{flex:1}.modal-footer{justify-content:flex-end;gap:var(--viking-space-2);border-top:1px solid color-mix(in srgb, var(--viking-border) 32%, transparent);background:var(--viking-surface-recipe-muted, var(--viking-surface-alt));border-bottom-left-radius:var(--viking-radius-lg);border-bottom-right-radius:var(--viking-radius-lg)}.btn{padding:var(--viking-space-2) var(--viking-space-2);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);border-radius:var(--viking-radius-pill);cursor:pointer;border:1px solid rgba(0,0,0,0);font-family:inherit;transition:var(--viking-transition-interactive);min-width:100px}.btn-cancel{background-color:rgba(0,0,0,0);border-color:color-mix(in srgb, var(--viking-border) 48%, transparent);color:var(--viking-text-muted)}.btn-cancel:hover{background:color-mix(in srgb, var(--viking-white-pure) 6%, transparent);color:var(--viking-text);border-color:var(--viking-border)}.btn-submit{background:var(--viking-accent);color:var(--viking-accent-content);box-shadow:var(--viking-shadow-xs)}.btn-submit:hover:not(:disabled){background:var(--viking-accent-hover);box-shadow:var(--viking-shadow-sm)}.btn-submit:disabled{opacity:var(--viking-state-disabled-opacity);cursor:not-allowed}.status-msg,.security-banner{padding:var(--viking-space-2);border-radius:var(--viking-radius);font-size:var(--viking-font-size)}.status-msg{font-weight:var(--viking-font-weight-medium);margin-top:var(--viking-space-2)}.status-msg.success{background-color:color-mix(in srgb, var(--viking-success) 15%, transparent);border:1px solid color-mix(in srgb, var(--viking-success) 30%, transparent);color:var(--viking-success)}.status-msg.error{background-color:color-mix(in srgb, var(--viking-danger) 15%, transparent);border:1px solid color-mix(in srgb, var(--viking-danger) 30%, transparent);color:var(--viking-danger)}.status-msg.warning,.security-banner{background-color:color-mix(in srgb, var(--viking-warning) 12%, transparent);border:1px solid color-mix(in srgb, var(--viking-warning) 35%, transparent);color:var(--viking-warning)}.is-hidden{display:none !important}.honeypot-field{position:absolute !important;left:-9999px !important;top:-9999px !important;opacity:0 !important;pointer-events:none !important}.security-banner{display:flex;gap:var(--viking-space-1);line-height:var(--viking-line-height-normal);margin-bottom:var(--viking-space-1)}.security-banner svg{flex-shrink:0;color:var(--viking-warning)}body{font-size:var(--viking-font-size-base);color:var(--viking-text);background-color:var(--viking-bg)}h1,h2,h3,h4,h5,h6{letter-spacing:var(--viking-letter-spacing-caps)}.cta-group{display:flex;flex-direction:column;flex-wrap:nowrap;gap:var(--viking-space-2);align-items:stretch;width:100%}@media(min-width: 600px){.cta-group{flex-direction:row;flex-wrap:nowrap;align-items:center;width:auto;align-self:flex-start}}a.cta-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;width:100%;flex:1 1 auto;min-width:0;box-sizing:border-box}@media(min-width: 600px){a.cta-button{width:auto;flex:0 0 auto}}a.cta-button .cta-content{display:inline-flex;align-items:center;gap:var(--viking-space-1);line-height:var(--viking-line-height-none)}a.cta-button .cta-icon,a.cta-button svg.cta-icon{flex:0 0 auto;width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);line-height:var(--viking-line-height-none);margin:0;padding:0;overflow:visible;vertical-align:middle}a.cta-button .cta-label{white-space:normal;line-height:var(--viking-line-height-snug)}@media(min-width: 600px){a.cta-button .cta-label{white-space:nowrap}}pre[class*=language-]{background-color:var(--viking-charcoal-900) !important;border:1px solid var(--viking-border);border-radius:var(--viking-radius-md);padding:var(--viking-space-3);margin:var(--viking-space-4) 0;box-shadow:none;tab-size:4}code[class*=language-]{font-size:var(--viking-font-size-base);line-height:1.65;color:var(--viking-white) !important}*,::before,::after{box-sizing:border-box}pre,pre code{white-space:pre-wrap !important;word-wrap:break-word !important;overflow-wrap:anywhere !important;word-break:normal !important;max-width:100%}pre code{display:block;padding:0 !important;border:0 !important;border-radius:0 !important;background:rgba(0,0,0,0) !important;color:inherit !important;box-shadow:none !important;text-shadow:none !important}html,body{height:100%;margin:0;padding:0;overflow-x:hidden;max-width:100vw}body{background-color:var(--viking-bg);color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size-base, 16px);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s}html[data-theme=light] body{background-color:var(--viking-bg)}p{margin-bottom:var(--viking-space-3)}h1,h2,h3,h4,h5,h6{line-height:1.25;margin-top:var(--viking-space-4);margin-bottom:var(--viking-space-2);font-weight:600;letter-spacing:var(--viking-letter-spacing-caps)}h1{font-size:var(--viking-font-size-title-lg)}h2{font-size:var(--viking-font-size-title)}h3{font-size:var(--viking-font-size-xl);letter-spacing:.05em;text-transform:uppercase}ul,ol{margin-bottom:var(--viking-space-3);padding-left:var(--viking-space-3)}li{margin-bottom:var(--viking-space-1)}a:not(.viking-button):not(.viking-btn):not(.cta-button):not(.nav-item):not(.nav-btn):not(.auth-btn):not(.mobile-auth-btn):not(.mobile-nav-btn):not(.integration-link):not(.integration-logo-item){color:var(--viking-accent);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(0,0,0,0);box-shadow:none !important;text-shadow:none !important;transition:border-bottom-color .2s ease,color .2s ease}a:not(.viking-button):not(.viking-btn):not(.cta-button):not(.nav-item):not(.nav-btn):not(.auth-btn):not(.mobile-auth-btn):not(.mobile-nav-btn):not(.integration-link):not(.integration-logo-item):hover,a:not(.viking-button):not(.viking-btn):not(.cta-button):not(.nav-item):not(.nav-btn):not(.auth-btn):not(.mobile-auth-btn):not(.mobile-nav-btn):not(.integration-link):not(.integration-logo-item):focus-visible{color:var(--viking-accent-strong);text-decoration:none;border-bottom-color:var(--viking-accent-strong)}:not(pre)>code{background:var(--viking-charcoal-950);padding:.12em .42em;border-radius:var(--viking-radius-sm, 6px);font-size:var(--viking-font-size-sm);line-height:inherit;color:var(--viking-white-pure);border:1px solid color-mix(in srgb, var(--viking-electric-400) 34%, var(--viking-border));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 8%, transparent);white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:baseline}app-page{display:block;margin-top:var(--viking-space-3)}main.main{padding:var(--viking-space-2)}@media(min-width: 600px){main.main{padding:var(--viking-space-8) var(--viking-space-3)}}@media(min-width: 768px){main.main{padding:var(--viking-space-9) var(--viking-space-4)}}.page-content{position:relative;z-index:10;width:100%;max-width:none;padding:var(--viking-space-3, var(--viking-space-3));margin:0;box-sizing:border-box;background-color:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius-xl, 16px);box-shadow:var(--viking-shadow-sm, var(--shadow-sm))}.dashboard-content-area{display:grid;grid-template-columns:1fr;flex:1;padding:var(--viking-space-5) 0 var(--viking-space-8);position:relative;z-index:1;box-sizing:border-box}@media(min-width: 768px){.dashboard-content-area{padding-top:var(--viking-space-8);padding-bottom:var(--viking-space-10)}}.content-wrapper{max-width:var(--viking-container-max-width, 1260px);margin:0 auto;width:100%;display:grid;grid-template-columns:1fr;gap:var(--viking-grid-gap, var(--viking-space-5))}.content-wrapper.full-width{max-width:100%}.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);background:var(--viking-surface);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);position:relative;overflow:hidden;box-shadow:var(--viking-shadow-sm);margin-top:var(--viking-space-4)}@media(min-width: 600px){.status-error-state{padding:var(--viking-space-8-5) var(--viking-space-4)}}.status-error-state .error-state-icon{font-size:var(--viking-font-size-6xl);width:72px;height:72px;color:var(--viking-text-muted);margin-bottom:var(--viking-space-3);opacity:.6}.status-error-state .error-title{margin:0 0 var(--viking-space-1);font-size:var(--viking-font-size-xl);font-weight:700;color:var(--viking-text);letter-spacing:-0.01em}.status-error-state .error-subtitle{margin:0 0 var(--viking-space-4);font-size:var(--viking-font-size-base);line-height:1.6;color:var(--viking-text-muted);max-width:416px}.status-error-state .retry-btn{font-weight:700 !important;padding:var(--viking-space-1) var(--viking-space-3) !important;border-radius:var(--viking-radius-sm) !important;box-shadow:var(--viking-shadow-sm) !important;transition:all .2s ease !important}.status-error-state .retry-btn:hover{transform:translateY(-2px);box-shadow:var(--viking-shadow-md) !important;opacity:.95}.btn-spinner{display:inline-block;width:16px;height:16px;aspect-ratio:1;border:2px solid color-mix(in srgb, var(--viking-white) 30%, transparent);border-radius:var(--viking-radius-pill);border-top-color:currentColor;animation:spin .8s linear infinite;vertical-align:middle;margin-right:var(--viking-space-1)}@keyframes spin{to{transform:rotate(360deg)}}.hud-header:not(.compliance-hero),.panel-header,.filter-bar,.telemetry-bar,.video-flat-info,.sidebar-brand,.sidebar-footer,.dashboard-sidebar,.vuln-profile-header{border-radius:0 !important}.hud-header{display:flex;justify-content:space-between;align-items:center;padding-top:var(--viking-space-1);padding-bottom:var(--viking-space-2);border-bottom:1px solid var(--viking-border-strong);margin-bottom:var(--viking-space-3);flex-wrap:wrap;gap:var(--viking-space-2)}.hud-brand{display:flex;align-items:center;gap:var(--viking-space-2)}.hud-title{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-lead);font-weight:800;letter-spacing:.1em;margin:0;color:var(--viking-text);text-transform:uppercase}.hud-subtitle{font-size:var(--viking-font-size-base);color:var(--viking-text-muted);margin:var(--viking-space-1) 0 0 0;font-family:var(--viking-font-family-mono)}.section-tag-row{display:flex;align-items:center;gap:var(--viking-space-1);margin-bottom:var(--viking-space-1)}.section-tag{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-base);font-weight:800;color:var(--viking-accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:0;display:inline-block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--viking-bg)}::-webkit-scrollbar-thumb{background:var(--viking-accent);border-radius:var(--viking-radius-pill, 999px)}::-webkit-scrollbar-thumb:hover{background:var(--viking-accent-strong)}.dashboard-page-container{display:block;width:100%;min-height:calc(100vh - var(--viking-navbar-height, 64px));background-color:var(--viking-bg);color:var(--viking-text);overflow-x:hidden}.dashboard-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr;width:100%;min-height:calc(100vh - var(--viking-navbar-height, 64px))}.dashboard-main{display:grid;grid-template-columns:1fr;min-width:0}.mobile-chapter-select{display:block;width:100%;margin-bottom:var(--viking-space-2)}.mobile-chapter-select select{width:100%;min-height:44px;padding:var(--viking-space-1) var(--viking-space-compact-gap);border-radius:var(--viking-radius-md);border:1px solid var(--viking-border);background:var(--viking-surface);color:var(--viking-text);font:inherit}.dashboard-sidebar{display:none}@media(min-width: 1024px){.dashboard-layout{grid-template-columns:auto 1fr}.dashboard-sidebar{display:block;width:280px;flex-shrink:0;border-right:1px solid var(--viking-border)}.mobile-chapter-select{display:none}}.grid-layout{display:grid;grid-template-columns:1fr;gap:var(--viking-grid-gap);width:100%}@media(min-width: 600px){.grid-layout{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 768px){.grid-layout{grid-template-columns:repeat(12, 1fr)}}.settings-stack.grid-layout{grid-template-columns:minmax(0, 1fr) !important;gap:var(--viking-space-5) !important}.settings-stack.grid-layout>*{grid-column:1/-1 !important;min-width:0}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}@media(min-width: 768px){.col-span-md-1{grid-column:span 1}.col-span-md-2{grid-column:span 2}.col-span-md-3{grid-column:span 3}.col-span-md-4{grid-column:span 4}.col-span-md-5{grid-column:span 5}.col-span-md-6{grid-column:span 6}.col-span-md-7{grid-column:span 7}.col-span-md-8{grid-column:span 8}.col-span-md-9{grid-column:span 9}.col-span-md-10{grid-column:span 10}.col-span-md-11{grid-column:span 11}.col-span-md-12{grid-column:span 12}}select,select::picker(select){appearance:base-select}select{font-family:var(--viking-font-family);background-color:var(--viking-card-bg);color:var(--viking-text);border:1px solid var(--viking-text-muted);border-radius:var(--viking-radius-md, 8px);padding:var(--viking-space-2) var(--viking-space-2);font-size:var(--viking-font-size-base);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-2)}select:hover{border-color:var(--viking-accent)}select::picker(select){font-family:var(--viking-font-family);background-color:var(--viking-card-bg);color:var(--viking-text);border:1px solid var(--viking-text-muted);border-radius:var(--viking-radius-md, 8px);padding:var(--viking-space-1);box-shadow:var(--viking-shadow-md);box-sizing:border-box;margin:0;width:anchor-size(width)}select::picker-icon{color:var(--viking-text);margin-left:var(--viking-space-2);margin-right:var(--viking-space-0)}select option::checkmark{color:var(--viking-accent)}select option{padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-sm, 4px);color:var(--viking-text);cursor:pointer;transition:background-color .2s ease}select option:hover,select option:focus{background-color:var(--viking-surface-alt);color:var(--viking-white)}select option:checked{background-color:var(--viking-accent-soft);color:var(--viking-text);font-weight:600}.dashboard-wrapper{display:flex;flex-direction:column;width:100%;min-height:calc(100vh - var(--viking-navbar-height, 64px));position:relative}@media(min-width: 1024px){.dashboard-wrapper{flex-direction:row}}.dashboard-content{flex:1;display:flex;flex-direction:column;min-width:0;width:100%;min-height:0}.dashboard-content .dashboard-page-container{position:relative;width:100%;min-height:100%;overflow:visible;display:flex;flex-direction:column;background-color:var(--viking-bg);color:var(--viking-text);flex:1}.dashboard-content .dashboard-content-area{flex:1}.panel-clean{position:relative;padding:var(--viking-card-padding-compact);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-md);background:color-mix(in srgb, var(--viking-surface) 96%, transparent);overflow:hidden}.panel-clean::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}.embed-desc{margin:0 0 var(--viking-space-3);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.mfa-enrollment-form,.mfa-status-enrolled,.mfa-feedback-stack,.mfa-relogin-callout,.integration-item{position:relative}.mfa-enrollment-form,.mfa-status-enrolled,.integration-item{display:flex}.mfa-enrollment-form{flex-direction:column;gap:var(--viking-space-3)}.mfa-step-title{margin:0;font-size:var(--viking-font-size-base);color:var(--viking-text-muted)}.mfa-phone-block{display:flex;flex-direction:column;gap:var(--viking-space-2);width:100%}.mfa-phone-row,.mfa-verify-stack{display:flex;flex-direction:column;gap:var(--viking-space-2);width:100%}@media(min-width: 600px){.mfa-phone-row,.mfa-verify-stack{flex-direction:row;align-items:flex-end;gap:var(--viking-space-2)}.mfa-input-full{flex:1;min-width:0}}.verification-step{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3);margin-top:var(--viking-space-2);padding-top:var(--viking-space-3);border-top:1px solid var(--viking-border-subtle);width:100%}.mfa-verify-stack{align-items:stretch;max-width:28rem;margin:0 auto}.mfa-feedback-stack{display:flex;flex-direction:column;gap:var(--viking-space-2);margin-top:var(--viking-space-2)}.mfa-recaptcha-slot{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.mfa-relogin-callout{margin-top:var(--viking-space-2)}.mfa-status-enrolled,.mfa-enrollment-form{border-radius:var(--viking-radius-md)}@media(min-width: 600px){.mfa-status-enrolled,.mfa-feedback-stack{flex-direction:row;align-items:center;justify-content:space-between}}.code-block-container{display:flex;flex-direction:column;gap:var(--viking-space-2)}.code-block-outlined{margin:0;padding:var(--viking-space-2);border-radius:var(--viking-radius-md);background:var(--viking-surface-alt);border:1px solid var(--viking-border);overflow-x:auto}.code-block-container .code-block-outlined{overflow:auto}.mt-2{margin-top:var(--viking-space-2)}.mt-3{margin-top:var(--viking-space-3)}.data-list-outlined{display:flex;flex-direction:column;gap:0;border:1px solid var(--viking-border);border-radius:var(--viking-radius-md);background:var(--viking-surface);overflow:hidden}.data-item-row{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding:var(--viking-space-2)}.data-item-row+.data-item-row{border-top:1px solid var(--viking-border-subtle)}.data-info{display:flex;flex-direction:column;gap:var(--viking-space-1);min-width:0}.data-title{margin:0;font-size:var(--viking-font-size-base);font-weight:var(--viking-font-weight-semibold)}.data-subtitle{margin:0;font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.integrations-list{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-3);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%));box-sizing:border-box}.integration-item{display:flex;align-items:center;gap:var(--viking-space-3)}.integration-item,.integration-item-bordered{padding:var(--viking-space-3);border-radius:var(--viking-radius-md);border:1px solid var(--viking-border);background:var(--viking-surface);box-shadow:var(--viking-shadow-xs)}.integration-item-bordered{border-color:var(--viking-border)}.integration-action{margin-left:auto;display:flex;align-items:center;flex-shrink:0}.alert{padding:var(--viking-space-3) var(--viking-space-4);border-radius:var(--viking-card-radius, var(--viking-radius-xl));border:1px solid var(--viking-border);background:var(--viking-surface-alt);line-height:var(--viking-line-height-relaxed);transition:var(--viking-transition-interactive)}.alert-success{border-left:4px solid var(--viking-success);background:color-mix(in srgb, var(--viking-success) 8%, transparent)}.alert-error{border-left:4px solid var(--viking-danger);background:color-mix(in srgb, var(--viking-danger) 8%, transparent)}.chart-container{min-height:var(--viking-chart-panel-body-min-height-md, 18rem);width:100%}.chart-container viking-chart,.chart-container .viking-chart{width:100%;height:100%;display:block}.dashboard-grid,.dashboard-grid-map,.dashboard-grid-responsive,.dashboard-grid-single{display:grid;grid-template-columns:1fr;gap:var(--grid-gap, var(--viking-space-3))}.dashboard-grid-map{margin-bottom:var(--viking-space-3)}.dashboard-grid-responsive{margin-bottom:var(--viking-space-3)}@media(min-width: 768px){.dashboard-grid-responsive{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 768px)and (min-width: 1024px){.dashboard-grid-responsive{grid-template-columns:repeat(3, 1fr)}}.dashboard-grid-single{margin-bottom:var(--viking-space-3);--viking-chart-panel-min-height-md: 22rem;--viking-chart-panel-min-height-lg: 22rem;--viking-chart-panel-body-min-height-md: clamp(15rem, 28vw, 17.5rem);--viking-chart-panel-body-min-height-lg: clamp(15rem, 28vw, 17.5rem);--viking-chart-fill-min-height: clamp(14rem, 26vw, 16.5rem);--viking-chart-fill-min-height-lg: clamp(14rem, 26vw, 16.5rem);--viking-chart-fill-max-height: clamp(16rem, 30vw, 18.5rem)}.dashboard-grid-responsive{--viking-chart-panel-min-height-md: 24rem;--viking-chart-panel-body-min-height-md: clamp(16rem, 30vw, 18.5rem);--viking-chart-fill-min-height: clamp(15rem, 28vw, 17.5rem);--viking-chart-fill-max-height: clamp(17rem, 32vw, 20rem)}.dashboard-grid-map{--viking-chart-map-min-height: clamp(20rem, 38vw, 24rem)}.stat-panels-grid .ml-stat-panel{flex-direction:column;align-items:flex-start;gap:var(--viking-space-1)}.stat-panels-grid .stat-value{white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}.alert{padding:var(--viking-space-2, var(--viking-space-2));border-radius:var(--viking-radius, 8px);margin-top:var(--viking-space-2, var(--viking-space-2));border:1px solid var(--viking-border);font-size:var(--viking-font-size);font-weight:500;line-height:var(--viking-line-height-relaxed)}.alert.alert-error{background:color-mix(in srgb, var(--viking-crimson-600) 18%, var(--viking-surface));border-color:var(--viking-danger);color:var(--viking-white)}.alert.alert-warning{background:color-mix(in srgb, var(--viking-gold-500) 14%, var(--viking-surface));border-color:var(--viking-warning);color:var(--viking-text)}.alert.alert-success{background:color-mix(in srgb, var(--viking-green-500) 12%, var(--viking-surface));border-color:var(--viking-success);color:var(--viking-text)}.alert-viewer-banner{margin-bottom:var(--viking-space-3);display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1))}.severity-pill{display:inline-block;padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius-xs);font-size:var(--viking-font-size-xs);font-weight:700;text-transform:uppercase}.severity-pill.low{background:color-mix(in srgb, var(--viking-success) 20%, transparent);color:var(--viking-success-text, var(--viking-success))}.severity-pill.medium{background:color-mix(in srgb, var(--viking-accent) 20%, transparent);color:var(--viking-accent-strong, var(--viking-accent))}.severity-pill.high{background:color-mix(in srgb, var(--viking-warning) 20%, transparent);color:var(--viking-warning-text, var(--viking-warning))}.severity-pill.critical{background:color-mix(in srgb, var(--viking-danger) 20%, transparent);color:var(--viking-danger-text, var(--viking-danger))}.viking-spinner,.spinner{display:inline-block;box-sizing:border-box;width:var(--viking-space-4);height:var(--viking-space-4);min-width:var(--viking-space-4);min-height:var(--viking-space-4);flex:0 0 var(--viking-space-4);aspect-ratio:1;border:3px solid var(--viking-border);border-top-color:var(--viking-accent);border-radius:var(--viking-radius-pill);animation:viking-spin .8s linear infinite}@media(prefers-reduced-motion: reduce){.viking-spinner,.spinner{animation:none;border-top-color:var(--viking-accent)}}.scope-filters{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);width:100%}@media(min-width: 768px){.scope-filters{grid-template-columns:repeat(2, 1fr)}}.scope-filters app-unified-select{width:100%;min-width:0;max-width:none}.overview-grid,.detail-grid{display:grid;gap:var(--viking-page-section-gap)}.overview-grid{grid-template-columns:1fr;grid-template-areas:"setup" "health" "kpis" "threats" "metrics"}@media(min-width: 600px){.overview-grid{grid-template-columns:repeat(2, 1fr);grid-template-areas:"setup setup" "health kpis" "threats metrics"}}@media(min-width: 1024px){.overview-grid{grid-template-columns:280px 1fr 1fr;grid-template-areas:"setup setup setup" "health kpis kpis" "threats threats metrics"}}.setup-banner{grid-area:setup;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-3);padding:var(--viking-card-padding);border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface));box-shadow:var(--viking-shadow-sm)}.setup-banner-content{display:flex;align-items:flex-start;gap:var(--viking-space-2);flex:1;min-width:0}@media(min-width: 600px){.setup-banner-content{min-width:220px}}.setup-banner-content viking-app-icon{color:var(--viking-accent);flex-shrink:0}.setup-banner-content strong{display:block;font-size:var(--viking-font-size-base);margin-bottom:var(--viking-space-0-5)}.setup-banner-content p{margin:0;color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-normal)}viking-card.health-card.kpi-card{grid-area:health;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2);text-align:left}.health-gauge{position:relative;flex:0 0 var(--viking-space-16);width:var(--viking-space-16);max-width:100%;margin:0}.health-gauge-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:var(--viking-space-1)}.health-value{font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold)}.health-label{font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps);color:var(--viking-text-muted);margin-top:var(--viking-space-0-5)}.health-caption{flex:1 1 auto;min-width:0;margin:0;font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);line-height:var(--viking-line-height-snug)}.kpi-grid{grid-area:kpis;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--viking-space-3)}@media(min-width: 1024px){.kpi-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.kpi-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}viking-card.kpi-card{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-card-padding-compact);min-height:var(--viking-metric-card-min-height);border-radius:var(--viking-radius-xl);border:1px solid var(--viking-border);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive);position:relative;overflow:hidden;align-items:stretch;justify-content:flex-start;text-align:left}viking-card.kpi-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}viking-card.kpi-card:hover{border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift, -1px))}viking-card.kpi-card.alert{border-left:3px solid var(--viking-warning)}viking-card.kpi-card.critical{border-left:3px solid var(--viking-danger)}viking-card.kpi-card.wide{text-align:center;justify-content:center;align-items:center}viking-card.kpi-card .kpi-sparkline{width:100%;height:var(--viking-chart-sparkline-height, 2.75rem);opacity:.9}viking-card.health-card.kpi-card{flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--viking-space-3)}.kpi-card-header{display:flex;align-items:center;gap:var(--viking-space-2);min-width:0}.kpi-icon-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--viking-accent) 28%, transparent);color:var(--viking-accent-strong, var(--viking-accent));box-shadow:var(--viking-shadow-xs)}.kpi-icon-badge viking-app-icon,.kpi-icon-badge viking-icon{display:flex;color:inherit}.kpi-card.alert .kpi-icon-badge{background:color-mix(in srgb, var(--viking-warning) 16%, transparent);color:var(--viking-warning);border-color:color-mix(in srgb, var(--viking-warning) 30%, transparent)}.kpi-card.critical .kpi-icon-badge{background:color-mix(in srgb, var(--viking-danger) 16%, transparent);color:var(--viking-danger);border-color:color-mix(in srgb, var(--viking-danger) 30%, transparent)}.kpi-card-meta{display:flex;flex-direction:column;gap:var(--viking-space-0-5);min-width:0;flex:1 1 auto}.kpi-sparkline-slot{margin-top:0;min-height:var(--viking-chart-sparkline-height, 2.75rem);width:100%;display:flex;align-items:center;overflow:visible}.kpi-sparkline-slot viking-chart,.kpi-sparkline-slot .kpi-sparkline{width:100%;height:var(--viking-chart-sparkline-height, 2.75rem);overflow:visible}.kpi-sparkline-slot .viking-chart-line{stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.kpi-sparkline-slot .viking-chart-area{opacity:.14}.kpi-subtitle{display:block;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);line-height:var(--viking-line-height-snug)}.kpi-label{font-size:var(--viking-font-size-2xs);font-weight:var(--viking-font-weight-bold);text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps);color:var(--viking-text-muted);line-height:var(--viking-line-height-tight)}.kpi-value{font-size:var(--viking-font-size-title-sm);font-weight:var(--viking-font-weight-extrabold, 800);line-height:var(--viking-line-height-none, 1);font-variant-numeric:tabular-nums;letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.threats-panel{grid-area:threats}.metrics-panel{grid-area:metrics}viking-card.overview-panel{display:flex;flex-direction:column;min-height:var(--viking-space-20);padding:var(--viking-card-padding)}viking-card.overview-panel .panel-header{margin-bottom:0;padding-bottom:var(--viking-space-2);border-bottom:1px solid var(--viking-border)}viking-card.overview-panel .panel-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding-top:var(--viking-space-3);gap:var(--viking-space-3)}viking-card.overview-panel .snapshot-stats{margin-bottom:0;padding-bottom:var(--viking-space-2);border-bottom:1px solid var(--viking-border)}viking-card.overview-panel .mini-chart{flex:0 0 auto;min-height:0;max-height:none;padding-top:var(--viking-space-2)}viking-card.overview-panel .threat-list{gap:0}viking-card.overview-panel .threat-item{border:none;border-radius:0;background:rgba(0,0,0,0);padding:var(--viking-space-2) 0;border-bottom:1px solid var(--viking-border)}viking-card.overview-panel .threat-item:last-child{border-bottom:none}.panel-card.threats-panel,.panel-card.metrics-panel,.panel-card.security-panel{display:flex;flex-direction:column;min-height:320px}.panel-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.panel-body viking-chart-empty-state{flex:1 1 auto;--viking-chart-empty-min-height: var( --viking-chart-fill-min-height, clamp(16rem, 32vw, 17.5rem) )}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--viking-space-3);padding-bottom:var(--viking-space-2);border-bottom:1px solid var(--viking-border)}.panel-header h2{margin:0;font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.panel-title-group{display:flex;align-items:center;gap:var(--viking-space-1);min-width:0;flex:1 1 auto}.panel-title-group viking-app-icon,.panel-title-group viking-icon{width:var(--viking-space-3);height:var(--viking-space-3);color:var(--viking-accent-strong)}.panel-title-group h2{margin:0;min-width:0}.panel-title-icon{color:var(--viking-accent);font-size:var(--viking-font-size-xl);width:var(--viking-space-2);height:var(--viking-space-2)}.detection-panel .detection-header{display:flex;align-items:center;gap:var(--viking-space-1);margin-bottom:var(--viking-space-2)}.detection-panel .detection-header viking-app-icon{color:var(--viking-accent)}.detection-panel .detection-header h2{margin:0;font-size:var(--viking-font-size-base);font-weight:var(--viking-font-weight-bold)}.insight-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--viking-space-2)}.insight-list li{display:flex;align-items:center;gap:var(--viking-space-2);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);padding:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%)}.insight-list .insight-icon{display:flex;align-items:center;justify-content:center;width:var(--viking-space-4);height:var(--viking-space-4);border-radius:var(--viking-radius);background:var(--viking-accent-soft);flex-shrink:0}.insight-list .insight-icon viking-app-icon{color:var(--viking-accent)}.threat-list,.security-queue{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--viking-space-2)}.threat-item,.security-item{display:flex;flex-direction:column;gap:var(--viking-space-1);padding:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%)}.threat-item{flex-direction:row;align-items:center}.threat-info{flex:1;display:flex;flex-direction:column;gap:var(--viking-space-0-5)}.threat-info strong{font-size:var(--viking-font-size-sm)}.threat-info span{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.status-pill{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.security-item-header{display:flex;gap:var(--viking-space-1);align-items:center}.security-meta{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.snapshot-stats{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--viking-space-2);margin-bottom:var(--viking-space-2);flex-shrink:0}.snapshot-stat{display:flex;flex-direction:column;gap:var(--viking-space-0-5)}.snapshot-label{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-value{font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold)}.mini-chart{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;max-height:none}.mini-chart viking-chart{display:flex;flex:0 0 auto;width:100%;min-height:0}.mini-chart viking-chart-empty-state{flex:1 1 auto;min-height:var(--viking-chart-fill-min-height, clamp(16rem, 32vw, 17.5rem))}.panel-loading{display:flex;align-items:center;gap:var(--viking-space-2);padding:var(--viking-card-padding);color:var(--viking-text-muted)}.detail-grid{grid-template-columns:1fr}@media(min-width: 768px){.detail-grid{grid-template-columns:repeat(2, 1fr)}}.detail-kpis{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2);grid-column:1/-1}@media(min-width: 600px){.detail-kpis{grid-template-columns:repeat(3, 1fr)}}.detail-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.chart-panel{grid-column:1/-1}@media(min-width: 768px){.chart-panel.half{grid-column:span 1}}.chart-panel h2{margin:0 0 var(--viking-space-2, var(--viking-space-2));padding-bottom:var(--viking-space-1, var(--viking-space-1));border-bottom:1px solid var(--viking-border);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.chart-container{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;max-height:none}.chart-container.short{min-height:0;max-height:none}.chart-container viking-chart{display:flex;flex:0 0 auto;width:100%;min-height:0}.chart-container viking-chart-empty-state{flex:1 1 auto;--viking-chart-empty-min-height: var( --viking-chart-fill-min-height, clamp(15rem, 30vw, 17.5rem) )}.security-panel{grid-column:1/-1}@media(min-width: 1024px){.security-panel{grid-column:span 1}}.insight-panel p{color:var(--viking-text-muted);line-height:1.5;margin:0 0 var(--viking-space-2)}.col-span-full{grid-column:1/-1}.triage-grid{margin-bottom:var(--viking-page-section-gap);align-items:stretch}.triage-grid>viking-grid-item{display:grid;min-width:0}.triage-grid>viking-grid-item>.queue-panel,.triage-grid>viking-grid-item>.detail-panel{height:100%}.queue-panel{display:flex;flex-direction:column;min-height:360px}@media(min-width: 768px){.queue-panel{min-height:420px}}.filter-bar{padding:var(--viking-panel-header-padding);border-bottom:1px solid var(--viking-border);display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2);background-color:color-mix(in srgb, var(--viking-black) 15%, transparent)}.filter-group{display:flex;flex-direction:column;flex:1;min-width:0;width:100%}.filter-group app-unified-select{display:block;min-width:0;width:100%}.filter-group select{appearance:none;-webkit-appearance:none;background-color:var(--viking-bg);background-image:url('data:image/svg+xml;utf8,<svg fill="%23c0c5c1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');background-repeat:no-repeat;background-position:right 1rem center;background-size:1.5rem;border:1px solid var(--viking-border);color:var(--viking-text);font-size:var(--viking-font-size);padding:var(--viking-space-1) var(--viking-space-7) var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius);outline:none;font-family:inherit;cursor:pointer;transition:var(--viking-transition-interactive)}.filter-group select:hover{border-color:var(--viking-accent)}.filter-group select:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.queue-list{flex:1 1 auto;overflow-y:auto;padding:var(--viking-panel-padding);display:flex;flex-direction:column;gap:var(--viking-space-2);min-height:0}.queue-item{background-color:var(--viking-bg);border:1px solid var(--viking-border);border-radius:var(--viking-radius, 8px);padding:var(--viking-card-padding-compact);cursor:pointer;transition:var(--viking-transition-interactive)}.queue-item:hover{border-color:var(--viking-accent);background-color:color-mix(in srgb, var(--viking-white) 1%, transparent)}.queue-item:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.queue-item.active{border-color:var(--viking-accent);background-color:color-mix(in srgb, var(--viking-surface-alt) 15%, transparent);box-shadow:inset 3px 0 0 var(--viking-accent)}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--viking-space-0-5);gap:var(--viking-space-1)}.item-header .item-id{font-size:var(--viking-font-size-sm);font-family:var(--viking-font-family-mono);color:var(--viking-text-muted)}.item-title{font-size:var(--viking-font-size);font-weight:var(--viking-font-weight-semibold, 600);margin:0 0 var(--viking-space-0-5) 0;line-height:var(--viking-line-height-tight, 1.2);color:var(--viking-text)}.item-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--viking-space-1);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);font-family:var(--viking-font-family-mono)}.item-footer .item-time{margin-inline-start:auto;font-variant-numeric:tabular-nums}.item-footer .client-id{display:flex;align-items:center;gap:var(--viking-space-1)}.item-footer .status-indicator[data-status=triage]{color:var(--viking-text-muted)}.item-footer .status-indicator[data-status=open]{color:var(--viking-info)}.item-footer .status-indicator[data-status=in-progress]{color:var(--viking-teal-600)}.item-footer .status-indicator[data-status=resolved]{color:var(--viking-success)}.item-footer .status-indicator[data-status=false-positive]{text-decoration:line-through;color:var(--viking-text-muted)}.detail-scrollable{flex:1;overflow-y:auto;padding:var(--viking-panel-padding);display:flex;flex-direction:column;gap:var(--viking-space-4)}.vuln-profile-header{border-bottom:1px solid var(--viking-border);padding-bottom:var(--viking-space-2)}.profile-title-row{display:flex;gap:var(--viking-space-1);margin-bottom:var(--viking-space-1);align-items:center}.vuln-id-tag{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);background-color:var(--viking-bg);padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius-xs);color:var(--viking-text-muted)}.cve-tag{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);font-weight:bold;background-color:color-mix(in srgb, var(--viking-danger) 15%, transparent);color:var(--viking-danger);padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius-xs)}.profile-title{font-size:var(--viking-font-size-xl);font-weight:700;margin:0 0 var(--viking-space-1) 0;letter-spacing:-0.01em}.profile-desc{font-size:var(--viking-font-size-sm);line-height:1.5;color:var(--viking-text);margin:0}.prioritization-section{background-color:var(--viking-bg);border:1px solid var(--viking-border);border-radius:var(--viking-radius, 8px);padding:var(--viking-card-padding-compact)}.section-title{display:flex;align-items:center;gap:var(--viking-space-1);margin-bottom:var(--viking-space-1)}.section-title h3{font-size:var(--viking-font-size-sm);font-weight:bold;text-transform:uppercase;margin:0;letter-spacing:var(--viking-letter-spacing-caps)}.section-subtitle{font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);margin:0 0 var(--viking-space-2) 0}.matrix-container{display:flex;align-items:center;justify-content:center;position:relative;padding:var(--viking-space-2) 0}.y-axis-label{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);font-weight:bold;writing-mode:vertical-rl;transform:rotate(180deg);margin-right:var(--viking-space-1);color:var(--viking-text-muted);letter-spacing:.2em}.matrix-grid{display:flex;flex-direction:column;gap:var(--viking-space-1)}.matrix-row{display:flex;align-items:center;gap:var(--viking-space-1)}.matrix-row .row-label{width:var(--viking-space-2);text-align:right;font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);margin-right:var(--viking-space-1)}.matrix-cell{width:var(--viking-space-6);height:var(--viking-space-6);border-radius:var(--viking-radius-sm);border:2px solid rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--viking-font-family-mono);font-weight:bold;font-size:var(--viking-font-size-sm);transition:var(--viking-transition-interactive);position:relative;outline:none;background-color:var(--viking-surface-alt)}.matrix-cell:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.matrix-cell[data-level=low]{background-color:color-mix(in srgb, var(--viking-success) 18%, transparent);color:var(--viking-success)}.matrix-cell[data-level=low]:hover{background-color:color-mix(in srgb, var(--viking-success) 30%, transparent)}.matrix-cell[data-level=medium]{background-color:color-mix(in srgb, var(--viking-gold-500) 15%, transparent);color:var(--viking-warning)}.matrix-cell[data-level=medium]:hover{background-color:color-mix(in srgb, var(--viking-gold-500) 30%, transparent)}.matrix-cell[data-level=high]{background-color:color-mix(in srgb, var(--viking-crimson-500) 15%, transparent);color:var(--viking-danger)}.matrix-cell[data-level=high]:hover{background-color:color-mix(in srgb, var(--viking-crimson-500) 30%, transparent)}.matrix-cell[data-level=critical]{background-color:color-mix(in srgb, var(--viking-crimson-600) 15%, transparent);color:var(--viking-crimson-400)}.matrix-cell[data-level=critical]:hover{background-color:color-mix(in srgb, var(--viking-crimson-600) 30%, transparent)}.matrix-cell.selected{border-color:var(--viking-text);box-shadow:0 0 10px color-mix(in srgb, var(--viking-white) 30%, transparent);transform:scale(1.05);z-index:2}.matrix-cell.selected::after{content:"✓";position:absolute;top:0px;right:8px;font-size:var(--viking-font-size-sm);color:var(--viking-text)}.labels-row{margin-top:var(--viking-space-1)}.labels-row .col-label{width:var(--viking-space-6);text-align:center;font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.labels-row .row-label-placeholder{width:16px;margin-right:var(--viking-space-1)}.x-axis-label{text-align:center;font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);font-weight:bold;margin-top:var(--viking-space-1);margin-left:var(--viking-space-3);color:var(--viking-text-muted);letter-spacing:.2em}.triage-action-bar{display:flex;flex-direction:column;gap:var(--viking-space-2);background-color:var(--viking-bg);border:1px solid var(--viking-border);border-radius:var(--viking-radius, 8px);padding:var(--viking-card-padding-compact)}.action-title{display:flex;align-items:center;gap:var(--viking-space-1);margin-bottom:var(--viking-space-1)}.action-title h3{font-size:var(--viking-font-size-sm);font-weight:bold;text-transform:uppercase;margin:0}.btn-group{display:flex;flex-wrap:wrap;gap:var(--viking-space-1)}.telemetry-section{display:flex;flex-direction:column;gap:var(--viking-space-1)}.telemetry-code{background-color:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:var(--viking-radius, 8px);padding:var(--viking-space-2);overflow-x:auto;margin:0}.telemetry-code code{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);color:var(--viking-success)}.detail-panel{display:flex;flex-direction:column;min-height:360px}@media(min-width: 768px){.detail-panel{min-height:420px}}.panel-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.no-selection-body{flex:1 1 auto;display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:0;padding:var(--viking-space-2)}@keyframes pulse-ring{0%{transform:scale(0.8);opacity:.5}100%{transform:scale(1.5);opacity:0}}.soc-operations-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-dashboard-grid-gap, var(--viking-space-4));margin-top:var(--viking-space-4)}@media(min-width: 1024px){.soc-operations-grid{grid-template-columns:repeat(2, 1fr)}}.soc-panel{border-radius:var(--viking-radius-lg);background:linear-gradient(160deg, color-mix(in srgb, var(--viking-surface) 95%, var(--viking-accent) 5%) 0%, var(--viking-surface) 55%);box-shadow:var(--viking-shadow-sm)}.soc-panel .panel-icon,.soc-panel .viking-hud-panel-header viking-icon{color:var(--viking-accent);flex-shrink:0}.soc-header-actions{display:flex;align-items:center;gap:var(--viking-space-2);margin-left:auto;flex-shrink:0}.soc-panel-body{padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2);min-height:200px}.soc-panel-body.panel-body{flex:1 1 auto;min-height:0;justify-content:center}.soc-panel-body viking-chart-empty-state{width:100%}.soc-card-list{display:flex;flex-direction:column;gap:var(--viking-space-2)}.soc-card{padding:var(--viking-space-2);border-radius:var(--viking-radius-lg);border:1px solid var(--viking-border);background:var(--viking-surface);box-shadow:var(--viking-shadow-sm);transition:box-shadow var(--viking-duration-fast) var(--viking-ease-standard),border-color var(--viking-duration-fast) var(--viking-ease-standard),transform var(--viking-duration-fast) var(--viking-ease-standard);cursor:pointer}.soc-card:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}.soc-card:hover,.soc-card.selected{border-color:color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));box-shadow:var(--viking-shadow-sm);transform:translateY(-1px)}.soc-card.inactive{opacity:.75}.soc-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-2);margin-bottom:var(--viking-space-1)}.soc-id{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);font-weight:700;letter-spacing:.06em;color:var(--viking-text-muted)}.soc-card-title{margin:0 0 var(--viking-space-1);font-size:var(--viking-font-size-base);font-weight:700;line-height:1.3}.soc-card-desc{margin:0 0 var(--viking-space-2);font-size:var(--viking-font-size-sm);line-height:1.5;color:var(--viking-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.soc-card-footer{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--viking-space-2);padding-top:var(--viking-space-1);border-top:1px solid var(--viking-border)}.soc-status-field{flex:1;min-width:var(--viking-space-14);max-width:220px}.soc-timestamp{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);white-space:nowrap}.soc-status-chip{padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius-pill, 999px);font-size:var(--viking-font-size-3xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--viking-text-muted) 15%, transparent);color:var(--viking-text-muted)}.soc-status-chip.active{background:color-mix(in srgb, var(--viking-accent) 18%, transparent);color:var(--viking-accent)}.playbook-select-area,.incident-select-area{cursor:pointer;border-radius:var(--viking-radius)}.playbook-select-area:focus-visible,.incident-select-area:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.playbook-toggle-row{display:flex;align-items:center;gap:var(--viking-space-2);padding-top:var(--viking-space-2);margin-top:var(--viking-space-0-5);border-top:1px solid var(--viking-border)}.toggle-label{font-size:var(--viking-font-size-xs);font-weight:600;color:var(--viking-text-muted);text-transform:uppercase;letter-spacing:.04em}.playbook-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.playbook-toggle input{opacity:0;width:0;height:0}.playbook-toggle .toggle-track{position:absolute;inset:0;cursor:pointer;background-color:var(--viking-border);border-radius:var(--viking-radius-pill, 999px);border:1px solid var(--viking-border);transition:background-color var(--viking-duration-fast) var(--viking-ease-standard)}.playbook-toggle .toggle-track::before{content:"";position:absolute;height:16px;width:16px;left:3px;top:50%;transform:translateY(-50%);background-color:var(--viking-text-muted);border-radius:50%;transition:transform var(--viking-duration-fast) var(--viking-ease-standard),background-color var(--viking-duration-fast) var(--viking-ease-standard)}.playbook-toggle input:checked+.toggle-track{background-color:var(--viking-accent);border-color:var(--viking-accent)}.playbook-toggle input:checked+.toggle-track::before{transform:translate(20px, -50%);background-color:var(--viking-white)}.soc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--viking-space-4, var(--viking-space-4)) var(--viking-space-2, var(--viking-space-2));color:var(--viking-text-muted, var(--viking-text-muted));gap:var(--viking-space-1, var(--viking-space-1))}.soc-empty-state p{margin:0;max-width:320px;line-height:1.5;font-size:var(--viking-font-size-sm)}.siem-grid{margin-top:var(--viking-space-4)}.incident-list,.playbook-list{padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-2);min-height:240px}.siem-item,.playbook-item{margin-bottom:0;transition:var(--viking-transition-interactive)}.siem-item:hover,.siem-item.active,.playbook-item:hover,.playbook-item.active{border-color:var(--viking-teal-600);box-shadow:var(--viking-shadow-sm)}.siem-item-selectable,.playbook-item .playbook-info[role=button]{cursor:pointer;width:100%}.siem-empty-state{padding:var(--viking-space-4, var(--viking-space-4)) var(--viking-space-3, var(--viking-space-3));text-align:center;color:var(--viking-text-muted, var(--viking-text-muted));border-radius:var(--viking-radius-lg, 12px);background:var(--viking-surface-alt, var(--viking-charcoal-700));border:1px dashed var(--viking-border-strong, var(--viking-border))}.siem-empty-state .empty-title{margin:0 0 var(--viking-space-1, var(--viking-space-1));font-size:var(--viking-font-size-md, 18px);font-weight:var(--viking-font-weight-semibold, 600);letter-spacing:var(--viking-letter-spacing-caps, 0.08em);text-transform:uppercase;color:var(--viking-text, var(--viking-text))}.siem-empty-state p{margin:0;font-size:var(--viking-font-size-sm);line-height:1.5}.siem-item-footer{flex-direction:column;align-items:flex-start;gap:var(--viking-space-1);width:100%}.siem-status-field{width:100%;max-width:280px}.siem-status-select{width:100%}.playbook-status-label{font-size:var(--viking-font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--viking-text-muted);white-space:nowrap}.header-action-btn{margin-left:auto;background-color:var(--viking-accent);color:var(--viking-accent-content, var(--viking-white));border-radius:var(--viking-radius-sm);padding:var(--viking-space-1) var(--viking-space-2);font-family:var(--viking-font-family);font-size:max(var(--viking-font-size-base),var(--viking-font-size-base));font-weight:600;border:1px solid var(--viking-accent-strong, var(--viking-accent));cursor:pointer;min-height:44px}.header-action-btn:hover{background-color:var(--viking-accent-strong, var(--viking-accent))}.header-action-btn:disabled{opacity:.7;cursor:not-allowed}.intel-feedback-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding:var(--viking-space-2);margin-top:var(--viking-space-2);border-radius:var(--viking-radius);border:1px solid var(--viking-teal-400);background:color-mix(in srgb, var(--viking-teal-400) 12%, transparent);color:var(--viking-text)}.intel-feedback-banner.error{border-color:var(--viking-crimson-500);background:color-mix(in srgb, var(--viking-crimson-500) 12%, transparent)}.intel-action-console{margin-top:var(--viking-space-3)}.intel-action-body{padding:var(--viking-space-2);display:flex;flex-direction:column;gap:var(--viking-space-3)}.intel-action-group{padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:color-mix(in srgb, var(--viking-surface) 92%, var(--viking-teal-600))}.intel-action-title{margin:0 0 var(--viking-space-1);font-size:var(--viking-font-size-md);color:var(--viking-text)}.intel-action-desc{margin:0 0 var(--viking-space-2);color:var(--viking-text-muted)}.intel-action-buttons{display:flex;flex-wrap:wrap;gap:var(--viking-space-1)}.theme-switch{position:relative;display:inline-block;width:48px;height:24px}.theme-switch input{opacity:0;width:0;height:0}.theme-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--viking-border);transition:var(--viking-duration-normal) var(--viking-ease-standard);border-radius:24px;border:1px solid var(--viking-border)}.theme-switch .slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:3px;background-color:var(--viking-text-muted);transition:var(--viking-duration-normal) var(--viking-ease-standard);border-radius:50%}.theme-switch input:checked+.slider{background-color:var(--viking-teal-600);border-color:var(--viking-teal-600)}.theme-switch input:checked+.slider:before{transform:translateX(24px);background-color:var(--viking-white)}.tenant-selector-group{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2);width:100%}@media(min-width: 768px){.tenant-selector-group{grid-template-columns:repeat(2, 1fr)}}.tenant-selector-group .selector-input{width:100%;min-width:0}.siem-desc{margin:var(--viking-space-1) 0 var(--viking-space-2);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.siem-client-id{font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.playbook-list{gap:var(--viking-space-2)}.playbook-item{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2);padding:var(--viking-space-2)}@media(min-width: 768px){.playbook-item{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap}}.playbook-item .playbook-info{flex:1;min-width:0}.playbook-title{margin:0 0 var(--viking-space-1);overflow:hidden;text-overflow:ellipsis;white-space:normal}@media(min-width: 768px){.playbook-title{white-space:nowrap}}.playbook-desc{margin:0;color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:normal}@media(min-width: 768px){.playbook-desc{white-space:nowrap}}.playbook-actions{display:flex;flex-shrink:0;align-items:center;gap:var(--viking-space-2);width:100%}@media(min-width: 768px){.playbook-actions{width:auto}}.btn-small{padding:var(--viking-space-1) var(--viking-space-2);font-size:var(--viking-font-size-sm)}.siem-item-selectable:focus-visible,.playbook-item .playbook-info[role=button]:focus-visible{outline:2px solid var(--viking-teal-600);outline-offset:2px;border-radius:6px}.settings-stack,.manage-stack{display:flex;flex-direction:column;gap:var(--viking-page-section-gap)}.status-panel-outlined{display:flex;flex-direction:column;gap:var(--viking-space-2)}.status-panel-outlined:hover{box-shadow:var(--viking-shadow-md);border-color:var(--viking-border-strong)}viking-card-header .delete-page-btn{align-self:center;margin-left:0;flex-shrink:0}.inline-status-link{color:var(--viking-accent);font-weight:var(--viking-font-weight-medium);text-decoration:underline}.create-page-btn{display:flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));width:100%}.settings-mfa-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2);margin-top:var(--viking-space-2)}.settings-form-panel{display:flex;flex-direction:column;gap:var(--viking-space-3, var(--viking-space-3));margin-bottom:var(--viking-space-4, var(--viking-space-4))}.settings-form-panel .form-row{display:flex;gap:var(--viking-space-3, var(--viking-space-3));flex-wrap:wrap}.settings-form-panel .form-row viking-field{flex:1;min-width:200px}.settings-form-panel .settings-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3, var(--viking-space-3));margin-top:var(--viking-space-1, var(--viking-space-1))}.settings-form-panel .settings-actions viking-checkbox,.settings-form-panel .settings-actions .viking-checkbox{width:100%}.status-panel-outlined .panel-section{background:rgba(0,0,0,0);border:none;border-radius:0;box-shadow:none;overflow:visible;margin-bottom:0;padding:var(--viking-space-4, var(--viking-space-4)) 0}.status-panel-outlined .panel-section:first-of-type{padding-top:0}.status-panel-outlined .panel-section:last-of-type{padding-bottom:0}.status-panel-outlined .panel-section:not(:first-of-type){border-top:1px solid var(--viking-border-subtle)}.status-panel-outlined .section-heading{font-size:var(--viking-font-size-xs);font-weight:700;letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted);margin:0 0 var(--viking-space-3, var(--viking-space-3))}.status-panel-outlined .settings-form-panel,.status-panel-outlined .incident-form{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));margin-bottom:var(--viking-space-2, var(--viking-space-2))}.status-panel-outlined .service-form-panel{margin-bottom:var(--viking-space-2, var(--viking-space-2))}.status-panel-outlined .data-list-outlined{border:none;border-radius:0;overflow:visible;background:rgba(0,0,0,0)}.status-panel-outlined .data-item-row{padding:var(--viking-space-2) 0;border-bottom:1px solid var(--viking-border-subtle);border-radius:0}.status-panel-outlined .data-item-row:last-child{border-bottom:none}.status-panel-outlined .integrations-list{display:flex;flex-direction:column;padding:var(--viking-space-3);background:color-mix(in srgb, var(--viking-surface) 92%, transparent);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);gap:var(--viking-space-2)}.status-panel-outlined .integrations-list .integration-item{padding:var(--viking-space-3);border-radius:var(--viking-radius-md);border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--viking-border-subtle) 80%, transparent);background:var(--viking-surface);margin-bottom:0}.status-panel-outlined .integrations-list .integration-item:last-child{margin-bottom:0}.status-panel-outlined .code-block-outlined{background-color:color-mix(in srgb, var(--viking-charcoal-900) 60%, var(--viking-bg));border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-sm);padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-2, var(--viking-space-2));font-size:var(--viking-font-size-sm)}.status-panel-outlined .empty-data-text{background:rgba(0,0,0,0);border:none;border-top:1px solid var(--viking-border-subtle);padding:var(--viking-space-4, var(--viking-space-4)) var(--viking-space-2, var(--viking-space-2))}.section-heading{font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-semibold);color:var(--viking-text);margin:0 0 var(--viking-space-2, var(--viking-space-2));display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1))}.section-heading viking-app-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--viking-radius-sm);background:var(--viking-accent-soft);color:var(--viking-accent-strong);font-size:var(--viking-font-size-base);flex-shrink:0}.form-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2))}@media(min-width: 600px){.form-row{flex-direction:row;align-items:center;gap:var(--viking-space-3, var(--viking-space-3))}}.flex-1{flex:1;min-width:0}.flex-2{flex:2;min-width:0}.data-item-row{display:flex;justify-content:space-between;align-items:center;gap:var(--viking-space-2);padding-inline:var(--viking-space-1);border-radius:var(--viking-radius-sm);transition:background-color var(--viking-duration-fast) var(--viking-ease-standard)}.data-item-row:hover{background-color:var(--viking-surface-alt)}.data-item-row.is-selected,.data-item-row[data-selected=true]{background:color-mix(in srgb, var(--viking-accent) 10%, var(--viking-surface))}.data-item-row viking-checkbox{flex:0 0 auto}.data-info{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.data-title{font-weight:600;color:var(--viking-text);font-size:var(--viking-font-size-base)}.data-subtitle{color:var(--viking-text-muted);font-size:var(--viking-font-size-base);margin-top:var(--viking-space-1)}.incident-form{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2))}.form-row-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2))}.form-row-actions .select-wrapper{width:100%}.form-row-actions .post-incident-btn{width:100%;justify-content:center}.select-wrapper{position:relative;display:inline-block;min-width:11rem;width:100%}@media(min-width: 600px){.select-wrapper{width:auto}}.post-incident-btn{width:100%;justify-content:center}.code-block-container{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2));margin-top:var(--viking-space-1, var(--viking-space-1))}.code-block-container .code-block-outlined{width:100%;box-sizing:border-box}.code-block-container>viking-button{flex-shrink:0;margin:0;width:100%}@media(min-width: 600px){.code-block-container>viking-button{width:auto;align-self:flex-start}}.embed-desc{color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);line-height:1.55;margin:0 0 var(--viking-space-2, var(--viking-space-2))}.code-block-outlined{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);overflow-x:auto;white-space:pre-wrap;color:var(--viking-text);flex:1;margin:0}.form-col{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2))}@media(min-width: 600px){.dashboard-topbar{padding:var(--viking-space-3, var(--viking-space-3)) var(--viking-space-4, var(--viking-space-4))}}.integrations-list{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-3);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-surface) 92%, transparent);box-sizing:border-box}.integrations-list .integration-item{display:flex;justify-content:space-between;align-items:center;gap:var(--viking-space-3);padding:var(--viking-space-3);border:none;border-radius:var(--viking-radius-md);background:var(--viking-surface);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--viking-border-subtle) 80%, transparent)}.integrations-list .integration-item:last-child{border-bottom:none}.integrations-list .integration-item.clarity-item,.integrations-list .integration-item.cloudflare-item{flex-direction:column;align-items:stretch;gap:var(--viking-space-3, var(--viking-space-3));padding:var(--viking-space-3)}.integrations-list .integration-header{display:flex;justify-content:space-between;align-items:center;width:100%}.integrations-list .integration-info{display:flex;flex-direction:column;gap:var(--viking-space-1, var(--viking-space-1))}.integrations-list .integration-name{display:block;font-size:var(--viking-font-size-lg);font-weight:600;color:var(--viking-text)}.integrations-list .integration-status{font-size:var(--viking-font-size-base);color:var(--viking-text-muted)}.integrations-list .integration-action{display:flex;align-items:flex-start;padding-top:var(--viking-space-px)}.integrations-list .integration-action button{white-space:nowrap !important;flex-shrink:0}.integrations-list .clarity-form-row,.integrations-list .cloudflare-form-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2));width:100%}@media(min-width: 600px){.integrations-list .clarity-form-row,.integrations-list .cloudflare-form-row{flex-direction:row;align-items:flex-end}}.integrations-list .clarity-form-row .inputs-group,.integrations-list .cloudflare-form-row .inputs-group{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));width:100%;flex:1;min-width:0}@media(min-width: 600px){.integrations-list .clarity-form-row .inputs-group,.integrations-list .cloudflare-form-row .inputs-group{flex-direction:row;align-items:flex-end}}.integrations-list .clarity-form-row .inputs-group viking-field,.integrations-list .cloudflare-form-row .inputs-group viking-field{flex:1;min-width:0}.integrations-list .clarity-form-row>viking-button,.integrations-list .cloudflare-form-row>viking-button{flex-shrink:0;width:100%}@media(min-width: 600px){.integrations-list .clarity-form-row>viking-button,.integrations-list .cloudflare-form-row>viking-button{width:auto;align-self:flex-end}}.service-form-panel{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2));width:100%}@media(min-width: 600px){.service-form-panel{flex-direction:row;align-items:flex-end}}.service-form-panel>viking-button{flex-shrink:0;width:100%}@media(min-width: 600px){.service-form-panel>viking-button{width:auto;align-self:flex-end}}.service-inputs-row{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));flex:1;min-width:0}@media(min-width: 600px){.service-inputs-row{flex-direction:row;align-items:flex-end}}.save-settings-btn{width:100%}.status-icon.success{color:var(--viking-success) !important}.integration-sub-status{margin-top:var(--viking-space-1);display:block;font-size:var(--viking-font-size-lg);opacity:.7}.integration-name-flex{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1))}.integration-icon{vertical-align:middle}.platform-integrations-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--viking-space-2, var(--viking-space-2));margin-top:var(--viking-space-2, var(--viking-space-2))}@media(min-width: 768px){.platform-integrations-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1024px){.platform-integrations-grid{grid-template-columns:repeat(6, minmax(0, 1fr))}}.platform-integration-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));padding:var(--viking-space-2, var(--viking-space-2));border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-md);background:color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%);text-decoration:none;color:var(--viking-text);transition:border-color var(--viking-duration-fast, 150ms) var(--viking-ease-standard, ease),box-shadow var(--viking-duration-fast, 150ms) var(--viking-ease-standard, ease)}.platform-integration-tile:hover{border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.platform-integration-tile:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset);border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.platform-integration-name{font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);text-align:center;color:var(--viking-text-muted)}.mt-3{margin-top:var(--viking-space-2)}.mfa-info-inline{display:flex;flex-direction:column;gap:var(--viking-space-0-5);min-width:0;flex:1}.mfa-info-inline strong{display:block;font-weight:600;color:var(--viking-text)}.mfa-icon-inline{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}.mfa-info-group{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));min-width:0;flex:1}.mfa-status-desc{margin:0;font-size:var(--viking-font-size-base);color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.mfa-status-enrolled{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));align-items:stretch;padding:var(--viking-space-1, var(--viking-space-1)) 0}.mfa-status-enrolled viking-button{align-self:stretch}@media(min-width: 600px){.mfa-status-enrolled{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--viking-space-3, var(--viking-space-3))}.mfa-status-enrolled viking-button{align-self:center;flex-shrink:0}}@media(min-width: 600px){.simple-inline-form{flex-direction:row;align-items:flex-end;gap:var(--viking-space-2, var(--viking-space-2))}.simple-inline-form viking-field{flex:1;min-width:0}.simple-inline-form .settings-actions{flex-direction:row;align-items:center;justify-content:flex-end;margin-top:0;width:auto;flex-shrink:0}.simple-inline-form .settings-actions viking-button{min-width:auto}}.justify-end{justify-content:flex-end}.integration-item-bordered{border-bottom:1px solid var(--viking-border-subtle);padding:var(--viking-space-3);margin-bottom:0}.mfa-settings-card .integrations-list,.status-card-outlined .integrations-list.panel-clean,.integrations-list.panel-clean{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-space-3);margin:0;border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%));box-sizing:border-box}.mfa-settings-card .integration-item,.status-card-outlined .integrations-list .integration-item,.integrations-list.panel-clean .integration-item{display:flex;align-items:center;justify-content:space-between;gap:var(--viking-space-3);padding:var(--viking-space-3);margin:0;border-radius:var(--viking-radius-md);border:none;background:color-mix(in srgb, var(--viking-surface) 88%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--viking-border-subtle) 80%, transparent)}.mfa-settings-card .integration-item+.integration-item,.status-card-outlined .integrations-list .integration-item+.integration-item,.integrations-list.panel-clean .integration-item+.integration-item{margin-top:0;border-top:none}.panel-clean:not(.integrations-list){position:relative;padding:var(--viking-card-padding-compact);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-md);background:var(--viking-surface-recipe, color-mix(in srgb, var(--viking-surface) 96%, var(--viking-accent) 4%));overflow:hidden}.panel-clean:not(.integrations-list)::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}.mfa-enrollment-form{display:flex;flex-direction:column;gap:var(--viking-space-3, var(--viking-space-3))}.mfa-step-title{margin:0;font-size:var(--viking-font-size, 16px);color:var(--viking-text-muted, var(--viking-text-muted))}.mfa-phone-block{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));width:100%}.mfa-phone-row{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));width:100%}@media(min-width: 600px){.mfa-phone-row{flex-direction:row;align-items:flex-end;gap:var(--viking-space-2, var(--viking-space-2))}.mfa-phone-row .mfa-input-full{flex:1;min-width:0}}.verification-step{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3, var(--viking-space-3));margin-top:var(--viking-space-2, var(--viking-space-2));padding-top:var(--viking-space-3, var(--viking-space-3));border-top:1px solid var(--viking-border-subtle, var(--viking-border));width:100%}.mfa-verify-stack{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2, var(--viking-space-2));width:100%;max-width:28rem;margin-inline:auto}.mfa-feedback-stack{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));margin-top:var(--viking-space-2, var(--viking-space-2))}.mfa-recaptcha-slot{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.mfa-relogin-callout{margin-top:var(--viking-space-2, var(--viking-space-2))}.mfa-status-enrolled{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));align-items:stretch}@media(min-width: 600px){.mfa-status-enrolled{flex-direction:row;align-items:center;justify-content:space-between}.mfa-status-enrolled viking-button{align-self:auto;flex-shrink:0}}.dashboard-page-container .analytics-gauge-grid{--viking-card-padding: var(--viking-card-padding-compact);--viking-card-content-gap: var(--viking-space-2);--viking-grid-gap: var(--viking-space-2)}.dashboard-page-container .analytics-gauge-grid .gauge-card{min-height:auto}.dashboard-page-container .analytics-gauge-grid .gauge-card-header{margin-bottom:var(--viking-space-1)}.dashboard-page-container .analytics-gauge-grid .gauge-wrapper{max-width:var(--viking-space-14)}.dashboard-page-container .analytics-gauge-grid .gauge-card-footer{margin-top:var(--viking-space-1);padding-top:var(--viking-space-1);font-size:var(--viking-font-size-xs);line-height:var(--viking-line-height-snug)}.dashboard-page-container .analytics-gauge-grid .gauge-card-header h3{font-size:var(--viking-font-size-sm)}.dashboard-page-container .analytics-gauge-grid .gauge-center-text .unit{margin-bottom:var(--viking-space-0-5);font-size:var(--viking-font-size-xs)}.dashboard-page-container .analytics-gauge-grid .gauge-center-text .value{font-size:var(--viking-font-size-xl)}.analytics-export-card viking-form-grid,.analytics-export-card .viking-form-grid{width:100%}.analytics-export-card .section-description-premium{margin:0}.dashboard-page-container{--viking-card-padding: var(--viking-space-3);--viking-card-padding-compact: var(--viking-space-2);--viking-card-content-gap: var(--viking-space-3);--viking-card-content-gap-compact: var(--viking-space-2);--viking-panel-padding: var(--viking-space-3);--viking-panel-header-padding: var(--viking-space-3);--viking-page-stack-gap: var(--viking-space-4);--viking-page-section-gap: var(--viking-space-5);--viking-dashboard-grid-gap: var(--viking-space-3);--viking-chart-ratio: 2 / 1;--viking-chart-plot-height: clamp( var(--viking-space-20), 46cqi, var(--viking-space-24) );--viking-chart-map-min-height: 22rem;background:var(--viking-bg)}.dashboard-content{min-height:calc(100vh - var(--viking-navbar-height, 64px));overflow:visible}.dashboard-content .dashboard-content-area{width:100%;flex:1 1 auto}.dashboard-content .page-inner-wrapper{flex:1 1 auto}.inline-status-link{color:var(--viking-accent-strong, var(--viking-accent));font-weight:var(--viking-font-weight-semibold);text-decoration:underline;text-underline-offset:3px;transition:color var(--viking-duration-fast) var(--viking-ease-default)}.inline-status-link:hover,.inline-status-link:focus-visible{color:var(--viking-accent)}.scope-filters,.tenant-selector-group{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-2);width:100%;min-width:0}@media(min-width: 600px){.scope-filters,.tenant-selector-group{grid-template-columns:repeat(2, minmax(0, 1fr));min-width:min(100%,28rem)}}.scope-filters app-unified-select,.scope-filters .selector-input,.tenant-selector-group app-unified-select,.tenant-selector-group .selector-input{width:100%;min-width:0}.platform-integration-tile{min-height:var(--viking-touch-target-comfort, 44px);box-shadow:var(--viking-shadow-xs)}.platform-integration-tile:hover{transform:translateY(var(--viking-state-hover-lift));border-color:var(--viking-accent-strong);background:var(--viking-surface-recipe-elevated, var(--viking-surface-raised))}.platform-integration-tile:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.fallback-cta-box,.platform-fallback-banner{display:flex;flex-direction:column;gap:var(--viking-space-2);margin-top:var(--viking-space-2);padding-top:var(--viking-space-3);border-top:1px solid var(--viking-border-subtle)}.platform-fallback-banner{margin-bottom:var(--viking-space-3);padding:var(--viking-space-3);border:1px solid color-mix(in srgb, var(--viking-accent) 45%, var(--viking-border));border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-accent) 6%, var(--viking-surface))}.platform-fallback-row{display:flex;align-items:flex-start;gap:var(--viking-space-2)}.platform-fallback-fields{display:flex;flex-direction:column;gap:var(--viking-space-2)}@media(min-width: 600px){.platform-fallback-fields{flex-direction:row;flex-wrap:wrap}}.platform-fallback-fields>*{flex:1 1 12rem;min-width:0}.active-providers-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-1);margin-block:var(--viking-space-2) var(--viking-space-1)}.active-providers-label{color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;margin-right:var(--viking-space-1)}.stat-value-emphasis{letter-spacing:var(--viking-letter-spacing-tight);font-weight:var(--viking-font-weight-bold)}.dashboard-page-container viking-tabs{width:100%;min-width:0;gap:var(--viking-space-3)}.dashboard-page-container viking-tab-panel{display:block;width:100%;min-width:0;box-sizing:border-box;padding:var(--viking-space-4) var(--viking-space-3) var(--viking-space-5);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-xl);background:color-mix(in srgb, var(--viking-surface) 92%, transparent);box-shadow:var(--viking-shadow-xs);color:inherit;line-height:inherit}@media(min-width: 768px){.dashboard-page-container viking-tab-panel{padding:var(--viking-space-5) var(--viking-space-4) var(--viking-space-6)}}@media(min-width: 768px){.triage-grid{align-items:stretch}.queue-panel,.detail-panel{min-height:28rem}}@media(min-width: 600px){.matrix-cell{width:var(--viking-space-8);height:var(--viking-space-8)}.labels-row .col-label{width:var(--viking-space-8)}.y-axis-label{margin-right:var(--viking-space-2)}}.queue-item,.soc-card,.threat-item,.security-item{min-height:var(--viking-touch-target-min, 44px)}.queue-item:focus-visible,.soc-card:focus-visible,.playbook-select-area:focus-visible,.incident-select-area:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.dashboard-page-container>.dashboard-layout>.dashboard-main{min-width:0}@keyframes viking-skeleton-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.viking-skeleton,.skeleton{background:linear-gradient(90deg, var(--viking-surface-alt) 25%, color-mix(in srgb, var(--viking-surface-alt) 60%, var(--viking-surface)) 50%, var(--viking-surface-alt) 75%);background-size:200% 100%;animation:viking-skeleton-shimmer 1.8s ease-in-out infinite;border-radius:var(--viking-radius-sm);min-height:1em}.viking-skeleton-text{height:.875rem;width:100%;border-radius:var(--viking-radius-xs)}.viking-skeleton-heading{height:1.5rem;width:60%;border-radius:var(--viking-radius-sm)}.viking-skeleton-circle{border-radius:50%;aspect-ratio:1}@keyframes viking-status-pulse{0%,100%{opacity:1}50%{opacity:.5}}.status-dot-pulse,.viking-status-dot--live{animation:viking-status-pulse 2s ease-in-out infinite}@keyframes viking-content-fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-inner-wrapper,.dashboard-content-area{animation:viking-content-fade-in .3s var(--viking-ease-default) both}.viking-card:focus-visible,.queue-item:focus-visible,.soc-card:focus-visible,.matrix-cell:focus-visible,.platform-integration-tile:focus-visible{outline:2px solid var(--viking-accent);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb, var(--viking-accent) 20%, transparent)}.metric-value,.kpi-value,.health-value,.stat-value{font-variant-numeric:tabular-nums;letter-spacing:var(--viking-letter-spacing-tight, -0.02em)}@media(prefers-reduced-motion: reduce){.viking-skeleton,.skeleton,.status-dot-pulse,.viking-status-dot--live,.page-inner-wrapper,.dashboard-content-area{animation:none !important}.page-inner-wrapper,.dashboard-content-area{opacity:1 !important;transform:none !important}.kpi-card,.health-card,.platform-integration-tile,.queue-item,.soc-card,.matrix-cell{transition:none !important;transform:none !important}}.dashboard-page-container .viking-page-header,.dashboard-page-container .hud-header{gap:var(--viking-space-2);padding-bottom:var(--viking-space-3);margin-bottom:var(--viking-space-3);border-bottom:1px solid var(--viking-border-subtle)}.dashboard-page-container:has(.status-directory-grid) .viking-page-header,.dashboard-page-container:has(.status-directory-grid) viking-page-header{margin-bottom:var(--viking-space-3)}.dashboard-page-container .status-directory-grid{margin-top:0;gap:var(--viking-space-3)}.isolated-status-page .isolated-status-shell,.dashboard-page-container.isolated-status-page .page-inner-wrapper{width:100%;max-width:min(100%,max(48rem,var(--viking-container-max-width, 1260px)*.75));margin-inline:auto;box-sizing:border-box;overflow-x:clip}@media(min-width: 1024px){.isolated-status-page .isolated-status-shell,.dashboard-page-container.isolated-status-page .page-inner-wrapper{max-width:min(100%,var(--viking-container-max-width, 1260px))}}.isolated-status-page .viking-stack,.isolated-status-page .viking-stack--loose{gap:var(--viking-space-4)}.isolated-status-cta,app-status-cta.isolated-status-cta{display:block;width:100%;margin-top:var(--viking-space-2)}.empty-state-premium{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-3);width:100%;box-sizing:border-box;padding:var(--viking-space-4);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-sm);text-align:left}.empty-state-premium.status-cta-layout{display:block}.status-cta-copy{display:flex;flex-direction:column;gap:var(--viking-space-3);min-width:0}.empty-state-premium.status-cta-layout .status-badge-premium{align-self:flex-start}.empty-state-premium.status-cta-layout .empty-subtitle{margin-inline:0}.empty-state-premium.status-cta-layout .cta-actions{justify-content:flex-start}.empty-state-premium.status-cta-layout .cta-actions viking-button,.empty-state-premium.status-cta-layout .cta-actions .viking-btn{max-width:20rem}.empty-state-premium .status-badge-premium{align-self:center}.empty-state-premium .status-badge-premium.primary{background:color-mix(in srgb, var(--viking-accent) 14%, transparent);color:var(--viking-accent-strong, var(--viking-accent));border-color:color-mix(in srgb, var(--viking-accent) 30%, transparent);text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps);font-size:var(--viking-font-size-2xs)}.empty-state-premium .empty-title{margin:0;font-size:clamp(var(--viking-font-size-xl),3.5vw,var(--viking-font-size-2xl));font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;line-height:var(--viking-line-height-tight);color:var(--viking-text)}.empty-state-premium .empty-subtitle{margin:0 auto;max-width:40rem;color:var(--viking-text-muted);font-size:var(--viking-font-size-base);line-height:var(--viking-line-height-relaxed)}.empty-state-premium .features-list{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2);text-align:left;width:100%}@media(min-width: 768px){.empty-state-premium .features-list{grid-template-columns:repeat(3, minmax(0, 1fr))}}.empty-state-premium .feature-item{display:flex;align-items:flex-start;gap:var(--viking-space-2);padding:var(--viking-space-3);border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-lg);background:color-mix(in srgb, var(--viking-surface) 88%, transparent);min-width:0}.empty-state-premium .feature-icon{flex-shrink:0;color:var(--viking-accent)}.empty-state-premium .feature-text{display:flex;flex-direction:column;gap:var(--viking-space-0-5);min-width:0}.empty-state-premium .feature-text strong{font-size:var(--viking-font-size-sm);color:var(--viking-text)}.empty-state-premium .feature-text span{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);line-height:var(--viking-line-height-snug)}.empty-state-premium .empty-footer-text{margin:0;color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.empty-state-premium .cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--viking-space-2);width:100%}.empty-state-premium .cta-actions viking-button,.empty-state-premium .cta-actions .viking-btn{width:100%;max-width:28rem}.isolated-status-page viking-chart,.isolated-status-page .viking-chart{width:100%;min-width:0;height:var(--viking-chart-plot-height);min-height:var(--viking-chart-plot-height);max-height:var(--viking-chart-plot-height);overflow:visible}.dashboard-page-container .section-tag,.dashboard-page-container .viking-page-header-tag{display:inline-flex;align-items:center;gap:var(--viking-space-1);padding:var(--viking-space-0-5) var(--viking-space-2);border-radius:var(--viking-radius-pill);border:1px solid color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 10%, transparent);color:var(--viking-text-link);font-family:var(--viking-font-family);font-size:var(--viking-font-size-2xs);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.dashboard-page-container .viking-page-header-actions{width:100%}@media(min-width: 768px){.dashboard-page-container .viking-page-header-actions{width:auto}}.dashboard-page-container .panel-section>.section-heading{display:flex;align-items:center;gap:var(--viking-space-2);margin:0 0 var(--viking-space-3);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted)}.dashboard-page-container .panel-section>.section-heading viking-app-icon,.dashboard-page-container .panel-section>.section-heading viking-icon{color:var(--viking-accent)}.dashboard-page-container .data-item-row{min-height:var(--viking-touch-target-min, 44px);gap:var(--viking-space-2);padding:var(--viking-space-2) var(--viking-space-3)}.dashboard-page-container .data-list-outlined{border-radius:var(--viking-radius-lg);border-color:var(--viking-border-subtle);background:var(--viking-surface-recipe-inset, var(--viking-surface-inset))}.dashboard-page-container .code-block-outlined{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-relaxed);color:var(--viking-accent-strong);background:color-mix(in srgb, var(--viking-bg) 70%, var(--viking-surface));border:1px solid var(--viking-border-subtle);border-radius:var(--viking-radius-md);padding:var(--viking-space-2) var(--viking-space-3);overflow-x:auto}.dashboard-page-container .snapshot-stats{grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-2)}@media(min-width: 600px){.dashboard-page-container .snapshot-stats{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .snapshot-stat{padding:var(--viking-space-2);border-radius:var(--viking-radius-md);border:1px solid var(--viking-border-subtle);background:color-mix(in srgb, var(--viking-surface-alt) 70%, transparent)}.dashboard-page-container .overview-grid,.dashboard-page-container .detail-grid,.dashboard-page-container .dashboard-grid,.dashboard-page-container .triage-grid,.dashboard-page-container .soc-operations-grid,.dashboard-page-container .ces-gauge-cluster,.dashboard-page-container .stat-panels-grid,.dashboard-page-container .status-directory-grid{gap:var(--viking-dashboard-grid-gap)}.dashboard-page-container .settings-stack{gap:var(--viking-space-4) !important}.dashboard-page-container .overview-grid{grid-template-columns:minmax(0, 1fr);grid-template-areas:"setup" "health" "kpis" "threats" "metrics"}@media(min-width: 768px){.dashboard-page-container .overview-grid{grid-template-columns:minmax(0, 16rem) minmax(0, 1fr);grid-template-areas:"setup setup" "health kpis" "threats metrics"}}@media(min-width: 1024px){.dashboard-page-container .overview-grid{grid-template-columns:repeat(2, minmax(0, 1fr));grid-template-areas:"setup setup" "health kpis" "threats metrics"}}.dashboard-page-container .health-card{grid-area:health}.dashboard-page-container .kpi-grid{grid-area:kpis;grid-template-columns:minmax(0, 1fr)}@media(min-width: 600px){.dashboard-page-container .kpi-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.dashboard-page-container .kpi-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}}.dashboard-page-container .threats-panel{grid-area:threats}.dashboard-page-container .metrics-panel{grid-area:metrics}.dashboard-page-container .detail-grid{grid-template-columns:minmax(0, 1fr)}@media(min-width: 768px){.dashboard-page-container .detail-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .detail-kpis{display:block;grid-column:1/-1}.dashboard-page-container .detail-kpis .viking-metric-row{margin-bottom:0}.dashboard-page-container .detail-actions{grid-column:1/-1}.dashboard-page-container .dashboard-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-dashboard-grid-gap);width:100%}.dashboard-page-container .dashboard-grid-responsive{margin-bottom:var(--viking-page-stack-gap)}@media(min-width: 768px){.dashboard-page-container .dashboard-grid-responsive{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.dashboard-page-container .dashboard-grid-responsive{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .dashboard-grid-single,.dashboard-page-container .dashboard-grid-map{margin-bottom:var(--viking-page-stack-gap)}.dashboard-page-container .ces-gauge-cluster{grid-template-columns:minmax(0, 1fr)}@media(min-width: 600px){.dashboard-page-container .ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1440px){.dashboard-page-container .ces-gauge-cluster{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .gauge-card{min-height:13rem}.dashboard-page-container .gauge-card-header h3,.dashboard-page-container .gauge-card-footer{font-size:var(--viking-font-size-xs)}.dashboard-page-container .gauge-wrapper{min-height:5.5rem;justify-content:center}.dashboard-page-container .gauge-center-text .value{font-size:var(--viking-font-size-2xl)}.dashboard-page-container .ml-stat-panels-row,.dashboard-page-container .stat-panels-grid{grid-template-columns:minmax(0, 1fr);margin-bottom:var(--viking-page-stack-gap)}@media(min-width: 600px){.dashboard-page-container .ml-stat-panels-row,.dashboard-page-container .stat-panels-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.dashboard-page-container .ml-stat-panels-row,.dashboard-page-container .stat-panels-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.dashboard-page-container .ml-stat-panel{flex-direction:column;align-items:flex-start;gap:var(--viking-space-1);min-height:6.25rem}.dashboard-page-container .stat-title{font-size:var(--viking-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page-container .stat-value{font-size:var(--viking-font-size-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page-container .status-card-outlined,.dashboard-page-container viking-chart-panel{min-width:0}.dashboard-page-container viking-chart-panel{--viking-card-padding: var(--viking-space-3)}.dashboard-page-container .viking-chart-panel-body,.dashboard-page-container .card-body-clean{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:var(--viking-space-3) var(--viking-space-4) var(--viking-space-4);min-width:0;overflow:hidden}.dashboard-page-container .viking-chart-panel-body>viking-chart,.dashboard-page-container .card-body-clean>viking-chart,.dashboard-page-container .chart-container>viking-chart{flex:0 0 auto;width:100%;min-width:0;min-height:0}.dashboard-page-container .viking-chart-panel-body>viking-chart-empty-state,.dashboard-page-container .card-body-clean>viking-chart-empty-state,.dashboard-page-container .chart-container>viking-chart-empty-state{flex:1 1 auto;width:100%;min-width:0;min-height:0}.dashboard-page-container .mini-chart,.dashboard-page-container .chart-container,.dashboard-page-container .chart-container-medium,.dashboard-page-container .chart-container-large{min-height:0;max-height:none;display:flex;flex-direction:column;justify-content:flex-start}.dashboard-page-container .viking-chart-panel-origin-map .viking-chart-panel-body,.dashboard-page-container .origin-map-container{min-height:var(--viking-chart-map-min-height)}.dashboard-page-container .origin-map-canvas{min-height:var(--viking-chart-map-min-height);height:var(--viking-chart-map-min-height);width:100%;border-radius:var(--viking-radius-lg);overflow:hidden;background:var(--viking-bg);position:relative;contain:layout paint}.dashboard-page-container .origin-map-canvas .leaflet-container{width:100% !important;height:100% !important;min-height:inherit;border-radius:inherit;background:var(--viking-bg)}.dashboard-page-container .origin-map-canvas .leaflet-tile-pane{opacity:1}.dashboard-page-container .origin-map-canvas .leaflet-tile{max-width:none !important}.dashboard-content .page-inner-wrapper,.dashboard-page-container .page-inner-wrapper{container-name:viking-app-page;container-type:inline-size}.dashboard-page-container .overview-grid{grid-template-columns:minmax(0, 1fr);grid-template-areas:"setup" "health" "kpis" "threats" "metrics"}.dashboard-page-container .kpi-grid,.dashboard-page-container .snapshot-stats{grid-template-columns:minmax(0, 1fr)}@container viking-app-page (min-width: 600px){.dashboard-page-container .kpi-grid,.dashboard-page-container .snapshot-stats{grid-template-columns:repeat(2, minmax(0, 1fr))}}@container viking-app-page (min-width: 1024px){.dashboard-page-container .overview-grid{grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr);grid-template-areas:"setup setup" "health kpis" "threats metrics"}}.dashboard-page-container .triage-grid{grid-template-columns:minmax(0, 1fr)}.dashboard-page-container .triage-grid>.queue-panel,.dashboard-page-container .triage-grid>.detail-panel{grid-column:1/-1}.dashboard-page-container .queue-panel{container-name:viking-triage-queue;container-type:inline-size}.dashboard-page-container .queue-panel .filter-bar{flex-direction:column;align-items:stretch}@container viking-app-page (min-width: 1440px){.dashboard-page-container .triage-grid{grid-template-columns:minmax(calc(var(--viking-space-24) + var(--viking-space-12)), 0.9fr) minmax(0, 2fr)}.dashboard-page-container .triage-grid>.queue-panel{grid-column:1}.dashboard-page-container .triage-grid>.detail-panel{grid-column:2}}.dashboard-page-container .status-directory-grid{gap:var(--viking-space-4)}.dashboard-page-container .ces-gauge-cluster{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-space-24) + var(--viking-space-2)), 1fr))}.dashboard-page-container .platform-integrations-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-metric-card-min-width)), 1fr))}.dashboard-page-container .settings-form-panel .form-row,.dashboard-page-container .mfa-phone-row,.dashboard-page-container .service-inputs-row{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-space-24) + var(--viking-space-2)), 1fr));align-items:end}.dashboard-page-container .settings-form-panel .form-row>*,.dashboard-page-container .mfa-phone-row>*,.dashboard-page-container .service-inputs-row>*{min-width:0;width:100%}app-root{display:flex;flex-direction:column;min-height:100vh}.app-layout{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;width:100%}.app-layout>viking-app-layout{min-height:calc(100vh - var(--viking-navbar-height));min-height:calc(100dvh - var(--viking-navbar-height))}.app-layout>viking-app-layout>.viking-app-layout__main{min-height:100%}app-unified-select{display:block;width:100%;min-width:0}app-unified-select viking-field{width:100%}.main-content{flex:1;display:flex;flex-direction:column;width:100%;margin:0;padding:0}.grecaptcha-badge{visibility:hidden !important}.grecaptcha-bubble-holder,div.grecaptcha-bubble-holder,#recaptcha-container,#firebase-recaptcha-container,iframe[src*=recaptcha],iframe[src*="google.com/recaptcha"],body>div[style*=z-index]:has(iframe[src*=recaptcha]),body>div[style*=z-index]:has(iframe[src*="google.com/recaptcha"]),body>div:has(iframe[src*=recaptcha]),body>div:has(iframe[src*="google.com/recaptcha"]),body>div:has(iframe[title*=recaptcha]),body>div:has(iframe[title*=reCAPTCHA]),div[style*=z-index]:has(iframe[src*=recaptcha]),div[style*=z-index]:has(iframe[src*="google.com/recaptcha"]){z-index:var(--viking-z-external-challenge) !important}.full-width{width:100%}.api-key-reveal{padding:var(--viking-space-2);background:var(--viking-success-soft);border:var(--viking-border-width) var(--viking-border-style) var(--viking-success);border-radius:var(--viking-radius-md)}.danger-zone-card{border-color:var(--viking-danger)}.loading-state{position:relative;display:flex;justify-content:center;padding:var(--viking-space-3)}.filter-group-mobile{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-1);width:100%;margin-bottom:var(--viking-space-3)}@media(min-width: 768px){.filter-group-mobile{flex-direction:row;align-items:flex-end;gap:var(--viking-space-2)}}app-not-found,app-success{display:flex;flex:1 1 auto;flex-direction:column;width:100%;min-height:100%}.not-found-container,.success-container{display:flex;flex:1 1 auto;align-items:center;justify-content:center;width:100%;min-height:calc(100dvh - var(--viking-navbar-height) - var(--viking-space-16));padding:0;box-sizing:border-box}.not-found-container .page-inner-wrapper,.success-container .page-inner-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:var(--viking-form-narrow-max-width);margin-inline:auto;padding-block:var(--viking-space-3)}.not-found-card,.success-card{width:100%;max-width:var(--viking-form-narrow-max-width);text-align:center}.error-code{margin-bottom:var(--viking-space-3);color:var(--viking-accent);font-size:var(--viking-font-size-6xl);font-weight:var(--viking-font-weight-extrabold);line-height:var(--viking-line-height-none);letter-spacing:var(--viking-letter-spacing-tight)}.error-title,.success-title{margin:0 0 var(--viking-space-2);color:var(--viking-text);font-size:var(--viking-font-size-2xl);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight)}.error-message,.success-message{margin:0 0 var(--viking-space-4);color:var(--viking-text-muted);font-size:var(--viking-font-size-md);line-height:var(--viking-line-height-relaxed)}.syncing-state,.success-state,.error-state,.action-box{display:flex;flex-direction:column;align-items:center}.success-icon{margin-bottom:var(--viking-space-3);color:var(--viking-success);font-size:var(--viking-font-size-5xl);font-weight:var(--viking-font-weight-bold);line-height:var(--viking-line-height-none);letter-spacing:var(--viking-letter-spacing-tight)}.action-box .home-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.docs-bento-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3, var(--viking-space-3));width:100%}@media(min-width: 768px){.docs-bento-grid{grid-template-columns:repeat(12, 1fr)}}.docs-bento-card{grid-column:span 1;background:var(--viking-surface);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xl, 24px);padding:var(--viking-space-4, var(--viking-space-4));display:flex;flex-direction:column;gap:var(--viking-space-3, var(--viking-space-3));box-shadow:var(--viking-shadow-sm);transition:transform var(--viking-duration-normal, 0.3s) ease,border-color var(--viking-duration-normal, 0.3s) ease,box-shadow var(--viking-duration-normal, 0.3s) ease;overflow:hidden;position:relative;min-height:100%}@media(min-width: 768px){.docs-bento-card{grid-column:span 6}}.docs-bento-card:hover{transform:translateY(-4px);border-color:var(--viking-accent, var(--viking-teal-600));box-shadow:var(--viking-shadow-hover)}.docs-bento-card .viking-icon-heading{flex-shrink:0}.docs-bento-card__body{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));min-width:0}@media(min-width: 768px){.docs-bento-full{grid-column:span 12}}.docs-page-stack{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-6));width:100%;max-width:min(100%,var(--viking-container-max-width, 1260px));margin-inline:auto}.docs-hero{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-5) var(--viking-space-3);border:1px solid var(--viking-border);border-radius:var(--viking-radius-xl);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-sm);text-align:center;overflow:visible}.docs-hero-with-mockup{display:grid;grid-template-columns:1fr;gap:var(--viking-space-5);align-items:center;text-align:left;overflow:visible}@media(min-width: 1024px){.docs-hero-with-mockup{grid-template-columns:minmax(0, 1.05fr) minmax(0, 0.95fr)}}.docs-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-3);min-width:0}.docs-hero-mockup{min-width:0;overflow:visible}.docs-hero .pulse-dot{animation:none;box-shadow:none}.docs-title{max-width:var(--viking-content-readable-max-width);margin:0;color:var(--viking-text);font-size:clamp(var(--viking-font-size-2xl),5vw,var(--viking-font-size-5xl));font-weight:var(--viking-font-weight-extrabold);line-height:var(--viking-line-height-none);letter-spacing:var(--viking-letter-spacing-normal);text-transform:uppercase}.docs-subtitle{max-width:var(--viking-content-readable-max-width);margin:0;color:var(--viking-text-muted);font-size:var(--viking-font-size-base);line-height:var(--viking-line-height-relaxed)}.docs-outline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--viking-space-1);padding:var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface);box-shadow:var(--viking-shadow-sm)}.outline-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);min-height:var(--viking-touch-target-min);padding:0 var(--viking-space-2);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);text-decoration:none;white-space:nowrap}@media(min-width: 768px){.outline-link{min-height:var(--viking-control-height-sm)}}.outline-link:hover,.outline-link:focus-visible{background:var(--viking-accent-soft);color:var(--viking-text)}.docs-design-system-note,.docs-security-banner,.health-check-block{display:flex;gap:var(--viking-space-2);padding:var(--viking-card-padding-compact);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-alt);color:var(--viking-text);box-shadow:var(--viking-shadow-sm)}.docs-design-system-note p,.docs-security-banner p,.health-check-block p{margin:var(--viking-space-0-5) 0 0;color:var(--viking-text-muted)}.docs-quick-start{display:flex;flex-direction:column;gap:var(--viking-space-3)}.docs-quick-start-steps,.integration-cards{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);list-style:none;margin:0;padding:0}@media(min-width: 768px){.docs-quick-start-steps{grid-template-columns:repeat(2, 1fr);gap:var(--viking-space-4)}.integration-cards{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.docs-quick-start-steps{gap:var(--viking-space-5)}}@media(min-width: 1440px){.docs-quick-start-steps{grid-template-columns:repeat(4, minmax(0, 1fr))}}.docs-quick-start-steps>li{min-width:0}.docs-quick-start-card,.integration-card{display:flex;flex-direction:column;gap:var(--viking-space-2);min-height:100%;color:var(--viking-text);text-decoration:none}.integration-card>.viking-icon-heading{align-items:flex-start;flex-direction:column;gap:var(--viking-space-3);margin-bottom:var(--viking-space-1)}.integration-card>.viking-icon-heading+p{margin-top:0;padding-left:0}.docs-quick-start-card{position:relative;overflow:visible;padding:var(--viking-card-padding);transition:border-color var(--viking-duration-normal, 0.3s) ease,box-shadow var(--viking-duration-normal, 0.3s) ease,transform var(--viking-duration-normal, 0.3s) ease}.docs-quick-start-card:hover,.docs-quick-start-card:focus-visible{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.docs-quick-start-card:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.docs-quick-start-card .step-index{align-self:flex-start;font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-extrabold);letter-spacing:var(--viking-letter-spacing-wider);color:var(--viking-accent);line-height:var(--viking-line-height-none)}.docs-quick-start-card h3{font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-extrabold);letter-spacing:var(--viking-letter-spacing-wide);text-transform:uppercase}.docs-quick-start-card p{color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.docs-quick-start-card h3,.docs-quick-start-card p,.integration-card h3,.integration-card p{margin:0}.docs-operations-section,.integrations-section{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-6))}.integrations-header{display:flex;flex-direction:column;gap:var(--viking-space-2);max-width:var(--viking-content-readable-max-width)}.integrations-header h2,.integrations-header h3{margin:0;color:var(--viking-text);font-size:clamp(var(--viking-font-size-xl),3vw,var(--viking-font-size-3xl));font-weight:var(--viking-font-weight-extrabold);letter-spacing:var(--viking-letter-spacing-tight);line-height:var(--viking-line-height-tight);text-transform:uppercase}.integrations-header p{margin:0;color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.integrations-header .section-tag{margin:0;font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-extrabold);letter-spacing:var(--viking-letter-spacing-wider);text-transform:uppercase;color:var(--viking-accent)}.integration-link{margin-top:auto;color:var(--viking-text-link);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);text-decoration:none}.integration-link:hover,.integration-link:focus-visible{color:var(--viking-text-link-hover);text-decoration:underline;text-underline-offset:.15em}.endpoint-badge{display:inline-flex;align-items:center;gap:var(--viking-space-1);width:fit-content;max-width:100%;padding:var(--viking-space-0-5) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);color:var(--viking-text);font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs)}.endpoint-badge .method{color:var(--viking-success);font-weight:var(--viking-font-weight-bold)}.endpoint-badge .path{min-width:0;overflow-wrap:anywhere}.code-block-premium{--viking-code-panel-bg: var(--viking-charcoal-950);--viking-code-panel-text: var(--viking-white-pure);--viking-code-panel-header: var(--viking-crimson-300);color-scheme:dark;overflow:hidden;border:1px solid color-mix(in srgb, var(--viking-electric-400) 34%, var(--viking-border));border-radius:var(--viking-radius-lg);background:var(--viking-code-panel-bg);box-shadow:var(--viking-shadow-sm)}.code-block-premium .code-header{padding:var(--viking-space-1) var(--viking-space-2);border-bottom:1px solid color-mix(in srgb, var(--viking-metallic-400) 38%, transparent);color:var(--viking-code-panel-header);font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-wider);text-transform:uppercase}.code-block-premium pre{margin:0;padding:var(--viking-space-2);overflow-x:auto;background:rgba(0,0,0,0) !important;color:var(--viking-code-panel-text) !important;white-space:pre-wrap;overflow-wrap:anywhere}.code-block-premium code{display:block;padding:0 !important;border:0 !important;border-radius:0 !important;background:rgba(0,0,0,0) !important;color:var(--viking-code-panel-text) !important;font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-relaxed);white-space:inherit;text-shadow:none;box-shadow:none !important}.code-block-premium.compact pre{padding:var(--viking-space-2)}html[data-theme=light] .code-block-premium{--viking-code-panel-bg: var(--viking-charcoal-950);--viking-code-panel-text: var(--viking-white-pure);--viking-code-panel-header: var(--viking-crimson-400);background:var(--viking-code-panel-bg) !important}html[data-theme=light] .code-block-premium pre,html[data-theme=light] .code-block-premium code{color:var(--viking-code-panel-text) !important}html[data-theme=light] .code-block-premium .code-header{color:var(--viking-code-panel-header)}@media(prefers-color-scheme: light){html:not([data-theme=dark]) .code-block-premium{--viking-code-panel-bg: var(--viking-charcoal-950);--viking-code-panel-text: var(--viking-white-pure);--viking-code-panel-header: var(--viking-crimson-400);background:var(--viking-code-panel-bg) !important}html:not([data-theme=dark]) .code-block-premium pre,html:not([data-theme=dark]) .code-block-premium code{color:var(--viking-code-panel-text) !important}html:not([data-theme=dark]) .code-block-premium .code-header{color:var(--viking-code-panel-header)}}.health-check-block{flex-direction:column;gap:var(--viking-space-2);margin-top:var(--viking-page-section-gap, var(--viking-space-6));padding-top:var(--viking-space-3)}.health-check-block h3{margin:0;color:var(--viking-text);font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-extrabold);letter-spacing:var(--viking-letter-spacing-wide);text-transform:uppercase}@media(min-width: 768px){.docs-bento-grid[data-bento-even-pairs=true] .docs-bento-card:not(.docs-bento-full):last-child:nth-child(even){grid-column:span 12}}.landing-container:not(.suite-landing){position:relative;display:flex;flex-direction:column;gap:var(--viking-space-4);min-height:calc(100vh - 64px);padding-block:var(--viking-space-6) var(--viking-space-4);overflow:visible;font-family:var(--viking-font-family);isolation:isolate}.landing-container:not(.suite-landing)::before{content:"";position:absolute;inset:-12% -10% auto -10%;height:min(70vh,40rem);z-index:0;pointer-events:none;background:radial-gradient(65% 75% at 12% 18%, color-mix(in srgb, var(--viking-accent) 22%, transparent), transparent 68%),radial-gradient(45% 55% at 92% 8%, color-mix(in srgb, var(--viking-accent-secondary) 12%, transparent), transparent 62%)}.landing-container:not(.suite-landing)::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.22;background-image:linear-gradient(color-mix(in srgb, var(--viking-border) 70%, transparent) 1px, transparent 1px),linear-gradient(90deg, color-mix(in srgb, var(--viking-border) 70%, transparent) 1px, transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 30% 0%, black 0%, transparent 72%)}.landing-container:not(.suite-landing)>*{position:relative;z-index:1}@media(min-width: 768px){.landing-container:not(.suite-landing){padding-block:var(--viking-space-9) var(--viking-space-8);gap:var(--viking-space-6)}}@media(prefers-reduced-motion: reduce){.landing-container:not(.suite-landing)::before,.landing-container:not(.suite-landing)::after{opacity:.15}}.landing-container:not(.suite-landing) .hero-brand{margin:0;font-family:var(--viking-font-family-mono, var(--viking-font-family));font-size:var(--viking-font-size-title);font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-caps, 0.06em);text-transform:uppercase;color:var(--viking-accent);line-height:var(--viking-line-height-tight, 1.1)}.landing-container:not(.suite-landing) .title{font-size:var(--viking-font-size-display-lg);font-weight:900;line-height:1.05;letter-spacing:-0.02em;margin:0;color:var(--hero-title-color, var(--viking-text));text-transform:uppercase}.landing-container:not(.suite-landing) .subtitle{font-size:var(--viking-font-size-lead-fluid);color:var(--viking-text-muted);line-height:1.6;margin:0;max-width:520px}.landing-container.suite-landing{overflow:hidden}.landing-container.suite-landing :is(.quick-start-band,.showcase-band,.security-pillars-band,.pricing-showcase){padding-block:0;margin-bottom:0;border-bottom:none}.showcase-layout{max-width:var(--viking-container-max-width, var(--viking-container-max-width, 1260px));margin:0 auto;overflow:visible}.landing-container svg[aria-hidden=true]{overflow:visible;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}@media(prefers-reduced-motion: reduce){.pulse-dot{animation:none}}.community-home{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-7))}.community-hero-copy{display:flex;flex-direction:column;gap:var(--viking-space-3)}.community-eyebrow{align-self:flex-start}.community-showcases,.community-resources{display:flex;flex-direction:column;gap:var(--viking-space-4)}.community-showcase-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);align-items:stretch}@media(min-width: 768px){.community-showcase-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.community-showcase-card{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-card-padding);text-decoration:none;color:inherit;min-height:100%;position:relative;overflow:hidden;box-shadow:var(--viking-shadow-sm);transition:border-color var(--viking-duration-fast) var(--viking-ease-default),transform var(--viking-duration-fast) var(--viking-ease-default),box-shadow var(--viking-duration-fast) var(--viking-ease-default)}.community-showcase-card::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg, color-mix(in srgb, var(--viking-accent) 45%, transparent), transparent 75%);pointer-events:none}.community-showcase-card:hover{border-color:var(--viking-border-strong);box-shadow:var(--viking-shadow-sm)}.community-showcase-card:focus-visible{outline:2px solid var(--viking-ring);outline-offset:2px}.community-showcase-card h3{margin:0;font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-semibold)}.community-showcase-card p{margin:0;flex:1;color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.community-showcase-card-title{display:flex;align-items:center;gap:var(--viking-space-2)}.community-showcase-cta{display:inline-flex;align-items:center;gap:var(--viking-space-1);margin-top:var(--viking-space-2);color:var(--viking-accent);font-weight:var(--viking-font-weight-medium)}.community-resource-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--viking-space-2)}.community-resource-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--viking-space-2);padding:var(--viking-card-padding);text-decoration:none;color:inherit}.community-resource-link strong{display:block;font-size:var(--viking-font-size-lg)}.community-resource-link span{display:block;color:var(--viking-text-muted);margin-top:var(--viking-space-0-5)}.community-resource-link:hover{border-color:var(--viking-border-strong)}.community-resource-link:focus-visible{outline:2px solid var(--viking-ring);outline-offset:2px}.community-resource-arrow{color:var(--viking-text-muted)}.legal-document,.page-content{color:var(--viking-text)}.legal-document-header,.privacy-header,.terms-header{border-bottom:1px solid var(--viking-border);padding-bottom:var(--viking-space-3);margin-bottom:var(--viking-space-4);text-align:center}.legal-document-header h1,.privacy-header h1,.terms-header h1{font-size:var(--viking-font-size-3xl);font-weight:var(--viking-font-weight-bold);margin:0 0 var(--viking-space-1);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.last-updated{font-size:var(--viking-font-size);color:var(--viking-text-muted);margin:0}.legal-section,.privacy-section,.terms-section{margin-bottom:var(--viking-space-4)}.legal-section h2,.privacy-section h2,.terms-section h2{font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-semibold);margin:0 0 var(--viking-space-2);letter-spacing:var(--viking-letter-spacing-normal);color:var(--viking-text);border-left:var(--viking-grid-unit) solid var(--viking-success);padding-left:var(--viking-space-1)}.legal-section p,.privacy-section p,.terms-section p{font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed);color:var(--viking-text);margin:0 0 var(--viking-space-2)}.legal-section ul,.privacy-section ul,.terms-section ul{padding-left:var(--viking-space-3);margin:0 0 var(--viking-space-2)}.legal-section li,.privacy-section li,.terms-section li{margin-bottom:var(--viking-space-1);font-size:var(--viking-font-size)}.legal-section strong,.privacy-section strong,.terms-section strong{color:var(--viking-text)}.cookie-types-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2);margin:var(--viking-space-3) 0}.cookie-card,.contact-card,.compliance-form-card{background:color-mix(in srgb, var(--viking-surface-alt) 40%, transparent);border:1px solid var(--viking-border);border-radius:var(--viking-radius);padding:var(--viking-space-2);box-shadow:var(--viking-shadow-sm)}.cookie-card h3,.compliance-form-card h3{font-size:var(--viking-font-size-md);font-weight:var(--viking-font-weight-semibold);margin:0 0 var(--viking-space-1);color:var(--viking-text)}.cookie-card p,.contact-card p,.compliance-form-card .form-instruction{font-size:var(--viking-font-size);line-height:var(--viking-line-height-normal);margin:0 0 var(--viking-space-1);color:var(--viking-text-muted)}.contact-card{margin-top:var(--viking-space-2)}.contact-card p:last-child{margin-bottom:0}.contact-card a{overflow-wrap:anywhere;word-break:break-word}.cookie-action-box{background:color-mix(in srgb, var(--viking-success) 8%, transparent);border:1px dashed var(--viking-success);border-radius:var(--viking-radius-xl);padding:var(--viking-space-3);text-align:center;margin-top:var(--viking-space-3);display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-1)}.cookie-action-box p{margin:0;font-weight:var(--viking-font-weight-medium)}.compliance-form-card{margin-top:var(--viking-space-4)}.compliance-form{display:flex;flex-direction:column;gap:var(--viking-space-2)}.form-group{display:flex;flex-direction:column;gap:var(--viking-space-1)}.form-group label{font-size:var(--viking-font-size);font-weight:var(--viking-font-weight-medium);color:var(--viking-text)}.form-input{background-color:var(--viking-surface);border:1px solid var(--viking-border);border-radius:var(--viking-radius);padding:var(--viking-space-1) var(--viking-space-2);color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size);outline:none;transition:var(--viking-transition-colors)}.form-input:focus{border-color:var(--viking-success);box-shadow:0 0 0 var(--viking-ring-width) color-mix(in srgb, var(--viking-success) 20%, transparent)}textarea.form-input{resize:vertical}select.form-input{cursor:pointer}.gdpr-success-callout{margin:var(--viking-space-2) 0 0;padding:var(--viking-space-2);border-radius:var(--viking-radius-lg);border:1px solid color-mix(in srgb, var(--viking-success) 35%, transparent);background:color-mix(in srgb, var(--viking-success) 12%, transparent);color:var(--viking-text);font-size:var(--viking-font-size-sm)}.marketing-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - var(--viking-navbar-height));text-align:center;padding-block:var(--viking-space-6)}.marketing-not-found-icon{color:var(--viking-accent);opacity:.6;margin-bottom:var(--viking-space-2)}.marketing-not-found-code{font-size:var(--viking-font-size-4xl);font-weight:var(--viking-font-weight-bold);margin:0;line-height:var(--viking-line-height-tight);color:var(--viking-accent)}.marketing-not-found-title{font-size:var(--viking-font-size-2xl);margin:var(--viking-space-2) 0;color:var(--viking-text)}.marketing-not-found-message{color:var(--viking-text-muted);max-width:var(--viking-content-readable-max-width);margin:0 0 var(--viking-space-4);font-size:var(--viking-font-size-md);line-height:var(--viking-line-height-relaxed)}.docs-hero-actions{justify-content:center;align-self:center;width:100%;overflow:visible}.docs-cta-secondary{background:var(--viking-surface);color:var(--viking-accent) !important;border-color:color-mix(in srgb, var(--viking-accent) 35%, var(--viking-border));box-shadow:var(--viking-shadow-sm);flex-shrink:0}.docs-cta-secondary:hover,.docs-cta-secondary:focus-visible{border-color:var(--viking-accent);background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface));color:var(--viking-accent-strong) !important}@media(min-width: 600px){.docs-hero-actions{width:auto}}@media(min-width: 768px){.cookie-types-grid{grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}.compliance-form-card{padding:var(--viking-space-3)}}.compliance-container-inner{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-6));width:100%;max-width:min(100%,var(--viking-container-max-width, 1260px));box-sizing:border-box}.compliance-hero.hud-header{display:grid;gap:var(--viking-space-5);align-items:center;overflow:visible;justify-content:stretch;margin-bottom:0;padding:var(--viking-space-4);border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius-xl, 16px);background:var(--viking-surface, var(--card-bg));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));text-align:left}@media(min-width: 1024px){.compliance-hero.hud-header{grid-template-columns:minmax(0, 1.05fr) minmax(16rem, 0.95fr);padding:var(--viking-space-5)}}.compliance-hero.hud-header .title-group{display:flex;flex-direction:column;align-items:flex-start;gap:var(--viking-space-2);min-width:0}.compliance-hero.hud-header .section-tag-row{display:flex;align-items:center;gap:var(--viking-space-1);margin-bottom:0;justify-content:flex-start}.compliance-hero.hud-header .hud-title{font-family:var(--viking-font-family);font-size:var(--viking-font-size-title-lg);font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-tight, -0.02em);text-transform:none;margin:0;color:var(--viking-text, var(--text-color));line-height:var(--viking-line-height-tight, 1.15)}.compliance-hero.hud-header .hud-subtitle{font-family:var(--viking-font-family);font-size:var(--viking-font-size-base, 1rem);color:var(--viking-text-muted, var(--text-muted));margin:0;max-width:40rem;line-height:var(--viking-line-height-relaxed, 1.625)}.compliance-hero-mockup{min-width:0;width:100%;overflow:visible}.compliance-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3, var(--viking-space-3));width:100%;position:relative;z-index:1}@media(min-width: 768px){.compliance-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}.compliance-card{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2));min-width:0;background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius-xl, 16px);padding:var(--viking-space-4, var(--viking-space-4));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));transition:transform var(--viking-duration-normal, 0.3s) ease,box-shadow var(--viking-duration-normal, 0.3s) ease,border-color var(--viking-duration-normal, 0.3s) ease}.compliance-card:hover{transform:translateY(var(--viking-state-hover-lift, -1px));box-shadow:var(--viking-shadow-hover, var(--shadow-hover));border-color:color-mix(in srgb, var(--viking-accent, var(--color-primary)) 35%, var(--viking-border, var(--border)))}.compliance-card .card-header{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));margin:0}.compliance-card .card-header .icon-primary,.compliance-card .card-header viking-app-icon.icon-primary,.compliance-card .card-header .viking-icon.icon-primary{color:var(--viking-accent, var(--color-primary));flex-shrink:0}.compliance-card .card-header h2{font-size:var(--viking-font-size-lg, 1.25rem);font-weight:var(--viking-font-weight-bold, 700);margin:0;color:var(--viking-text, var(--text-color));letter-spacing:var(--viking-letter-spacing-wide, 0.025em);text-transform:uppercase}.compliance-card .card-description{font-size:var(--viking-font-size-base, 1rem);color:var(--viking-text-muted, var(--text-muted));margin:0;line-height:var(--viking-line-height-relaxed, 1.5)}.telemetry-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2))}.telemetry-list li{display:flex;gap:var(--viking-space-2, var(--viking-space-2));align-items:flex-start;min-width:0}.telemetry-list .icon-success,.telemetry-list viking-app-icon.icon-success{color:var(--viking-success, var(--color-success));flex-shrink:0;margin-top:var(--viking-space-0-5)}.telemetry-list .item-details{min-width:0}.telemetry-list .item-details strong{display:block;font-size:var(--viking-font-size-base, 1rem);color:var(--viking-text, var(--text-color));margin-bottom:var(--viking-space-0-5)}.telemetry-list .item-details p{font-size:var(--viking-font-size-sm, 0.875rem);color:var(--viking-text-muted, var(--text-muted));margin:0;line-height:var(--viking-line-height-normal, 1.4)}.score-display{margin-bottom:var(--viking-space-2, var(--viking-space-2))}.score-display .score-bar-bg{height:8px;background:color-mix(in srgb, var(--viking-accent, var(--color-primary)) 16%, var(--viking-surface-alt, var(--bg-color)));border-radius:var(--viking-radius-pill, 999px);overflow:hidden;margin-bottom:var(--viking-space-1, var(--viking-space-1))}.score-display .score-bar-fill{height:100%;width:0;background:var(--viking-accent, var(--color-primary));border-radius:var(--viking-radius-pill, 999px);transition:width .8s var(--viking-ease-out, ease-out)}.score-display .score-bar-fill--complete{width:100%}.score-display .score-labels{display:flex;justify-content:space-between;align-items:center;gap:var(--viking-space-2);flex-wrap:wrap;font-size:var(--viking-font-size-sm, 0.875rem);font-weight:var(--viking-font-weight-semibold, 600)}.score-display .score-labels .percentage{color:var(--viking-accent, var(--color-primary))}.score-display .score-labels .status-indicator{color:var(--viking-success, var(--color-success))}.criteria-list{display:flex;flex-direction:column;gap:var(--viking-space-2, var(--viking-space-2))}.criteria-item{border-bottom:1px solid var(--viking-border, var(--border));padding-bottom:var(--viking-space-2, var(--viking-space-2))}.criteria-item:last-child{border-bottom:none;padding-bottom:0}.criteria-item .criteria-top{display:flex;justify-content:space-between;align-items:center;gap:var(--viking-space-2);margin-bottom:var(--viking-space-1, var(--viking-space-1));flex-wrap:wrap}.criteria-item .criteria-name{font-size:var(--viking-font-size-base, 1rem);font-weight:var(--viking-font-weight-semibold, 600);color:var(--viking-text, var(--text-color))}.criteria-item .criteria-badge{font-size:var(--viking-font-size-xs, 0.75rem);font-weight:var(--viking-font-weight-bold, 700);padding:var(--viking-space-0-5) var(--viking-space-2);border-radius:var(--viking-radius-pill, 999px);text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-wider, 0.05em)}.criteria-item .criteria-badge.success{background:color-mix(in srgb, var(--viking-success, var(--color-success)) 12%, transparent);border:1px solid color-mix(in srgb, var(--viking-success, var(--color-success)) 34%, transparent);color:var(--viking-success, var(--color-success))}.criteria-item .criteria-desc{font-size:var(--viking-font-size-sm, 0.875rem);color:var(--viking-text-muted, var(--text-muted));margin:0 0 var(--viking-space-1, var(--viking-space-1));line-height:var(--viking-line-height-normal, 1.4)}.criteria-item .criteria-details{font-size:var(--viking-font-size-sm, 0.875rem);color:var(--viking-text, var(--text-color));margin:0}.criteria-item .criteria-details strong{color:var(--viking-text-muted, var(--text-muted))}.sharing-section{position:relative;z-index:1;width:100%;background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius-xl, 16px);padding:var(--viking-space-4, var(--viking-space-4));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));display:flex;flex-direction:column;gap:var(--viking-space-3, var(--viking-space-3));box-sizing:border-box}@media(min-width: 768px){.sharing-section{padding:var(--viking-space-5, var(--viking-space-5))}}.sharing-section .section-intro{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-1, var(--viking-space-1))}.sharing-section .section-intro .section-tag-row{justify-content:center}.sharing-section .section-intro h2{font-size:var(--viking-font-size-title-sm);font-weight:var(--viking-font-weight-extrabold, 800);margin:0;color:var(--viking-text, var(--text-color));text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-wide, 0.025em)}.sharing-section .section-intro p{font-size:var(--viking-font-size-base, 1rem);color:var(--viking-text-muted, var(--text-muted));max-width:48rem;margin:0;line-height:var(--viking-line-height-relaxed, 1.6)}.safety-warning-box{display:flex;align-items:flex-start;gap:var(--viking-space-2, var(--viking-space-2));background:color-mix(in srgb, var(--viking-warning, var(--color-warning)) 10%, var(--viking-surface, var(--card-bg)));border:1px solid color-mix(in srgb, var(--viking-warning, var(--color-warning)) 45%, var(--viking-border, var(--border)));border-radius:var(--viking-radius-lg, 12px);padding:var(--viking-space-2, var(--viking-space-2))}.safety-warning-box .warning-icon{color:var(--viking-warning, var(--color-warning));flex-shrink:0}.safety-warning-box .warning-content{flex:1;min-width:0}.safety-warning-box .warning-content strong{display:block;font-size:var(--viking-font-size-base, 1rem);color:var(--viking-text, var(--text-color));margin-bottom:var(--viking-space-0-5)}.safety-warning-box .warning-content p{font-size:var(--viking-font-size-sm, 0.875rem);color:var(--viking-text-muted, var(--text-muted));margin:0;line-height:var(--viking-line-height-normal, 1.4)}.safety-warning-box .icon-button{background:none;border:none;cursor:pointer;color:var(--viking-text-muted, var(--text-muted));padding:var(--viking-space-0-5);border-radius:var(--viking-radius, 8px);flex-shrink:0}.safety-warning-box .icon-button:hover,.safety-warning-box .icon-button:focus-visible{color:var(--viking-text, var(--text-color));background:color-mix(in srgb, var(--viking-text) 6%, transparent)}.safety-warning-box .icon-button:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-accent));outline-offset:var(--viking-ring-offset, 2px)}.sharing-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-4, var(--viking-space-4))}@media(min-width: 1024px){.sharing-grid{grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr);align-items:start}}.sharing-controls{min-width:0}.sharing-controls h3{font-size:var(--viking-font-size-md, 1.125rem);font-weight:var(--viking-font-weight-bold, 700);margin:0 0 var(--viking-space-1, var(--viking-space-1));color:var(--viking-text, var(--text-color))}.sharing-controls .desc-text{font-size:var(--viking-font-size-sm, 0.875rem);color:var(--viking-text-muted, var(--text-muted));margin:0 0 var(--viking-space-2, var(--viking-space-2));line-height:var(--viking-line-height-normal, 1.4)}.target-selector{display:flex;flex-direction:column;gap:var(--viking-space-1, var(--viking-space-1));margin-bottom:var(--viking-space-3, var(--viking-space-3))}.selector-btn{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));width:100%;min-height:var(--viking-control-height, 44px);background:var(--viking-bg, var(--bg-color));border:1px solid var(--viking-border, var(--border));color:var(--viking-text, var(--text-color));padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-2, var(--viking-space-2));border-radius:var(--viking-radius-lg, 12px);font-weight:var(--viking-font-weight-semibold, 600);font-size:var(--viking-font-size-base, 1rem);text-align:left;cursor:pointer;transition:var(--viking-transition-colors, border-color 0.2s, background 0.2s, color 0.2s)}.selector-btn:hover{border-color:var(--viking-accent, var(--color-primary));background:color-mix(in srgb, var(--viking-accent, var(--color-primary)) 6%, var(--viking-bg, var(--bg-color)))}.selector-btn.active{border-color:var(--viking-accent, var(--color-primary));background:color-mix(in srgb, var(--viking-accent, var(--color-primary)) 12%, var(--viking-bg, var(--bg-color)));color:var(--viking-accent, var(--color-primary))}.selector-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-accent));outline-offset:var(--viking-ring-offset, 2px)}.submit-action-box{display:flex;align-items:center;gap:var(--viking-space-2, var(--viking-space-2));margin-bottom:var(--viking-space-3, var(--viking-space-3));flex-wrap:wrap}.submit-report-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));min-height:var(--viking-control-height, 44px);background:var(--viking-accent, var(--color-primary));color:var(--viking-white-pure, var(--viking-white-pure));border:none;border-radius:var(--viking-radius-pill, 999px);padding:0 var(--viking-space-3, var(--viking-space-3));font-weight:var(--viking-font-weight-semibold, 600);font-size:var(--viking-font-size-base, 1rem);cursor:pointer;transition:transform var(--viking-duration-fast, 0.2s) ease,box-shadow var(--viking-duration-fast, 0.2s) ease,opacity var(--viking-duration-fast, 0.2s) ease}.submit-report-btn:hover:not(:disabled){transform:translateY(var(--viking-state-hover-lift, -1px));box-shadow:var(--viking-shadow-sm, var(--shadow-sm))}.submit-report-btn:disabled{opacity:.6;cursor:not-allowed}.submit-report-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-accent));outline-offset:var(--viking-ring-offset, 2px)}.mode-tag{font-size:var(--viking-font-size-xs, 0.75rem);font-weight:var(--viking-font-weight-semibold, 600);color:var(--viking-success, var(--color-success));background:color-mix(in srgb, var(--viking-success, var(--color-success)) 12%, transparent);border:1px solid color-mix(in srgb, var(--viking-success, var(--color-success)) 32%, transparent);padding:var(--viking-space-0-5) var(--viking-space-2);border-radius:var(--viking-radius-pill, 999px)}.submission-response{background:var(--viking-bg, var(--bg-color));border:1px solid var(--viking-border, var(--border));border-radius:var(--viking-radius-lg, 12px);padding:var(--viking-space-2, var(--viking-space-2))}.submission-response .response-header{display:flex;align-items:flex-start;gap:var(--viking-space-1, var(--viking-space-1));font-weight:var(--viking-font-weight-semibold, 600);font-size:var(--viking-font-size-sm, 0.875rem);margin-bottom:var(--viking-space-1, var(--viking-space-1))}.submission-response .response-header.success{color:var(--viking-success, var(--color-success))}.submission-response .transmission-logs{border-top:1px dashed var(--viking-border, var(--border));padding-top:var(--viking-space-1, var(--viking-space-1))}.submission-response .logs-title{display:block;font-size:var(--viking-font-size-xs, 0.75rem);font-weight:var(--viking-font-weight-bold, 700);color:var(--viking-text-muted, var(--text-muted));margin-bottom:var(--viking-space-1, var(--viking-space-1));text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-wider, 0.05em)}.submission-response .transmission-logs-list{display:flex;flex-direction:column;gap:var(--viking-space-1, var(--viking-space-1))}.submission-response .transmission-log-item{display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1))}.submission-response .log-dot{width:6px;height:6px;background:var(--viking-accent, var(--color-primary));border-radius:50%;flex-shrink:0}.submission-response .log-text{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs, 0.75rem);color:var(--viking-text, var(--text-color))}.sharing-payload{display:flex;flex-direction:column;min-width:0;border-radius:var(--viking-radius-lg, 12px);overflow:hidden;border:1px solid var(--viking-border, var(--border));box-shadow:var(--viking-shadow-sm, var(--shadow-sm));background:var(--viking-charcoal-950, var(--viking-ink-950))}.sharing-payload .code-header{background:var(--viking-surface, var(--card-bg));padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-2, var(--viking-space-2));display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));border-bottom:1px solid var(--viking-border, var(--border))}.sharing-payload .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sharing-payload .dot.red{background:var(--viking-danger, var(--color-error))}.sharing-payload .dot.yellow{background:var(--viking-warning, var(--color-warning))}.sharing-payload .dot.green{background:var(--viking-success, var(--color-success))}.sharing-payload .file-name{color:var(--viking-text, var(--text-color));font-size:var(--viking-font-size-xs, 0.75rem);font-family:var(--viking-font-family-mono);margin-left:var(--viking-space-1, var(--viking-space-1));font-weight:var(--viking-font-weight-medium, 500);overflow-wrap:anywhere}.sharing-payload pre{margin:0;background:rgba(0,0,0,0);padding:var(--viking-space-2, var(--viking-space-2));overflow-x:auto;max-height:26rem}.sharing-payload code{font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs, 0.75rem);color:var(--viking-white-pure, var(--viking-white-pure));line-height:var(--viking-line-height-relaxed, 1.5);white-space:pre-wrap;overflow-wrap:anywhere}.is-hidden{display:none !important}.is-visible-block{display:block !important}.publication-shell{width:100%;max-width:none;box-sizing:border-box;border-radius:var(--viking-radius-xl, 16px);border:1px solid var(--viking-border, var(--viking-border));background:var(--viking-surface, var(--viking-surface));box-shadow:var(--viking-shadow-sm, var(--viking-shadow-sm));overflow:hidden}.book-toc-wrapper,.whitepaper-wrapper,.book-toc-page .page-inner-wrapper,.whitepaper-page .page-inner-wrapper{max-width:min(100%,var(--viking-container-max-width, 1260px))}.publication-hero{position:relative;text-align:center;padding:var(--viking-space-4) var(--viking-space-4) var(--viking-space-4);border-bottom:1px solid var(--viking-border);overflow:hidden}.publication-hero .hero-brand{position:relative;display:flex;justify-content:center;margin-bottom:var(--viking-space-2)}.publication-hero .section-tag-row{display:flex;justify-content:center;width:100%}.publication-hero .hero-title,.publication-hero .hero-subtitle,.publication-hero .hero-meta{text-align:center;margin-left:auto;margin-right:auto}.publication-hero .hero-meta{max-width:640px}.publication-hero .hero-brand-icon{filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--viking-teal-600) 25%, transparent))}.publication-hero .hero-title{position:relative;font-family:var(--viking-font-family);font-size:var(--viking-font-size-display-lg);font-weight:900;line-height:1.05;letter-spacing:-0.02em;margin:0 0 var(--viking-space-compact-gap);text-transform:uppercase}.publication-hero .hero-subtitle{position:relative;font-size:var(--viking-font-size-base);line-height:1.6;color:var(--viking-text-muted);max-width:640px;margin:0 auto var(--viking-space-2)}.publication-hero .hero-meta{position:relative;font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);margin-bottom:var(--viking-space-3)}.publication-hero .hero-meta-row{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--viking-space-1);font-size:var(--viking-font-size-sm);margin-bottom:var(--viking-space-3)}.publication-hero .hero-meta-row a{color:var(--viking-teal-600);text-decoration:none;font-weight:600}.publication-hero .hero-meta-row a:hover{text-decoration:underline}.publication-hero .hero-meta-row .meta-dot{opacity:.4}.publication-hero .hero-actions,.publication-hero .integration-strip{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));max-width:780px;margin:var(--viking-space-2) auto 0}.publication-hero .integration-pill{min-width:0;min-height:var(--viking-control-height, 44px);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));padding:0 var(--viking-space-2, var(--viking-space-2));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-sizing:border-box;color:var(--viking-text-link, var(--link-color));background:color-mix(in srgb, var(--viking-surface-raised, var(--viking-surface)) 86%, var(--viking-accent) 14%);font-size:var(--viking-font-size-sm);font-weight:700;line-height:1.15;text-decoration:none !important;white-space:normal;overflow-wrap:anywhere;box-shadow:var(--viking-shadow-xs, 0 1px 2px color-mix(in srgb, var(--viking-black) 18%, transparent));transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.publication-hero .integration-pill:hover,.publication-hero .integration-pill:focus-visible{color:var(--viking-text, var(--viking-text));border-color:var(--viking-accent-strong, var(--viking-accent));background:color-mix(in srgb, var(--viking-surface-raised, var(--viking-surface)) 76%, var(--viking-accent) 24%);transform:translateY(-1px)}.publication-hero .integration-pill:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-accent));outline-offset:var(--viking-ring-offset, 2px)}.publication-hero .integration-strip{margin-top:var(--viking-space-compact-gap)}.publication-hero .integration-pill{min-height:36px;padding-inline:var(--viking-space-2);font-size:var(--viking-font-size-sm);letter-spacing:.02em}.publication-hero .arxiv-banner{position:relative;max-width:920px;margin:var(--viking-space-3) auto 0;padding:var(--viking-space-2, var(--viking-space-2));border:1px solid color-mix(in srgb, var(--viking-accent) 28%, var(--viking-border));border-radius:var(--viking-radius-lg, 12px);background:color-mix(in srgb, var(--viking-surface-raised, var(--viking-surface)) 86%, var(--viking-accent) 14%);color:var(--viking-text, var(--viking-text));line-height:1.55}.publication-hero .arxiv-banner p,.publication-hero .arxiv-banner span{color:inherit}.publication-toc{padding:var(--viking-space-3) var(--viking-space-4);border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-surface) 60%, transparent)}.publication-toc .toc-heading{font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--viking-text-muted);margin:0 0 var(--viking-space-compact-gap)}.publication-toc .toc-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--viking-space-0-5)}@media(min-width: 600px){.publication-toc .toc-list{grid-template-columns:repeat(2, 1fr);gap:var(--viking-space-0-5) var(--viking-space-3)}}@media(min-width: 1024px){.publication-toc .toc-list{grid-template-columns:repeat(3, 1fr)}}.publication-toc .toc-item{display:flex;align-items:center;gap:var(--viking-space-1);min-height:var(--viking-touch-target-min);padding:var(--viking-space-1) var(--viking-space-0-5);font-size:var(--viking-font-size-sm);line-height:1.4;text-decoration:none !important;color:var(--viking-text-muted) !important;border-radius:var(--viking-radius-sm);transition:color .15s ease}@media(min-width: 768px){.publication-toc .toc-item{min-height:0;align-items:baseline;padding:var(--viking-space-0-5) 0}}.publication-toc .toc-item:hover{color:var(--viking-teal-600) !important}.publication-toc .toc-item .toc-num{flex-shrink:0;min-width:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--viking-font-size-xs);color:var(--viking-teal-600);opacity:.85}.publication-toc .toc-item .toc-label{flex:1;font-weight:500}.publication-body{padding:var(--viking-space-4) var(--viking-space-4) var(--viking-space-4)}@media(min-width: 768px){.publication-body{padding:var(--viking-space-4) var(--viking-space-5) var(--viking-space-5)}}.publication-section{padding:var(--viking-space-4) 0;border-bottom:1px solid color-mix(in srgb, var(--viking-border) 80%, transparent)}.publication-section:first-child{padding-top:0}.publication-section:last-child{border-bottom:none;padding-bottom:0}.publication-section h2{font-size:var(--viking-font-size-md);font-weight:800;margin:0 0 var(--viking-space-2);letter-spacing:-0.02em;color:var(--viking-text);border-bottom:2px solid color-mix(in srgb, var(--viking-teal-600) 35%, transparent);padding-bottom:var(--viking-space-1)}.publication-section h3{font-size:var(--viking-font-size-base);font-weight:700;margin:var(--viking-space-3) 0 var(--viking-space-1);color:var(--viking-text)}.publication-section h4{font-size:var(--viking-font-size-base);font-weight:700;margin:var(--viking-space-3) 0 var(--viking-space-1);color:var(--viking-text)}.publication-section p,.publication-section li{font-size:var(--viking-font-size-base);line-height:1.65;color:var(--viking-text-muted);margin:0 0 var(--viking-space-compact-gap)}.publication-section ul,.publication-section ol{padding-left:1.35rem;margin:0 0 var(--viking-space-compact-gap)}.publication-section a{color:var(--viking-teal-600)}.publication-section pre{--viking-code-panel-bg: var(--viking-charcoal-950);--viking-code-panel-text: var(--viking-white-pure);background:var(--viking-code-panel-bg) !important;border:1px solid color-mix(in srgb, var(--viking-electric-400) 34%, var(--viking-border));border-radius:var(--viking-radius-lg, 12px);padding:var(--viking-space-compact-gap) var(--viking-space-2);overflow-x:auto;margin:var(--viking-space-2) 0;color:var(--viking-code-panel-text) !important;font-size:var(--viking-font-size-sm);line-height:1.55;box-shadow:var(--viking-shadow-sm);white-space:pre-wrap;overflow-wrap:anywhere}.publication-section pre code{display:block;padding:0 !important;border:0 !important;border-radius:0 !important;background:rgba(0,0,0,0) !important;color:inherit !important;box-shadow:none !important;text-shadow:none !important;white-space:inherit}.publication-section :not(pre)>code{background:var(--viking-charcoal-950);padding:.12em .42em;border-radius:var(--viking-radius-sm, 6px);font-size:var(--viking-font-size-sm);line-height:inherit;color:var(--viking-white-pure);border:1px solid color-mix(in srgb, var(--viking-electric-400) 34%, var(--viking-border));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 8%, transparent);white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:baseline}.publication-section table{width:100%;border-collapse:collapse;margin:var(--viking-space-2) 0;font-size:var(--viking-font-size-sm)}.publication-section table th,.publication-section table td{border:1px solid var(--viking-border);padding:var(--viking-space-1) var(--viking-space-compact-gap);text-align:left}.publication-section table th{background:color-mix(in srgb, var(--viking-teal-600) 10%, var(--viking-surface))}.publication-section blockquote{margin:var(--viking-space-2) 0;padding:var(--viking-space-compact-gap) var(--viking-space-2);border-left:3px solid var(--viking-teal-600);background:color-mix(in srgb, var(--viking-teal-600) 6%, var(--viking-surface));border-radius:0 8px 8px 0;font-size:var(--viking-font-size-base);color:var(--viking-text-muted)}.book-toc-cta{display:flex;justify-content:flex-start;padding:var(--viking-space-2, var(--viking-space-2)) var(--viking-space-3, var(--viking-space-3)) var(--viking-space-3, var(--viking-space-3));border-top:1px solid var(--viking-border, var(--viking-border));background:color-mix(in srgb, var(--viking-surface, var(--viking-surface)) 90%, var(--viking-accent) 10%)}.book-start-btn,a.book-toc-link.sidebar-search{min-height:var(--viking-control-height, 44px);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));padding:0 var(--viking-space-2, var(--viking-space-2));border:1px solid color-mix(in srgb, var(--viking-accent-strong, var(--viking-accent)) 74%, var(--viking-border));border-radius:var(--viking-radius, 8px);box-sizing:border-box;background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 16%, var(--viking-surface-raised, var(--viking-surface)));color:var(--viking-text-link, var(--link-color)) !important;font-weight:800;line-height:1.15;text-decoration:none !important;white-space:normal;overflow:visible;box-shadow:var(--viking-shadow-xs, 0 1px 2px color-mix(in srgb, var(--viking-black) 18%, transparent))}.book-start-btn:hover,.book-start-btn:focus-visible,a.book-toc-link.sidebar-search:hover,a.book-toc-link.sidebar-search:focus-visible{border-color:var(--viking-accent-strong, var(--viking-accent));background:color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 24%, var(--viking-surface-raised, var(--viking-surface)));color:var(--viking-text-link-hover, var(--link-hover-color)) !important}.book-start-btn:focus-visible,a.book-toc-link.sidebar-search:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-accent));outline-offset:var(--viking-ring-offset, 2px)}a.book-toc-link.sidebar-search{width:100%;margin:0 0 var(--viking-space-1, var(--viking-space-1))}a.book-toc-link.sidebar-search .search-wrapper{min-width:0;width:100%;display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--viking-space-1, var(--viking-space-1));overflow:visible}#book-app>.dashboard-sidebar{width:min(22rem,34vw);padding:var(--viking-space-3, var(--viking-space-3)) var(--viking-space-2, var(--viking-space-2));background:color-mix(in srgb, var(--viking-surface, var(--viking-surface)) 92%, var(--viking-charcoal-950) 8%);border-right-color:color-mix(in srgb, var(--viking-border-strong, var(--viking-border)) 72%, var(--viking-border));overflow-y:auto}#book-app .sidebar-section{padding:var(--viking-space-2, var(--viking-space-2)) 0 var(--viking-space-4, var(--viking-space-4))}#book-app .sidebar-section .section-title{margin-inline:var(--viking-space-1, var(--viking-space-1))}#book-app .pub-chapter-item{min-height:var(--viking-space-5, 40px)}@media(min-width: 1440px){#book-app>.dashboard-sidebar{width:24rem;padding-inline:var(--viking-space-3, var(--viking-space-3))}}.pub-sidebar-group{display:flex;flex-direction:column;gap:var(--viking-space-1, var(--viking-space-1));margin-bottom:var(--viking-space-2)}.pub-sidebar-group .pub-sidebar-group-title{font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--viking-text-muted);margin:0 0 var(--viking-space-px) var(--viking-space-1);opacity:.75}.pub-chapter-item{display:flex;align-items:baseline;gap:var(--viking-space-1);padding:var(--viking-space-1) var(--viking-space-compact-gap);border-radius:8px;cursor:pointer;transition:all .15s ease;border:1px solid rgba(0,0,0,0);text-decoration:none;color:inherit;margin:0}.pub-chapter-item:hover{background-color:var(--viking-surface-alt);border-color:var(--viking-border)}.pub-chapter-item.active{background:linear-gradient(135deg, color-mix(in srgb, var(--viking-surface) 25%, transparent) 0%, color-mix(in srgb, var(--viking-metallic-200) 8%, transparent) 100%);border-color:var(--viking-teal-400)}.pub-chapter-item.active .pub-chapter-num,.pub-chapter-item.active .pub-chapter-title{color:var(--viking-teal-400)}.pub-chapter-item.active .pub-chapter-title{font-weight:600}.pub-chapter-item .pub-chapter-num{flex-shrink:0;min-width:1.25rem;font-size:var(--viking-font-size-2xs);font-weight:700;font-variant-numeric:tabular-nums;color:var(--viking-text-muted);opacity:.7}.pub-chapter-item .pub-chapter-title{font-size:var(--viking-font-size-sm);line-height:1.35;color:var(--viking-text)}.book-cover-page{display:flex;justify-content:center;align-items:center;padding:var(--viking-space-5) var(--viking-space-3)}.book-cover-card{width:100%;max-width:420px;aspect-ratio:3/4.2;background-color:var(--viking-surface);border:1px solid var(--viking-border);border-radius:8px 16px 16px 8px;box-shadow:var(--viking-shadow-md);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.book-cover-spine{position:absolute;left:0;top:0;bottom:0;width:28px;background-color:color-mix(in srgb, var(--viking-black) 50%, transparent);z-index:10;border-right:1px solid color-mix(in srgb, var(--viking-black) 20%, transparent)}.book-cover-binding{position:absolute;left:28px;top:0;bottom:0;width:4px;background-color:color-mix(in srgb, var(--viking-black) 10%, transparent);z-index:9}.book-cover-inner{display:flex;flex-direction:column;align-items:center;padding:var(--viking-space-6) var(--viking-space-4) var(--viking-space-5) var(--viking-space-6);height:100%;width:100%;text-align:center}.book-cover-label{margin-bottom:auto;letter-spacing:.15em;font-size:var(--viking-font-size-xs);font-weight:700;color:var(--viking-text-muted);text-transform:uppercase}.book-cover-logo{margin:var(--viking-space-3) 0;filter:drop-shadow(0 6px 16px color-mix(in srgb, var(--viking-teal-600) 30%, transparent))}.book-cover-title{font-size:var(--viking-font-size-2xl);font-weight:800;line-height:1.15;margin-bottom:var(--viking-space-compact-gap);letter-spacing:-0.02em}.book-cover-subtitle{font-size:var(--viking-font-size-base);color:var(--viking-text-muted);font-weight:500;font-style:italic}.book-cover-footer{margin-top:auto;padding-top:var(--viking-space-3);border-top:1px solid var(--viking-border);width:100%;display:flex;justify-content:space-between;align-items:center;font-size:var(--viking-font-size-sm)}.book-cover-footer a{font-weight:600;color:var(--viking-text);text-decoration:none}.book-cover-footer a:hover{color:var(--viking-teal-600)}.book-cover-footer .book-cover-vol{font-weight:700;color:var(--viking-accent);letter-spacing:.1em;font-size:var(--viking-font-size-xs)}.publication-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-3) var(--viking-space-4);border-top:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-surface) 50%, transparent)}@media(min-width: 600px){.publication-pagination{justify-content:space-between;padding:var(--viking-space-2) var(--viking-space-4)}}.publication-pagination .pagination-btn{min-height:var(--viking-control-height, 44px);background:linear-gradient(180deg, color-mix(in srgb, var(--viking-accent-strong, var(--viking-accent)) 90%, var(--viking-white-pure)) 0%, color-mix(in srgb, var(--viking-accent, var(--viking-accent)) 88%, var(--viking-black)) 100%) !important;color:var(--viking-accent-content, var(--viking-white-pure)) !important;font-weight:700;border-radius:var(--viking-radius, 8px);border:1px solid color-mix(in srgb, var(--viking-accent-strong, var(--viking-accent)) 78%, var(--viking-white-pure));padding:0 var(--viking-space-2, var(--viking-space-2));cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--viking-space-1);line-height:1.15;text-decoration:none !important;white-space:normal;box-shadow:var(--viking-shadow-xs, 0 1px 2px color-mix(in srgb, var(--viking-black) 18%, transparent));transition:opacity .2s ease,transform .2s ease;font-size:var(--viking-font-size-sm)}.publication-pagination .pagination-btn[disabled],.publication-pagination .pagination-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.publication-pagination .pagination-btn:not([disabled]):not([aria-disabled=true]):hover,.publication-pagination .pagination-btn:not([disabled]):not([aria-disabled=true]):focus-visible{opacity:.9;transform:translateY(-1px)}.publication-pagination .pagination-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-accent));outline-offset:var(--viking-ring-offset, 2px)}.publication-pagination .page-counter{font-size:var(--viking-font-size-sm);color:var(--viking-text-muted);font-weight:500}.publication-progress{max-width:480px;margin:0 auto}.publication-progress .progress-bar-header{display:flex;justify-content:space-between;font-size:var(--viking-font-size-sm);font-weight:600;color:var(--viking-text-muted);margin-bottom:var(--viking-space-0-5)}.publication-progress .progress-percentage{color:var(--viking-accent-soft)}.publication-progress .progress-bar-container{width:100%;height:6px;background-color:var(--viking-surface-alt);border:1px solid var(--viking-border);border-radius:999px;overflow:hidden;position:relative}.publication-progress .progress-bar-fill{width:100%;height:100%;appearance:none;border:none;background:rgba(0,0,0,0);transition:width .3s ease-out;border-radius:999px}.publication-progress .progress-bar-fill::-webkit-progress-bar{background-color:rgba(0,0,0,0);border-radius:999px}.publication-progress .progress-bar-fill::-webkit-progress-value{background-color:var(--viking-accent);border-radius:999px;transition:width .3s ease-out}.publication-progress .progress-bar-fill::-moz-progress-bar{background-color:var(--viking-accent);border-radius:999px;transition:width .3s ease-out}.blue-notes-wrapper,.blue-note-detail-wrapper{display:grid;gap:var(--viking-page-section-gap);padding-block:var(--viking-space-8) var(--viking-space-10)}.blue-notes-hero{display:grid;gap:var(--viking-space-3);max-width:var(--viking-content-readable-max-width);padding-block:var(--viking-space-5)}.blue-notes-kicker,.blue-note-card-meta,.blue-notes-section-heading,.blue-note-card-footer,.blue-notes-hero-actions,.blue-note-breadcrumbs,.blue-note-article-footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--viking-space-2)}.blue-notes-kicker,.blue-note-outline-label{color:var(--viking-accent);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.blue-notes-hero h1{margin:0;color:var(--viking-text);font-size:clamp(var(--viking-font-size-2xl),6vw,var(--viking-font-size-4xl));line-height:var(--viking-line-height-tight);letter-spacing:var(--viking-letter-spacing-tighter);text-transform:uppercase}.blue-notes-hero>p{max-width:var(--viking-content-readable-max-width);margin:0;color:var(--viking-text-muted);font-size:var(--viking-font-size-md);line-height:var(--viking-line-height-relaxed)}.blue-notes-hero-actions{margin-top:var(--viking-space-2);width:100%}.blue-notes-hero-actions .viking-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1);width:100%}.blue-notes-featured,.blue-notes-archive{display:grid;gap:var(--viking-space-4)}.blue-notes-section-heading{justify-content:space-between;color:var(--viking-text-muted)}.blue-notes-section-heading>div{display:grid;gap:var(--viking-space-1)}.blue-notes-section-heading h2,.blue-notes-section-heading p{margin:0}.blue-notes-section-heading h2{color:var(--viking-text);font-size:var(--viking-font-size-2xl);letter-spacing:var(--viking-letter-spacing-tight);text-transform:uppercase}.blue-notes-section-heading p{max-width:var(--viking-content-readable-max-width)}.blue-note-feature-card{border-color:color-mix(in srgb, var(--viking-accent) 56%, var(--viking-border-strong));background:var(--viking-surface-recipe)}.blue-note-card-meta{align-items:flex-start;flex-direction:column;justify-content:space-between;color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-variant-numeric:tabular-nums}.blue-note-feature-card h2,.blue-note-card h3{margin:0;color:var(--viking-text);line-height:var(--viking-line-height-tight);letter-spacing:var(--viking-letter-spacing-tight)}.blue-note-feature-card h2{max-width:var(--viking-content-readable-max-width);font-size:var(--viking-font-size-2xl)}.blue-note-card h3{font-size:var(--viking-font-size-xl)}.blue-note-feature-card h2 a,.blue-note-card h3 a{color:inherit;text-decoration:none}.blue-note-feature-card h2 a:hover,.blue-note-feature-card h2 a:focus-visible,.blue-note-card h3 a:hover,.blue-note-card h3 a:focus-visible{color:var(--viking-accent)}.blue-note-feature-card>p,.blue-note-card>p{max-width:var(--viking-content-readable-max-width);margin:0;color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.blue-note-card-footer{align-items:flex-start;flex-direction:column;justify-content:space-between}.blue-note-categories{display:flex;flex-wrap:wrap;gap:var(--viking-space-1);margin:0;padding:0;list-style:none}.blue-note-categories li{display:inline-flex;align-items:center;flex:0 0 auto;margin:0;padding:var(--viking-space-0-5) var(--viking-space-1);border:var(--viking-space-px) solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface-alt);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);line-height:var(--viking-line-height-snug);overflow:hidden}.blue-note-categories li::before,.blue-note-categories li::after{content:none;display:none}.blue-note-categories li:last-child{margin-inline-end:0}.blue-note-read-link{display:inline-flex;min-height:var(--viking-control-height);align-items:center;gap:var(--viking-space-1);color:var(--viking-text-link);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);text-decoration:none}.blue-note-read-link:hover,.blue-note-read-link:focus-visible{color:var(--viking-accent-hover);text-decoration:underline;text-underline-offset:var(--viking-space-0-5)}.blue-notes-timeline{position:relative;display:grid;gap:var(--viking-space-4);margin:0;padding:0 0 0 var(--viking-space-4);list-style:none}.blue-notes-timeline::before{content:"";position:absolute;inset-block:0;left:var(--viking-space-1);width:var(--viking-space-px);background:var(--viking-border-strong)}.blue-notes-timeline>li{position:relative}.blue-note-card{gap:var(--viking-space-3);padding:var(--viking-card-padding-compact)}.blue-note-timeline-marker{position:absolute;top:var(--viking-space-4);left:calc((var(--viking-space-3) + var(--viking-space-0-5))*-1);width:var(--viking-space-2);height:var(--viking-space-2);border:var(--viking-space-0-5) solid var(--viking-bg);border-radius:var(--viking-radius-pill);background:var(--viking-accent);box-shadow:0 0 0 var(--viking-space-px) var(--viking-accent-strong)}.blue-note-breadcrumbs{gap:var(--viking-space-1);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.blue-note-breadcrumbs a{color:var(--viking-text-link)}.blue-note-detail-wrapper{gap:var(--viking-space-4)}.blue-note-publication{overflow:visible}.blue-note-article-hero{display:grid;justify-items:center;gap:var(--viking-space-3);padding:var(--viking-space-6) var(--viking-space-4)}.blue-note-article-hero .blue-note-card-meta{justify-content:center}.blue-note-article-hero .hero-title,.blue-note-article-hero .hero-subtitle{margin:0}.blue-note-article-layout{display:grid}.blue-note-outline{display:none}.blue-note-prose{width:100%;max-width:var(--viking-content-readable-max-width);margin-inline:auto}.blue-note-prose h2,.blue-note-prose h3{color:var(--viking-text);line-height:var(--viking-line-height-tight);letter-spacing:var(--viking-letter-spacing-tight)}.blue-note-prose h2{margin:var(--viking-space-6) 0 var(--viking-space-2);padding-bottom:var(--viking-space-1);border-bottom:var(--viking-space-px) solid var(--viking-border);font-size:var(--viking-font-size-xl)}.blue-note-prose h2:first-child{margin-top:0}.blue-note-prose h3{margin:var(--viking-space-4) 0 var(--viking-space-2);font-size:var(--viking-font-size-lg)}.blue-note-prose p,.blue-note-prose li{color:var(--viking-text-muted);font-size:var(--viking-font-size);line-height:var(--viking-line-height-relaxed)}.blue-note-prose p,.blue-note-prose ul,.blue-note-prose ol{margin-block:0 var(--viking-space-3)}.blue-note-prose ul,.blue-note-prose ol{padding-left:var(--viking-space-3)}.blue-note-prose li+li{margin-top:var(--viking-space-1)}.blue-note-prose strong{color:var(--viking-text)}.blue-note-article-footer{justify-content:space-between;padding:var(--viking-space-4);border-top:var(--viking-space-px) solid var(--viking-border);background:var(--viking-surface-alt)}.blue-note-article-footer>div{display:grid;gap:var(--viking-space-1);max-width:var(--viking-content-readable-max-width)}.blue-note-article-footer p{margin:0;color:var(--viking-text-muted)}.blue-note-pagination{display:grid;gap:var(--viking-space-2)}.blue-note-pagination a{display:grid;gap:var(--viking-space-1);min-height:var(--viking-control-height);padding:var(--viking-space-3);border:var(--viking-space-px) solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface);color:var(--viking-text);text-decoration:none}.blue-note-pagination a:hover,.blue-note-pagination a:focus-visible{border-color:var(--viking-accent-strong);color:var(--viking-accent)}.blue-note-pagination a span{color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);letter-spacing:var(--viking-letter-spacing-wide);text-transform:uppercase}@media(min-width: 1024px){.blue-notes-timeline{padding-left:var(--viking-space-6)}.blue-notes-timeline::before{left:var(--viking-space-2)}.blue-note-timeline-marker{left:calc((var(--viking-space-5) + var(--viking-space-0-5))*-1)}.blue-note-article-layout--with-outline{grid-template-columns:var(--viking-space-24) minmax(0, 1fr)}.blue-note-outline{display:block;align-self:start;position:sticky;top:calc(var(--viking-navbar-height) + var(--viking-space-3));padding:var(--viking-space-4);border-right:var(--viking-space-px) solid var(--viking-border)}.blue-note-outline nav{display:grid;gap:var(--viking-space-1);margin-top:var(--viking-space-2)}.blue-note-outline a{padding-block:var(--viking-space-1);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);text-decoration:none}.blue-note-outline a:hover,.blue-note-outline a:focus-visible{color:var(--viking-accent)}.blue-note-pagination{grid-template-columns:repeat(2, minmax(0, 1fr))}.blue-note-pagination a:last-child{text-align:right}}@media(prefers-reduced-motion: reduce){.blue-note-card,.blue-note-pagination a{transition:none}}.blue-notes-wrapper{gap:var(--viking-space-9)}.blog-command-hero{position:relative;display:grid;gap:var(--viking-space-6);overflow:hidden;padding:var(--viking-space-4);border:var(--viking-space-px) solid var(--viking-border-strong);border-radius:var(--viking-radius-2xl);background:var(--viking-surface-recipe);box-shadow:var(--viking-shadow-md)}.blog-command-hero::before{content:"";position:absolute;inset:0 0 auto;height:var(--viking-space-0-5);background:var(--viking-accent)}.blog-command-copy{display:grid;align-content:center;gap:var(--viking-space-3);min-width:0}.blog-command-copy h1{display:grid;gap:var(--viking-space-1);max-width:var(--viking-content-readable-max-width);margin:0;color:var(--viking-text);font-size:var(--viking-font-size-3xl);line-height:var(--viking-line-height-tight);letter-spacing:var(--viking-letter-spacing-tighter)}.blog-command-copy h1 span{color:var(--viking-accent);font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.blog-command-copy>p{max-width:var(--viking-content-readable-max-width);margin:0;color:var(--viking-text-muted);font-size:var(--viking-font-size-md);line-height:var(--viking-line-height-relaxed);text-wrap:pretty}.blog-command-actions,.blog-card-footer,.blog-note-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.blog-command-ledger{display:grid;align-self:stretch;margin:0;border:var(--viking-space-px) solid var(--viking-border);border-radius:var(--viking-radius-xl);background:var(--viking-surface-alt)}.blog-command-ledger>div{display:grid;gap:var(--viking-space-1);padding:var(--viking-space-3);border-bottom:var(--viking-space-px) solid var(--viking-border)}.blog-command-ledger>div:last-child{border-bottom:0}.blog-command-ledger dt,.blog-note-meta{color:var(--viking-text-muted);font-family:var(--viking-font-family-mono);font-size:var(--viking-font-size-xs);letter-spacing:var(--viking-letter-spacing-wide);text-transform:uppercase}.blog-command-ledger dd{margin:0;color:var(--viking-text);font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-bold);line-height:var(--viking-line-height-tight)}.blog-command-ledger time{font-size:var(--viking-font-size)}.blog-lead-section,.blog-spotlight-section,.blog-archive-section{display:grid;gap:var(--viking-space-4)}.blog-section-heading{display:grid;gap:var(--viking-space-2)}.blog-section-heading>div{display:grid;gap:var(--viking-space-1)}.blog-section-heading h2,.blog-section-heading p{margin:0}.blog-section-heading h2{color:var(--viking-text);font-size:var(--viking-font-size-2xl);line-height:var(--viking-line-height-tight);letter-spacing:var(--viking-letter-spacing-tight)}.blog-section-heading p{max-width:var(--viking-content-readable-max-width);color:var(--viking-text-muted)}.blog-section-rule{align-self:center;height:var(--viking-space-px);background:var(--viking-border-strong)}@media(min-width: 768px){.blog-command-hero{grid-template-columns:minmax(0, 3fr) minmax(var(--viking-space-20), 2fr);padding:var(--viking-space-7)}.blog-command-copy h1{font-size:var(--viking-font-size-5xl)}.blog-section-heading{grid-template-columns:auto minmax(var(--viking-space-8), 1fr);align-items:end}.blog-section-heading:has(>p){grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)}.blog-section-heading>p{justify-self:end;text-align:right}}.blog-lead-card{display:grid;gap:var(--viking-space-4);padding:var(--viking-space-4);border-color:color-mix(in srgb, var(--viking-accent) 52%, var(--viking-border-strong));background:var(--viking-surface-recipe-elevated)}.blog-lead-index,.blog-archive-index{color:var(--viking-accent);font-family:var(--viking-font-family-mono);font-variant-numeric:tabular-nums;font-weight:var(--viking-font-weight-bold)}.blog-lead-index{font-size:var(--viking-font-size-4xl);line-height:var(--viking-line-height-none)}.blog-lead-copy,.blog-spotlight-card,.blog-archive-copy{display:grid;gap:var(--viking-space-2);min-width:0}.blog-lead-copy h2,.blog-spotlight-card h3,.blog-archive-copy h3,.blog-lead-copy>p,.blog-spotlight-card>p,.blog-archive-copy>p{margin:0}.blog-lead-copy h2{max-width:var(--viking-content-readable-max-width);font-size:var(--viking-font-size-3xl);line-height:var(--viking-line-height-tight);letter-spacing:var(--viking-letter-spacing-tighter)}.blog-lead-copy h2 a,.blog-spotlight-card h3 a,.blog-archive-copy h3 a{color:var(--viking-text);text-decoration:none}.blog-lead-copy h2 a:hover,.blog-lead-copy h2 a:focus-visible,.blog-spotlight-card h3 a:hover,.blog-spotlight-card h3 a:focus-visible,.blog-archive-copy h3 a:hover,.blog-archive-copy h3 a:focus-visible{color:var(--viking-text-link)}.blog-lead-copy>p,.blog-spotlight-card>p,.blog-archive-copy>p{color:var(--viking-text-muted);line-height:var(--viking-line-height-relaxed)}.blog-card-footer{justify-content:space-between;margin-top:var(--viking-space-2);padding-top:var(--viking-space-3);border-top:var(--viking-space-px) solid var(--viking-border)}.blog-read-cue,.blog-archive-arrow{display:inline-flex;min-height:var(--viking-touch-target-min);align-items:center;justify-content:center;gap:var(--viking-space-1);color:var(--viking-text-link);font-weight:var(--viking-font-weight-semibold);text-decoration:none}.blog-spotlight-grid{display:grid;gap:var(--viking-space-3)}.blog-spotlight-card{grid-template-rows:auto auto 1fr auto;padding:var(--viking-card-padding)}.blog-spotlight-card h3,.blog-archive-copy h3{font-size:var(--viking-font-size-xl);line-height:var(--viking-line-height-tight);letter-spacing:var(--viking-letter-spacing-tight)}.blog-archive-list{display:grid;margin:0;padding:0;border-top:var(--viking-space-px) solid var(--viking-border-strong);list-style:none}.blog-archive-row{display:grid;gap:var(--viking-space-2);padding-block:var(--viking-space-3);border-bottom:var(--viking-space-px) solid var(--viking-border);transition:var(--viking-transition-colors)}.blog-archive-row:focus-within,.blog-archive-row:hover{background:var(--viking-surface-alt)}.blog-archive-arrow{justify-self:start;width:var(--viking-touch-target-min);border:var(--viking-space-px) solid var(--viking-border);border-radius:var(--viking-radius-pill)}.blog-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);padding-top:var(--viking-space-2);border-top:var(--viking-space-px) solid var(--viking-border)}@media(min-width: 768px){.blog-lead-card{grid-template-columns:var(--viking-space-10) minmax(0, 1fr);padding:var(--viking-space-6)}.blog-spotlight-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}.blog-archive-row{grid-template-columns:var(--viking-space-6) minmax(var(--viking-space-14), 1fr) minmax(0, 3fr) var(--viking-touch-target-min);align-items:start;padding-inline:var(--viking-space-2)}.blog-archive-arrow{justify-self:end}}@media(prefers-reduced-motion: reduce){.blog-archive-row{transition:none}}.section-tag{display:inline-block;font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-accent)}.showcase-page{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-5));padding-block:var(--viking-space-6);position:relative}.showcase-page::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 10%, transparent), transparent);opacity:.03}@media(min-width: 768px){.showcase-page{padding-block:var(--viking-space-8)}}.showcase-hero{display:grid;gap:var(--viking-space-5);align-items:center;position:relative}.showcase-hero::before{content:"";position:absolute;inset:auto 0 -2px 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 35%, transparent), transparent);opacity:.4}@media(min-width: 1024px){.showcase-hero{grid-template-columns:1.15fr 1fr;gap:var(--viking-space-6)}}.showcase-hero-copy{display:flex;flex-direction:column;gap:var(--viking-space-3);position:relative}.showcase-hero-copy::after{content:"";position:absolute;top:-10px;left:0;width:22px;height:14px;border-top:1px solid color-mix(in srgb, var(--viking-accent) 40%, transparent);border-left:1px solid color-mix(in srgb, var(--viking-accent) 24%, transparent);opacity:.5;pointer-events:none}.showcase-hero-badge{display:inline-flex;align-items:center;gap:var(--viking-space-1);width:fit-content;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface);box-shadow:var(--viking-shadow-sm);position:relative}.showcase-hero-badge::after{content:"";position:absolute;left:1px;right:1px;top:0;height:1px;background:color-mix(in srgb, var(--viking-accent) 35%, transparent);opacity:.55}.showcase-hero-badge-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:var(--viking-radius-full);background:var(--viking-accent);flex-shrink:0}.pulse-dot{animation:showcasePulseDot 2s ease-in-out infinite}@keyframes showcasePulseDot{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-accent) 60%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--viking-accent) 0%, transparent)}}@media(prefers-reduced-motion: reduce){.pulse-dot{animation:none}}.showcase-hero-title{margin:0;font-size:var(--viking-font-size-display-md);font-weight:var(--viking-font-weight-bold, 800);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.showcase-hero-lead{margin:0;max-width:var(--viking-content-readable-max-width, 48rem);font-size:var(--viking-font-size-lg);line-height:var(--viking-line-height-relaxed);color:var(--viking-text-muted)}.showcase-hero-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--viking-space-1) var(--viking-space-2);margin:0;max-width:var(--viking-content-readable-max-width);line-height:var(--viking-line-height-normal)}.showcase-hero-meta strong{color:var(--viking-text)}.showcase-hero-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.showcase-hero-panel{display:flex;flex-direction:column;gap:var(--viking-space-3);position:relative;overflow:hidden;border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));padding:var(--viking-space-3);background:var(--viking-surface);box-shadow:var(--viking-shadow-sm);transition:var(--viking-transition-interactive)}.showcase-hero-panel:hover{border-color:var(--viking-accent-strong)}.showcase-hero-preview-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--viking-space-2);padding-block-end:var(--viking-space-2);border-bottom:var(--viking-border-width) solid var(--viking-border-subtle)}.showcase-hero-preview-grid{display:grid;gap:var(--viking-space-3)}.showcase-hero-preview-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2);min-width:0}.showcase-hero-preview-row .viking-progress{width:100%}.showcase-hero-panel::after{content:"";position:absolute;top:10px;right:18px;width:22px;height:14px;border-top:1px solid color-mix(in srgb, var(--viking-accent) 40%, transparent);border-right:1px solid color-mix(in srgb, var(--viking-accent) 24%, transparent);opacity:.5;pointer-events:none}.showcase-toolbar{border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface);box-shadow:var(--viking-shadow-xs);padding:var(--viking-card-padding)}.showcase-toolbar-row{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 768px){.showcase-toolbar-row{grid-template-columns:minmax(0, 2fr) minmax(12rem, 1fr);align-items:end}}.showcase-search-field,.showcase-category-field{margin:0}.showcase-category-bar{position:sticky;top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px));z-index:40;border-block:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 94%, transparent);backdrop-filter:blur(var(--viking-surface-glass-blur, 10px))}.showcase-category-bar-inner{padding-block:var(--viking-space-2)}.showcase-category-bar-scroll{display:flex;gap:var(--viking-space-1);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:var(--viking-space-0-5)}.showcase-category-bar-scroll::-webkit-scrollbar{display:none}.showcase-category-chip{flex-shrink:0;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);text-decoration:none;white-space:nowrap;transition:var(--viking-transition-interactive);min-height:var(--viking-control-height, 44px);display:inline-flex;align-items:center}.showcase-category-chip:hover{border-color:var(--viking-accent);color:var(--viking-accent)}.showcase-category-chip.is-active{border-color:var(--viking-accent);background:color-mix(in srgb, var(--viking-accent) 10%, var(--viking-surface));color:var(--viking-accent)}.showcase-category{display:flex;flex-direction:column;gap:var(--viking-space-4);padding:var(--viking-space-6) 0;border-bottom:1px solid var(--viking-border);scroll-margin-top:calc(var(--viking-navbar-height, var(--viking-space-8)) + var(--showcase-subnav-height, 52px) + var(--viking-space-7))}.showcase-category:last-child{border-bottom:0}.showcase-category-header{display:flex;flex-direction:column;gap:var(--viking-space-2);padding-bottom:var(--viking-space-3);border-bottom:1px solid var(--viking-border-subtle)}.showcase-component-list{display:flex;flex-direction:column;gap:var(--viking-space-4)}.showcase-section{display:flex;flex-direction:column;gap:var(--viking-space-4);padding-block:var(--viking-space-6);border-top:1px solid var(--viking-border-subtle);scroll-margin-top:calc(var(--viking-navbar-height, var(--viking-space-8)) + var(--showcase-subnav-height, 52px) + var(--viking-space-7));position:relative}.showcase-section:last-child{border-bottom:0}.showcase-section-compact{padding-block:var(--viking-space-5)}.showcase-section-header{display:flex;flex-direction:column;gap:var(--viking-space-1);max-width:var(--viking-content-readable-max-width, 48rem)}.showcase-section-title{margin:0;font-size:var(--viking-font-size-2xl);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-tight);color:var(--viking-text)}.showcase-section-desc{margin:0;font-size:var(--viking-font-size-lg)}.showcase-component-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-5)}.component-showcase-card{display:flex;flex-direction:column;gap:var(--viking-space-5);scroll-margin-top:calc(var(--viking-navbar-height, var(--viking-space-8)) + var(--showcase-subnav-height, 52px) + var(--viking-space-7));transition:var(--viking-transition-interactive);border:1px solid var(--viking-border);background:var(--viking-surface-recipe);border-radius:var(--viking-card-radius, var(--viking-radius-xl));padding:var(--viking-card-padding, var(--viking-space-5));box-shadow:var(--viking-shadow-sm)}.component-showcase-card:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.component-showcase-card:focus-visible{outline:var(--viking-ring-width) solid var(--viking-ring);outline-offset:var(--viking-ring-offset)}.component-showcase-card-compact{padding:var(--viking-card-padding-compact, var(--viking-space-4))}.component-showcase-card-compact:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-hover);transform:translateY(var(--viking-state-hover-lift))}.component-showcase-header{display:flex;flex-direction:column;gap:var(--viking-space-3)}.component-showcase-title-block{display:flex;flex-direction:column;gap:var(--viking-space-0-5)}.component-showcase-link{color:inherit;text-decoration:none;transition:color var(--viking-duration-fast) var(--viking-ease-out);font-weight:var(--viking-font-weight-semibold)}.component-showcase-link:hover{color:var(--viking-accent)}.component-showcase-desc{margin:0;font-size:var(--viking-font-size-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--viking-text-muted)}.component-showcase-tags{display:flex;flex-wrap:wrap;gap:var(--viking-space-0-5)}.component-showcase-preview{padding:var(--viking-space-6);background:color-mix(in srgb, var(--viking-surface) 82%, var(--viking-bg));border:1px solid var(--viking-border);border-radius:var(--viking-radius-xl);min-height:10rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--viking-space-3);width:100%;position:relative;overflow:visible;box-sizing:border-box;box-shadow:var(--viking-shadow-sm),inset 0 1px 0 color-mix(in srgb, var(--viking-border) 40%, transparent),inset 0 -1px 0 color-mix(in srgb, var(--viking-white-pure) 6%, transparent)}.viking-demo-wrapper{display:flex;justify-content:center;align-items:center;padding:clamp(var(--viking-space-3),5vw,var(--viking-space-6));overflow:visible;border:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-surface) 82%, var(--viking-bg))}.component-showcase-preview>*{max-width:100%}.component-showcase-preview .viking-demo-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--viking-space-2);width:100%}.component-showcase-preview .viking-demo-row>*{align-self:center;box-sizing:border-box}.component-showcase-preview .viking-demo-row>viking-button-wc,.component-showcase-preview .viking-demo-row>.viking-btn,.component-showcase-preview .viking-demo-row>button:not(.viking-input-native){min-height:var(--viking-control-height-sm, 36px)}.component-showcase-preview .showcase-icon-demo,.component-showcase-preview .viking-icon-badge-static{display:inline-flex;align-items:center;justify-content:center;align-self:center;vertical-align:middle}.component-showcase-preview .viking-demo-row:has(>.viking-kbd-static){flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.component-showcase-preview .viking-kbd-static{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-height:1.75rem;min-width:1.75rem;line-height:1;margin:0}.component-showcase-preview .viking-demo-row>.viking-text-muted,.component-showcase-preview .viking-demo-row>.viking-heading{display:inline-flex;align-items:center;margin:0;line-height:1.2}.component-showcase-preview .viking-spinner-static{width:var(--viking-icon-size-md);height:var(--viking-icon-size-md);min-width:var(--viking-icon-size-md);min-height:var(--viking-icon-size-md);max-width:var(--viking-icon-size-md);max-height:var(--viking-icon-size-md);flex:0 0 var(--viking-icon-size-md);aspect-ratio:1;align-self:center}.component-showcase-preview .viking-demo-row>svg{display:block;flex-shrink:0;align-self:center;width:1.75rem;height:1.75rem}.component-showcase-preview .viking-breadcrumbs-static,.component-showcase-preview .viking-breadcrumbs-list{display:flex;align-items:center}.component-showcase-preview .viking-breadcrumbs-list li{display:inline-flex;align-items:center;line-height:1}.component-showcase-preview .viking-breadcrumbs-list li:not(:last-child)::after{display:inline-flex;align-items:center;line-height:1;height:1em}.component-showcase-preview:has(>.viking-heading),.component-showcase-preview:has(>.viking-text){align-items:flex-start;text-align:left}.component-showcase-preview>viking-card-wc,.component-showcase-preview>.viking-card{min-height:8.5rem;width:min(100%,22rem);display:flex;flex-direction:column;justify-content:center}.component-showcase-preview .viking-demo-full{width:100%;max-width:none}.component-showcase-preview::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-metallic-200, var(--viking-border)) 22%, transparent), transparent);pointer-events:none}.component-showcase-footer{display:flex;flex-wrap:wrap;align-items:stretch;flex-direction:column;justify-content:space-between;gap:var(--viking-space-2);padding-top:var(--viking-space-2);border-top:1px solid var(--viking-border-subtle);margin-top:var(--viking-space-0-5)}.component-showcase-frameworks{display:flex;flex-wrap:wrap;align-items:stretch;flex-direction:column;gap:var(--viking-space-0-5)}.component-framework-chip{padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius-sm);background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface-alt));border:1px solid color-mix(in srgb, var(--viking-accent) 15%, transparent);font-size:var(--viking-font-size-2xs, var(--viking-font-size-xs));font-weight:var(--viking-font-weight-medium);color:var(--viking-text-muted)}.component-showcase-cta{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);color:var(--viking-accent);text-decoration:none;min-height:var(--viking-control-height, 44px);padding-inline:var(--viking-space-1);justify-content:center;width:100%}.component-showcase-cta:hover{text-decoration:underline}.component-showcase-code{display:flex;flex-direction:column;gap:var(--viking-space-1)}.component-showcase-code-label{margin:0}.component-showcase-api{padding-top:var(--viking-space-2);border-top:1px solid var(--viking-border-subtle)}.component-detail-page{gap:var(--viking-space-5)}.component-detail-page .component-showcase-preview{min-height:10rem;padding:var(--viking-space-8)}.component-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-0-5);font-size:var(--viking-font-size-sm);color:var(--viking-text-muted)}.component-breadcrumb a{color:var(--viking-accent);text-decoration:none}.component-breadcrumb a:hover{text-decoration:underline}.showcase-detail-header{display:flex;flex-direction:column;gap:var(--viking-space-2)}.component-api-panel{padding:var(--viking-card-padding)}.showcase-related-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 600px){.showcase-related-grid{grid-template-columns:repeat(2, 1fr)}}.showcase-related-card{display:flex;flex-direction:column;gap:var(--viking-space-0-5);padding:var(--viking-card-padding);text-decoration:none;color:inherit;transition:var(--viking-transition-interactive)}.showcase-related-card:hover{transform:translateY(var(--viking-state-hover-lift, -4px));border-color:var(--viking-accent);box-shadow:var(--viking-shadow-hover)}.showcase-detail-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);padding-top:var(--viking-space-3);border-top:1px solid var(--viking-border-subtle)}.api-reference{display:flex;flex-direction:column;gap:var(--viking-space-3)}.api-reference-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--viking-space-2)}.api-selectors{display:flex;flex-wrap:wrap;gap:var(--viking-space-1)}.api-selector-chip{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);padding:var(--viking-space-0-5) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);font-size:var(--viking-font-size-xs);color:var(--viking-text-muted);background:var(--viking-surface-alt)}.api-prop-group{display:flex;flex-direction:column;gap:var(--viking-space-2)}.api-prop-group-label{margin:0}.api-prop-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-2)}@media(min-width: 600px){.api-prop-grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1024px){.api-prop-grid{grid-template-columns:repeat(3, 1fr)}}.api-prop-card{display:flex;flex-direction:column;gap:var(--viking-space-0-5)}.api-prop-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--viking-space-1)}.api-prop-type{font-size:var(--viking-font-size-xs);color:var(--viking-accent);font-family:var(--viking-font-family-mono, ui-monospace, monospace)}.api-prop-default{margin:0;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.api-prop-desc{margin:0;font-size:var(--viking-font-size-sm)}.landing-showcase{display:flex;flex-direction:column;gap:var(--viking-page-section-gap, var(--viking-space-6));overflow:visible}.landing-hero{display:flex;flex-direction:column;gap:var(--viking-space-5);align-items:center;padding:clamp(var(--viking-space-6),8vw,var(--viking-space-10)) 0 var(--viking-space-6);overflow:visible}.landing-hero-copy{display:flex;flex-direction:column;align-items:center;gap:var(--viking-space-3);width:min(100%,64rem);min-width:0;margin-inline:auto;text-align:center}.landing-hero-copy>.viking-heading{max-width:22ch}.landing-hero-copy>.viking-text-muted{max-width:var(--viking-content-readable-max-width, 48rem)}.landing-hero-badge{display:inline-flex;align-items:center;gap:var(--viking-space-1);width:fit-content;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius-pill);background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-xs);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-semibold);letter-spacing:var(--viking-letter-spacing-wide)}.landing-hero-badge-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:var(--viking-radius-full);background:var(--viking-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--viking-accent) 30%, transparent)}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);justify-content:center}.landing-stats{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:var(--viking-space-3);width:100%}.landing-showcase :is(h1,h2,h3),.showcase-page :is(h1,h2,h3){text-transform:uppercase}.landing-hero>*,.showcase-hero>*{margin-inline:auto}.landing-hero .hero-mockup,.landing-hero .viking-page-mockup{width:min(100%,var(--viking-content-readable-max-width));margin-inline:auto;padding-inline-end:0;perspective:none}.landing-hero .viking-page-mockup-window,.landing-hero .mockup-window,.landing-hero .viking-page-mockup-window:hover,.landing-hero .mockup-window:hover{transform:none;transform-origin:center}.landing-preview-panel{width:min(100%,var(--viking-content-readable-max-width));margin-inline:auto}.landing-stat{padding:var(--viking-card-padding-compact);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-recipe, var(--viking-surface));min-width:0;box-shadow:var(--viking-shadow-sm);position:relative;overflow:hidden}.landing-stat::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-border-strong) 72%, transparent), transparent)}.landing-section{display:flex;flex-direction:column;gap:var(--viking-space-4);padding-block:var(--viking-page-section-gap);border-top:1px solid var(--viking-border-subtle)}.landing-section-header{display:flex;flex-direction:column;gap:var(--viking-space-1);max-width:var(--viking-content-readable-max-width, 48rem);margin-inline:auto;align-items:center;text-align:center}.landing-section-header-row{max-width:none;justify-content:space-between;gap:var(--viking-space-3)}@media(min-width: 768px){.landing-section-header-row{flex-direction:row;align-items:end}}.landing-feature-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 768px){.landing-feature-grid{grid-template-columns:repeat(3, 1fr)}}.landing-preview-panel{padding:var(--viking-card-padding);border:1px solid var(--viking-border-strong);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:linear-gradient(135deg, color-mix(in srgb, var(--viking-surface-raised) 22%, transparent), transparent 32%),var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-lg),inset 0 0 0 1px color-mix(in srgb, var(--viking-border-subtle) 72%, transparent);display:flex;flex-direction:column;gap:var(--viking-space-3);position:relative;overflow:hidden}.landing-preview-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 40%, transparent), transparent)}.landing-preview-panel::after{content:"";position:absolute;inset:auto var(--viking-space-4) 0;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent-secondary) 36%, transparent), transparent)}.landing-preview-runelock{position:absolute;inset:var(--viking-space-3) var(--viking-space-3) auto auto;display:grid;grid-template-columns:repeat(3, var(--viking-space-2));gap:var(--viking-space-0-5);opacity:.72;pointer-events:none}.landing-preview-runelock span{height:var(--viking-space-3);border-inline-start:1px solid color-mix(in srgb, var(--viking-accent) 42%, transparent);border-block-start:1px solid color-mix(in srgb, var(--viking-border-strong) 68%, transparent);transform:skewX(-12deg)}.landing-preview-toolbar,.landing-preview-form{display:flex;flex-direction:column;gap:var(--viking-space-3)}.landing-preview-toolbar{flex-direction:row;justify-content:space-between;align-items:center}.landing-preview-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 600px){.landing-preview-grid{grid-template-columns:repeat(2, 1fr)}}.landing-framework-strip{display:flex;flex-wrap:wrap;gap:var(--viking-space-2);padding:var(--viking-space-3) 0;justify-content:center}.landing-framework-chip{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);padding:var(--viking-space-1) var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);box-shadow:var(--viking-shadow-xs)}.landing-visual-lock{position:relative}.landing-visual-lock::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--viking-accent) 28%, transparent), color-mix(in srgb, var(--viking-accent-secondary) 20%, transparent), transparent)}.landing-doctrine-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 16rem), 1fr));gap:var(--viking-space-3)}viking-card-wc.landing-doctrine-card{display:flex;flex-direction:column;gap:var(--viking-space-2);min-height:100%}viking-card-wc.landing-doctrine-card>*{margin-block:0}.landing-framework-chip code{font-size:var(--viking-font-size-xs);color:var(--viking-accent)}.landing-quickstart-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-4);align-items:start}@media(min-width: 1024px){.landing-quickstart-grid{grid-template-columns:minmax(16rem, 0.8fr) minmax(0, 1.2fr)}}.landing-quickstart-steps{display:flex;flex-direction:column;gap:var(--viking-space-2);padding:var(--viking-card-padding)}.landing-step-list{display:flex;flex-direction:column;gap:var(--viking-space-1);margin:0;padding-left:var(--viking-space-3)}.landing-quickstart-code{min-width:0}.landing-component-grid,.landing-framework-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 16rem), 1fr));gap:var(--viking-space-2)}.landing-component-card,.landing-framework-card{display:flex;flex-direction:column;gap:var(--viking-space-1);padding:var(--viking-card-padding);color:inherit;text-decoration:none;transition:transform var(--viking-duration-normal) var(--viking-ease-out),border-color var(--viking-duration-normal) var(--viking-ease-out),box-shadow var(--viking-duration-normal) var(--viking-ease-out)}.landing-component-card:hover,.landing-framework-card:hover{transform:translateY(var(--viking-state-hover-lift, -4px));border-color:var(--viking-accent);box-shadow:var(--viking-shadow-hover)}.landing-component-card p,.landing-framework-card span:last-child{margin:0}.landing-playground-band{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3);align-items:center;padding:var(--viking-space-4);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-recipe, var(--viking-surface));box-shadow:var(--viking-shadow-md)}@media(min-width: 1024px){.landing-playground-band{grid-template-columns:1fr minmax(18rem, 0.72fr)}}.landing-playground-copy,.landing-playground-preview{display:flex;flex-direction:column;gap:var(--viking-space-2)}.landing-playground-preview{padding:var(--viking-card-padding)}.component-detail-link{display:inline-block;margin-top:var(--viking-space-1);font-size:var(--viking-font-size-sm);color:var(--viking-accent);text-decoration:none}.component-detail-link:hover{text-decoration:underline}.showcase-auth-panel{max-width:24rem;padding:var(--viking-space-3);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-alt);display:flex;flex-direction:column;gap:var(--viking-space-3);text-align:left;align-items:stretch}.showcase-auth-panel .viking-auth-tag-demo{display:inline-flex;align-items:center;align-self:flex-start;gap:var(--viking-space-1);font-size:var(--viking-font-size-ui, var(--viking-font-size-xs));font-weight:var(--viking-font-weight-bold, 700);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted);padding:var(--viking-space-1) var(--viking-space-2);border-radius:var(--viking-radius-pill);background:var(--viking-accent-soft);line-height:1}.showcase-auth-panel .viking-auth-tag-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:var(--viking-radius-full);background:var(--viking-accent);flex-shrink:0}.showcase-auth-panel .viking-field{width:100%}.showcase-auth-panel .viking-btn-full{width:100%}.showcase-search-palette{width:min(100%,48rem);max-width:48rem;display:flex;flex-direction:column;border:1px solid var(--viking-border-strong);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-raised, var(--viking-surface));box-shadow:var(--viking-shadow-lg);overflow:hidden;isolation:isolate}.viking-search-group-label-static{margin:var(--viking-space-1) 0 var(--viking-space-0-5);padding:0 var(--viking-space-1);font-size:var(--viking-font-size-2xs, var(--viking-font-size-xs));font-weight:var(--viking-font-weight-semibold, 600);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase;color:var(--viking-text-muted)}.showcase-search-palette-header{display:flex;align-items:center;gap:var(--viking-space-2);padding:var(--viking-space-3) var(--viking-space-3);min-height:3.25rem;border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 26%, var(--viking-surface-raised))}.showcase-search-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.25rem;height:2.25rem;color:var(--viking-text-muted);font-size:var(--viking-font-size-2xl);line-height:1}.showcase-search-input{flex:1;min-width:0;border:none;background:rgba(0,0,0,0);color:var(--viking-text);font:inherit;font-size:var(--viking-font-size-base);outline:none}.showcase-search-palette-body{padding:var(--viking-space-2)}.showcase-search-palette-footer{padding:var(--viking-space-1) var(--viking-space-2);border-top:1px solid var(--viking-border);font-size:var(--viking-font-size-2xs);color:var(--viking-text-muted);text-align:center}.viking-demo-card-sm{max-width:14rem}.viking-demo-card-md{max-width:16rem}.viking-demo-card-lg{max-width:18rem}.viking-demo-row-between{justify-content:space-between}.viking-demo-row-wrap{flex-wrap:wrap}.viking-demo-row-top{align-items:flex-start}.viking-demo-row-gap-xs{gap:var(--viking-space-0-5)}.viking-demo-row-gap-lg{gap:var(--viking-space-4)}.viking-demo-label-compact{margin:0 0 var(--viking-space-0-5)}.viking-demo-muted-xs{font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.viking-demo-mt-half{margin-top:var(--viking-space-0-5)}.viking-demo-mt-1{margin-top:var(--viking-space-1)}.viking-demo-elevated{box-shadow:var(--viking-shadow-md)}.viking-demo-text-left-full{width:100%;text-align:left}.viking-demo-textarea{min-height:4rem}.viking-demo-relative-min{position:relative;min-height:5rem}.viking-demo-color-input{width:var(--viking-space-5);height:var(--viking-space-5);padding:0}.viking-series-border-1{border-color:var(--viking-series-1)}.viking-series-border-2{border-color:var(--viking-series-2)}.viking-series-border-3{border-color:var(--viking-series-3)}.viking-page-back-link{display:inline-flex;align-items:center;gap:var(--viking-space-1);color:var(--viking-accent);text-decoration:none}.viking-kbd-end{margin-left:auto}.showcase-chart-demo{width:100%;max-width:24rem;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-radius);background:color-mix(in srgb, var(--viking-surface) 96%, var(--viking-bg))}.showcase-chart-line{fill:none;stroke:var(--viking-accent);stroke-width:2}.showcase-chart-area{fill:color-mix(in srgb, var(--viking-accent) 20%, transparent);stroke:none}.showcase-modal-demo{position:relative;padding:var(--viking-space-4);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-alt);overflow:hidden}.showcase-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb, var(--viking-bg) 60%, transparent)}.showcase-modal-panel{position:relative;z-index:1;max-width:28rem;margin:0 auto}.showcase-toast-demo{max-width:24rem;border-left:3px solid var(--viking-success)}.showcase-icon-demo{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;color:var(--viking-accent);font-size:var(--viking-font-size-xl);line-height:1;border-radius:var(--viking-radius-lg);background:var(--viking-accent-soft);box-shadow:var(--viking-shadow-xs)}.component-showcase-preview>.theme-toggle-btn,.component-showcase-preview button.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);min-width:var(--viking-control-height, 40px);min-height:var(--viking-control-height, 40px);padding:0;border:1px solid color-mix(in srgb, var(--viking-accent) 32%, var(--viking-border));border-radius:var(--viking-radius);color:var(--viking-accent-strong);background:color-mix(in srgb, var(--viking-accent) 10%, var(--viking-surface));cursor:pointer;transition:var(--viking-transition-interactive);font:inherit;line-height:0;box-shadow:var(--viking-shadow-sm)}.component-showcase-preview>.theme-toggle-btn::before,.component-showcase-preview button.theme-toggle-btn:empty::before{content:"◐";font-size:var(--viking-font-size-md);line-height:1;color:currentColor}.component-showcase-preview>.theme-toggle-btn:hover,.component-showcase-preview button.theme-toggle-btn:hover,.component-showcase-preview>.theme-toggle-btn:focus-visible,.component-showcase-preview button.theme-toggle-btn:focus-visible{background:color-mix(in srgb, var(--viking-accent) 16%, var(--viking-surface));border-color:var(--viking-accent-strong)}.component-showcase-preview .viking-gauge-demo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:10rem;padding:var(--viking-space-2) 0}.component-showcase-preview .viking-gauge-demo svg{width:9rem;height:auto;overflow:visible}.component-showcase-preview .viking-gauge-demo .viking-metric{position:absolute;bottom:.35rem;left:50%;transform:translateX(-50%);font-size:var(--viking-font-size-xl);font-weight:var(--viking-font-weight-extrabold, 800);font-variant-numeric:tabular-nums;letter-spacing:var(--viking-letter-spacing-tight);line-height:1;color:var(--viking-text)}.component-showcase-preview .viking-icon-heading-stack{width:min(100%,28rem);max-width:28rem;margin-inline:auto}.component-showcase-preview .viking-icon-heading{width:100%;max-width:28rem;align-items:center}.component-showcase-preview .viking-icon-heading-stack>.viking-text-muted,.component-showcase-preview .viking-icon-heading+.viking-text-muted{width:100%;max-width:none;margin:0;padding-left:calc(var(--viking-icon-size-lg, var(--viking-space-3)) + var(--viking-space-2, var(--viking-space-2)));text-align:left}.component-showcase-preview .viking-demo-row.viking-demo-row-stack{flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center}.component-showcase-preview .viking-demo-row.viking-demo-row-stack>.viking-icon-heading-stack{align-self:center}.component-showcase-preview .viking-accordion-static{width:min(100%,28rem);text-align:left}.component-showcase-preview .viking-accordion-static summary{display:flex;align-items:center;min-height:var(--viking-control-height);gap:var(--viking-space-1);cursor:pointer}.component-showcase-preview .viking-demo-card-lg{width:min(100%,20rem);max-width:20rem;gap:var(--viking-space-2)}.component-showcase-preview .viking-demo-card-lg .viking-demo-row{width:100%}.component-showcase-preview .viking-demo-card-lg .viking-demo-row-wrap{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:var(--viking-space-0-5);justify-items:center}.component-showcase-preview .viking-demo-card-lg .viking-demo-row-wrap>*{min-width:2rem;min-height:2rem;justify-content:center}.component-showcase-preview:has(>.viking-kbd-static){flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--viking-space-2)}.component-showcase-preview>.viking-kbd-static{display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem;min-width:1.75rem;line-height:1}.theming-setup-card{margin-bottom:var(--viking-space-2);padding:var(--viking-space-3);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));background:var(--viking-surface-alt)}.theming-setup-card pre{margin:var(--viking-space-2) 0 0;padding:var(--viking-space-2);border-radius:var(--viking-radius);overflow-x:auto;font-size:var(--viking-font-size-sm);background:color-mix(in srgb, var(--viking-surface-alt) 86%, transparent)}.theming-rules{display:flex;flex-direction:column;gap:var(--viking-space-1);padding-left:var(--viking-space-3)}.architecture-layer-grid{display:grid;gap:var(--viking-space-2);grid-template-columns:1fr}@media(min-width: 768px){.architecture-layer-grid{grid-template-columns:repeat(3, 1fr)}}.architecture-layer{display:flex;flex-direction:column;gap:var(--viking-space-1)}.architecture-flow{margin:0;padding:var(--viking-space-2);border:1px solid var(--viking-border);border-radius:var(--viking-card-radius, var(--viking-radius-xl));overflow-x:auto;font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-relaxed);background:color-mix(in srgb, var(--viking-surface) 88%, var(--viking-bg))}.architecture-pattern{display:flex;flex-direction:column;align-items:stretch;gap:var(--viking-space-2)}@media(min-width: 1024px){.architecture-pattern{flex-direction:row;align-items:center}}.architecture-arrow{text-align:center;font-size:var(--viking-font-size-xl);color:var(--viking-accent)}.playground-layout{display:grid;gap:var(--viking-page-section-gap);grid-template-columns:1fr}@media(min-width: 1024px){.playground-layout{grid-template-columns:minmax(280px, 360px) 1fr}}.playground-controls{display:flex;flex-direction:column;gap:var(--viking-space-3);align-self:start;position:sticky;top:calc(var(--viking-navbar-height, 64px) + var(--showcase-subnav-height, 52px) + var(--viking-space-3))}.playground-main{display:flex;flex-direction:column;gap:var(--viking-page-stack-gap)}.playground-preview,.playground-code{display:flex;flex-direction:column;gap:var(--viking-space-3)}.playground-preview-stage{display:flex;align-items:center;justify-content:center;min-height:clamp(14rem,28vw,20rem);padding:var(--viking-card-padding);margin-top:0;border:1px dashed var(--viking-border);border-radius:var(--viking-radius);background:var(--viking-surface-alt)}.playground-preview-stage viking-input-wc{width:100%;max-width:24rem}.playground-preview-stage viking-card-wc{width:min(100%,24rem)}.contribute-steps{display:flex;flex-direction:column;gap:var(--viking-page-stack-gap)}.contribute-step{display:flex;flex-direction:column;gap:var(--viking-space-2)}.contribute-code{margin:0;padding:var(--viking-space-3);background:color-mix(in srgb, var(--viking-surface-alt) 88%, var(--viking-bg));border-radius:var(--viking-radius);overflow-x:auto;font-size:var(--viking-font-size-sm)}.contribute-checklist{display:flex;flex-direction:column;gap:var(--viking-space-1);padding-left:var(--viking-space-3)}.showcase-section-header,.landing-section-header{align-items:center;max-width:var(--viking-content-readable-max-width);margin-inline:auto;text-align:center}.showcase-hero{grid-template-columns:minmax(0, 1fr);justify-items:center;gap:var(--viking-space-5);padding-block:var(--viking-space-6);text-align:center}.showcase-hero-copy{align-items:center;width:min(100%,var(--viking-content-readable-max-width))}.showcase-hero-copy::after{display:none}.showcase-hero-actions{justify-content:center}.showcase-hero-panel{width:min(100%,var(--viking-content-readable-max-width));margin-inline:auto;text-align:left}.landing-stats{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-metric-card-min-width)), 1fr))}.showcase-component-grid{grid-template-columns:1fr;gap:var(--viking-space-3)}.landing-doctrine-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--viking-space-24) + var(--viking-space-12)), 1fr));gap:var(--viking-space-3)}.component-showcase-card{min-width:0;gap:var(--viking-space-3);padding:var(--viking-card-padding)}.component-showcase-card[hidden],.showcase-section[hidden]{display:none}.component-showcase-preview,.viking-demo-wrapper{width:100%;min-width:0;min-height:clamp(12rem,24vw,18rem);padding:clamp(var(--viking-space-3),4vw,var(--viking-space-5));overflow:visible}.component-showcase-preview>*,.viking-demo-wrapper>*{margin-inline:auto}.component-showcase-preview .viking-demo-shell-preview{width:100%;max-width:none;margin-inline:0}.component-showcase-preview .viking-demo-shell-preview>viking-site-navbar,.component-showcase-preview .viking-demo-shell-preview>viking-site-footer{display:block;width:100%}.component-showcase-preview .viking-demo-shell-preview .navbar{position:static}.component-showcase-code pre,.playground-code pre{max-width:100%;overflow-x:auto}@media(min-width: 600px){.component-showcase-footer,.component-showcase-frameworks{align-items:center;flex-direction:row}.component-showcase-cta{justify-content:flex-start;width:auto}}.component-showcase-preview .viking-demo-row-stack>:where(.viking-heading,.viking-text,.viking-text-muted){margin:0}.component-showcase-preview .viking-demo-form-stack{gap:var(--viking-space-3)}.viking-demo-stat-info{display:flex;align-items:center;gap:var(--viking-space-2);min-width:0}.viking-demo-caption{display:block;margin:0;font-size:var(--viking-font-size-3xs)}.viking-demo-panel-stack{display:flex;flex-direction:column;gap:var(--viking-space-3)}.viking-demo-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--viking-space-2);width:100%;padding-bottom:var(--viking-space-2);border-bottom:var(--viking-border-width) solid var(--viking-border-subtle)}.viking-demo-panel-header .viking-heading{margin:0}.viking-demo-panel-header .viking-text-muted{margin:var(--viking-space-1) 0 0}.viking-demo-timeline-row{display:flex;justify-content:space-between;align-items:center;gap:var(--viking-space-2);width:100%;min-width:0}.viking-demo-timeline-legend{color:var(--viking-text-subtle);font-size:var(--viking-font-size-2xs)}.viking-demo-block-full{display:block;width:100%}.viking-demo-mb-2{margin-bottom:var(--viking-space-2)}.showcase-auth-panel>:where(.viking-heading,.viking-text-muted){margin:0}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body.docs-body{margin:0;min-height:100vh;background:var(--viking-bg);color:var(--viking-text);font-family:var(--viking-font-family);font-size:var(--viking-font-size-base);line-height:var(--viking-line-height-normal)}.skip-link{display:inline-flex;align-items:center;position:absolute;top:var(--viking-space-1);left:var(--viking-space-1);z-index:1000;padding:var(--viking-space-1) var(--viking-space-2);background:var(--viking-accent);color:var(--viking-accent-content);border-radius:var(--viking-radius);min-height:var(--viking-touch-target-min, 44px);transform:translateY(-200%);transition:transform var(--viking-duration-fast) var(--viking-ease-out)}.skip-link:focus{transform:translateY(0)}a{color:var(--viking-accent);text-decoration:none}a:hover{color:var(--viking-accent-hover)}code{font-family:var(--viking-font-family-mono, ui-monospace, monospace);font-size:var(--viking-font-size-xs);background:var(--viking-charcoal-950);color:var(--viking-white-pure);padding:.12em .42em;border-radius:var(--viking-radius-sm);border:1px solid color-mix(in srgb, var(--viking-electric-400) 34%, var(--viking-border));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--viking-white-pure) 8%, transparent);overflow-wrap:anywhere;word-break:break-word}.docs-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 92%, transparent);backdrop-filter:blur(var(--viking-surface-glass-blur, 10px))}.docs-header-inner{display:flex;align-items:center;gap:var(--viking-space-2);min-height:var(--viking-navbar-height, 64px)}.docs-brand{display:inline-flex;align-items:center;gap:var(--viking-space-1);color:var(--viking-text);text-decoration:none;flex-shrink:0}.docs-brand-mark{color:var(--viking-accent)}.docs-brand-text{display:flex;flex-direction:column;line-height:1.2}.docs-brand-name{font-weight:var(--viking-font-weight-bold);font-size:var(--viking-font-size-sm);letter-spacing:var(--viking-letter-spacing-wide)}.docs-brand-tag{font-size:var(--viking-font-size-2xs);color:var(--viking-text-muted);letter-spacing:var(--viking-letter-spacing-caps);text-transform:uppercase}.docs-nav{display:none;align-items:center;gap:var(--viking-space-0-5);margin-inline:auto}@media(min-width: 1024px){.docs-nav{display:flex}}.docs-nav-link{padding:var(--viking-space-0-5) var(--viking-space-1);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);transition:var(--viking-transition-colors)}.docs-nav-link:hover,.docs-nav-link.is-active{color:var(--viking-text);background:var(--viking-surface-alt)}.docs-header-actions{display:flex;align-items:center;gap:var(--viking-space-1);margin-left:auto}.docs-github-link{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);padding:var(--viking-space-0-5) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);transition:var(--viking-transition-interactive)}.docs-github-link:hover{color:var(--viking-text);border-color:var(--viking-border-strong)}.docs-github-label{display:none}@media(min-width: 600px){.docs-github-label{display:inline}}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);border:1px solid color-mix(in srgb, var(--viking-accent) 32%, var(--viking-border-strong));border-radius:var(--viking-radius);background:color-mix(in srgb, var(--viking-accent) 8%, var(--viking-surface));color:var(--viking-accent-strong, var(--viking-teal-400));box-shadow:var(--viking-shadow-sm);cursor:pointer;transition:var(--viking-transition-interactive)}.theme-toggle-btn:hover{border-color:var(--viking-accent-strong, var(--viking-teal-400));background:color-mix(in srgb, var(--viking-accent) 14%, var(--viking-surface));color:var(--viking-accent-strong, var(--viking-teal-400));box-shadow:var(--viking-shadow-md)}.theme-toggle-btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}html[data-theme=dark] .theme-icon-sun{display:block}html[data-theme=dark] .theme-icon-moon{display:none}html[data-theme=light] .theme-icon-sun{display:none}html[data-theme=light] .theme-icon-moon{display:block}.showcase-subnav{position:sticky;top:var(--viking-navbar-height, 64px);z-index:45;border-bottom:1px solid var(--viking-border);background:color-mix(in srgb, var(--viking-bg) 94%, transparent);backdrop-filter:blur(var(--viking-surface-glass-blur, 10px));--showcase-subnav-height: 52px;min-height:var(--showcase-subnav-height)}.showcase-subnav-inner{padding-block:var(--viking-space-1)}.showcase-subnav-scroll{display:flex;gap:var(--viking-space-1);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.showcase-subnav-scroll::-webkit-scrollbar{display:none}.showcase-subnav-link{flex-shrink:0;padding:var(--viking-space-1) var(--viking-space-2);border:1px solid rgba(0,0,0,0);border-radius:var(--viking-radius);color:var(--viking-text-muted);font-size:var(--viking-font-size-sm);font-weight:var(--viking-font-weight-medium);text-decoration:none;white-space:nowrap;min-height:var(--viking-control-height, 44px);display:inline-flex;align-items:center;transition:var(--viking-transition-colors)}.showcase-subnav-link:hover{color:var(--viking-text);background:var(--viking-surface-alt)}.showcase-subnav-link.is-active{color:var(--viking-accent);border-color:color-mix(in srgb, var(--viking-accent) 28%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent) 10%, var(--viking-surface))}.docs-layout{display:grid;grid-template-columns:1fr;min-height:calc(100vh - var(--viking-navbar-height, 64px))}.docs-layout-full{grid-template-columns:1fr}.docs-main{display:flex;flex-direction:column;min-width:0}.docs-content{flex:1;padding:0}@media(min-width: 768px){.docs-content{padding:0}}.docs-footer{border-top:1px solid var(--viking-border);padding:var(--viking-space-4) 0;margin-top:var(--viking-space-5)}.docs-footer-grid{display:flex;flex-wrap:wrap;gap:var(--viking-space-3);justify-content:space-between;align-items:flex-start}.docs-footer-nav{display:flex;flex-wrap:wrap;gap:var(--viking-space-2)}.docs-footer-nav a{color:var(--viking-text-muted);font-size:var(--viking-font-size-sm)}.docs-footer-copy{margin:var(--viking-space-3) 0 0;font-size:var(--viking-font-size-xs);color:var(--viking-text-muted)}.code-block{border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);overflow:hidden;background:var(--viking-surface-inset)}.code-block-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-0-5);padding:var(--viking-space-1);border-bottom:1px solid var(--viking-border);background:var(--viking-surface)}.code-block-tab-list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--viking-space-0-5)}.code-block-tab{padding:var(--viking-space-0-5) var(--viking-space-1);border:none;border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);font-weight:var(--viking-font-weight-medium);cursor:pointer;min-height:var(--viking-control-height-sm, 36px)}.code-block-tab.is-active{background:var(--viking-surface-alt);color:var(--viking-text)}.code-block-tab:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring);outline-offset:var(--viking-ring-offset, 2px)}.code-block-copy{display:inline-flex;align-items:center;gap:var(--viking-space-0-5);margin-left:auto;padding:var(--viking-space-0-5) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);cursor:pointer;min-height:var(--viking-control-height-sm, 36px)}.code-block-copy:hover{color:var(--viking-text);border-color:var(--viking-border-strong)}.code-block-panel{margin:0;padding:var(--viking-space-2);overflow-x:auto;font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-relaxed);color:var(--viking-text)}.code-block-panel code{background:rgba(0,0,0,0);border:none;padding:0;white-space:pre}.code-block-panel[hidden]{display:none}.token-inspector-search{width:100%;max-width:28rem;margin-bottom:var(--viking-space-3)}.token-table{width:100%;border-collapse:collapse;font-size:var(--viking-font-size-sm)}.token-table th,.token-table td{padding:var(--viking-space-1);text-align:left;border-bottom:1px solid var(--viking-border-subtle)}.token-swatch{appearance:none;width:2rem;height:2rem;padding:0;border-radius:var(--viking-radius-sm);border:1px solid var(--viking-border);background:rgba(0,0,0,0);opacity:1}.token-swatch::-webkit-color-swatch-wrapper{padding:0}.token-swatch::-webkit-color-swatch,.token-swatch::-moz-color-swatch{border:0;border-radius:calc(var(--viking-radius-sm) - var(--viking-border-width))}.token-copy-btn{padding:var(--viking-space-0-5) var(--viking-space-1);border:1px solid var(--viking-border);border-radius:var(--viking-radius-sm);background:rgba(0,0,0,0);color:var(--viking-text-muted);font-size:var(--viking-font-size-xs);cursor:pointer;min-height:var(--viking-control-height-sm, 36px)}.framework-grid{display:grid;grid-template-columns:1fr;gap:var(--viking-space-3)}@media(min-width: 768px){.framework-grid{grid-template-columns:repeat(2, 1fr)}}.framework-card{padding:var(--viking-space-3);background:var(--viking-surface-recipe, var(--viking-surface));border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);box-shadow:var(--viking-shadow-sm)}.contribute-steps{display:flex;flex-direction:column;gap:var(--viking-page-stack-gap);counter-reset:step}.contribute-step{padding:var(--viking-card-padding);border:1px solid var(--viking-border);border-radius:var(--viking-radius-lg);background:var(--viking-surface-recipe, var(--viking-surface))}.contribute-step h3::before{counter-increment:step;content:counter(step, decimal-leading-zero) " — ";color:var(--viking-accent)}html,body{height:100%;margin:0;padding:0;overflow-x:hidden}body{background-color:var(--viking-bg);color:var(--viking-text);font-family:var(--viking-font-family, "Inter", ui-sans-serif, system-ui, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.backend-landing-shell{display:flex;flex-direction:column;justify-content:flex-start;gap:var(--viking-page-section-gap);min-height:0;padding-block:var(--viking-page-section-gap)}.backend-hero{text-align:center;align-items:center;max-width:var(--viking-content-readable-max-width, 48rem);margin-inline:auto;padding-block:var(--viking-space-5);width:100%}.backend-probe-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--viking-space-2);margin-top:var(--viking-space-4);margin-bottom:var(--viking-space-2)}.backend-probe-chips .viking-badge{text-decoration:none;min-height:var(--viking-control-height-sm, 32px);padding-inline:var(--viking-space-3);transition:border-color var(--viking-duration-fast, 120ms) var(--viking-ease, ease),color var(--viking-duration-fast, 120ms) var(--viking-ease, ease)}.backend-probe-chips .viking-badge:hover{border-color:var(--viking-accent);color:var(--viking-accent)}.backend-probe-chips .viking-badge:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-accent));outline-offset:var(--viking-ring-offset, 2px)}.backend-hero-header{display:grid;gap:var(--viking-space-3);margin-bottom:var(--viking-space-5)}.backend-hero .viking-heading,.backend-hero .viking-heading-xl{font-family:var(--viking-font-family);font-weight:var(--viking-font-weight-extrabold, 800);letter-spacing:var(--viking-letter-spacing-caps, 0.08em);text-transform:uppercase;line-height:var(--viking-line-height-none, 1);font-size:clamp(var(--viking-font-size-3xl, 36px),6vw,var(--viking-font-size-5xl, 56px))}.backend-hero .viking-heading-sm{font-size:var(--viking-font-size-lg);font-weight:var(--viking-font-weight-bold);letter-spacing:var(--viking-letter-spacing-caps, 0.06em);text-transform:uppercase}.backend-hero-metrics{display:grid;gap:var(--viking-space-3);margin-top:var(--viking-space-3)}.backend-health-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--viking-space-2);padding-bottom:var(--viking-space-3);border-bottom:var(--viking-border-width) var(--viking-border-style) var(--viking-border)}.backend-health-header .viking-heading{margin:0;font-size:var(--viking-font-size-lg);letter-spacing:var(--viking-letter-spacing-tight);text-transform:none}.backend-health-summary{max-width:var(--viking-content-readable-max-width);margin:var(--viking-space-1) 0 0;font-size:var(--viking-font-size-sm);line-height:var(--viking-line-height-normal)}.backend-metric-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-3);margin:0;padding:0}.viking-card.backend-health-metric{display:grid;grid-template-columns:minmax(0, 1fr);align-items:start;gap:var(--viking-space-1);min-height:0;padding:var(--viking-card-padding-compact);background:var(--viking-surface-raised);border-color:var(--viking-border);box-shadow:none}.backend-health-metric .viking-metric-label{overflow:visible;text-overflow:clip}.backend-health-measure{display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:baseline;justify-items:start;gap:var(--viking-space-1);min-width:0;margin:0;text-align:left}.backend-health-period{color:var(--viking-text-subtle);font-size:var(--viking-font-size-xs);line-height:var(--viking-line-height-tight);white-space:nowrap}.backend-status-badge{align-self:center;text-transform:uppercase;letter-spacing:var(--viking-letter-spacing-caps)}.backend-status-dot{width:var(--viking-space-1);height:var(--viking-space-1);border-radius:50%;background-color:var(--viking-success);animation:backend-status-pulse 2s infinite;margin-right:var(--viking-space-1)}@keyframes backend-status-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-success) 70%, transparent)}70%{box-shadow:0 0 0 var(--viking-space-1) color-mix(in srgb, var(--viking-success) 0%, transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--viking-success) 0%, transparent)}}.backend-hero-lead{text-align:center;margin-inline:auto}.backend-hero-cta{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:var(--viking-space-2);margin-top:var(--viking-space-3);width:100%;max-width:min(100%,28rem);margin-inline:auto}@media(min-width: 600px){.backend-hero-cta{flex-direction:row;align-items:center;flex-wrap:wrap;max-width:none;width:auto}}.backend-hero-cta .viking-btn{width:100%;justify-content:center}@media(min-width: 600px){.backend-hero-cta .viking-btn{width:auto;min-width:11rem}}.backend-feature-showcase{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-5);max-width:var(--viking-container-max-width, 1260px);margin-inline:auto;width:100%}.backend-feature-showcase>.backend-status-preview-header,.backend-feature-showcase>.backend-landing-panels{grid-column:1/-1}.backend-feature-panel{display:flex;flex-direction:column;gap:var(--viking-space-3);padding:var(--viking-space-5);border-radius:var(--viking-radius-lg);background:var(--viking-surface);border:1px solid var(--viking-border-strong);transition:var(--viking-transition-elevated)}.backend-feature-panel:hover{border-color:var(--viking-accent-strong);box-shadow:var(--viking-shadow-md)}.backend-feature-icon{width:var(--viking-space-6);height:var(--viking-space-6);border-radius:var(--viking-radius-lg);display:flex;align-items:center;justify-content:center;background:var(--viking-surface-alt);margin-bottom:var(--viking-space-2)}.backend-feature-stats{display:flex;gap:var(--viking-space-2);margin-top:auto;flex-wrap:wrap}.backend-status-preview{display:grid;gap:var(--viking-space-3)}.backend-status-preview-header{display:grid;gap:var(--viking-space-1);text-align:center}.backend-status-preview-header h2{margin:0;color:var(--viking-text);font-size:var(--viking-font-size-2xl);letter-spacing:var(--viking-letter-spacing-tight);text-transform:uppercase}.backend-status-metrics{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:var(--viking-space-3)}.backend-status-metric{display:grid;gap:var(--viking-space-1);padding:var(--viking-space-4);text-align:center}.backend-status-value{font-size:var(--viking-font-size-2xl);font-weight:var(--viking-font-weight-bold);color:var(--viking-accent);font-variant-numeric:tabular-nums}.backend-status-sparkline{height:48px;margin-top:var(--viking-space-2);border-radius:var(--viking-radius);overflow:hidden}.backend-status-sparkline svg{width:100%;height:100%}@media(prefers-reduced-motion: reduce){.backend-status-dot{animation:none}}.backend-landing-panels{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-3);width:100%;margin-top:var(--viking-space-4)}@media(min-width: 768px){.backend-landing-panels{grid-template-columns:repeat(3, minmax(0, 1fr));align-items:stretch}}.backend-landing-panels .backend-feature-panel{height:100%;text-align:left}.backend-landing-meta{margin-top:var(--viking-space-5);padding-top:var(--viking-space-5);border-top:var(--viking-border-width) var(--viking-border-style) var(--viking-border);width:100%}.backend-landing-meta-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--viking-space-3);text-align:center}@media(min-width: 600px){.backend-landing-meta-grid{grid-template-columns:repeat(3, minmax(0, 1fr));text-align:left}}.backend-landing-meta-grid .viking-label{margin-bottom:var(--viking-space-1)}.backend-landing-meta-grid a{color:var(--viking-accent);text-decoration:none}.backend-landing-meta-grid a:hover{text-decoration:underline}.backend-landing-meta-grid a:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--viking-accent));outline-offset:var(--viking-ring-offset, 2px)}.backend-landing-meta-grid code{font-family:var(--viking-font-mono, ui-monospace, monospace);color:var(--viking-text)}body.backend-404 main.main{min-height:calc(100vh - var(--viking-navbar-height, 64px));display:flex;align-items:center;justify-content:center}body.backend-404 .backend-error-card{max-width:var(--viking-form-max-width, 720px);margin-inline:auto;text-align:center}body.backend-404 .backend-error-logo{max-width:100px;width:100%;margin:0 auto var(--viking-space-3);filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--viking-black) 15%, transparent))}body.backend-404 .backend-error-card .viking-heading-xl{text-transform:uppercase}body.backend-404 .backend-error-card .viking-text-muted{margin-inline:auto}body.backend-404 .viking-cta-row{display:flex;flex-direction:column;align-items:stretch;justify-content:center;margin-top:var(--viking-space-3);width:100%;max-width:min(100%,28rem);margin-inline:auto}@media(min-width: 600px){body.backend-404 .viking-cta-row{flex-direction:row;align-items:center;flex-wrap:wrap;max-width:none;width:auto}}body.backend-redoc redoc,body.backend-redoc .redoc-wrap{background:var(--suite-bg, var(--viking-bg, var(--bg-color)))}body.backend-swagger #swagger-ui{padding:0}.swagger-ui .opblock .opblock-summary{flex-wrap:wrap;gap:var(--viking-space-1, var(--viking-space-1))}.swagger-ui .topbar{display:none}.swagger-ui{font-family:var(--viking-font-family, "Inter", system-ui, sans-serif);color:var(--viking-text, var(--text-color))}.swagger-ui,.swagger-ui .wrapper,.swagger-ui section{background:rgba(0,0,0,0)}.swagger-ui .info .title{display:block;color:var(--viking-text, var(--text-color))}.swagger-ui .info{margin:0;padding:var(--viking-space-2, var(--viking-space-2)) 0;border-bottom:1px solid var(--viking-border, var(--viking-border))}.swagger-ui .info .markdown,.swagger-ui .info .description{margin:0;max-width:none;text-align:left}.swagger-ui .info .base-url,.swagger-ui .info p,.swagger-ui .info li,.swagger-ui .info .markdown p{font-size:var(--viking-font-size-sm);line-height:1.6;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .info .description{padding:var(--viking-space-2, var(--viking-space-2));border-radius:var(--viking-radius, 8px);border:1px solid color-mix(in srgb, var(--viking-accent, var(--color-primary)) 22%, var(--viking-border));background:color-mix(in srgb, var(--viking-accent, var(--color-primary)) 6%, transparent)}.swagger-ui .info a{color:var(--viking-accent, var(--color-primary));text-decoration:none}.swagger-ui .info a:hover,.swagger-ui .info a:focus-visible{text-decoration:underline;text-underline-offset:3px}.swagger-ui .info code{background:var(--viking-surface-alt, var(--viking-charcoal-800)) !important;border-color:var(--viking-border-subtle, var(--viking-border)) !important;color:var(--viking-text, var(--text-color)) !important}.swagger-ui .scheme-container{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--viking-space-2, var(--viking-space-2));margin:0;padding:var(--viking-space-2, var(--viking-space-2)) 0;border:none;border-bottom:1px solid var(--viking-border, var(--viking-border));border-radius:0;box-shadow:none !important;background:rgba(0,0,0,0) !important}.swagger-ui .scheme-container span{color:var(--viking-text, var(--text-color))}.swagger-ui .scheme-container .schemes>label{color:var(--viking-text-muted, var(--text-muted));font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .scheme-container select{background:var(--viking-surface-alt, var(--viking-charcoal-700));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius-sm, 6px);color:var(--viking-text, var(--text-color));font-family:inherit;font-size:var(--viking-font-size-sm, 14px);min-height:36px;padding:0 var(--viking-space-2, var(--viking-space-2))}.swagger-ui .filter-container{margin:0;padding:0;border:none;position:absolute;width:1px;height:1px;padding:0;margin:calc(-1*var(--viking-space-px));overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.swagger-ui .filter-container input[type=text]{width:100%;max-width:100%;min-height:36px;padding:0 var(--viking-space-2, var(--viking-space-2));border:1px solid var(--viking-border, var(--viking-border));border-radius:var(--viking-radius, 8px);background:var(--viking-surface-alt, var(--viking-charcoal-800));box-shadow:none;color:var(--viking-text, var(--text-color))}.swagger-ui .btn{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius, 8px);box-shadow:none;color:var(--viking-text, var(--text-color));font-family:inherit;font-size:var(--viking-font-size-xs);font-weight:600;letter-spacing:.04em;min-height:36px;padding:0 var(--viking-space-2, var(--viking-space-2));text-transform:uppercase;transition:var(--viking-transition-interactive, all 0.2s ease)}.swagger-ui .btn:hover{background:var(--viking-surface-raised, var(--viking-charcoal-600));border-color:var(--viking-accent-strong, var(--viking-teal-400));transform:none}.swagger-ui .btn:focus-visible{outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--focus-ring-color));outline-offset:var(--viking-ring-offset, 2px)}.swagger-ui .scheme-container span.scheme-title{color:var(--viking-text, var(--text-color))}.swagger-ui .btn.authorize,.swagger-ui .btn.authorize.unlocked{background:var(--viking-surface-raised, var(--viking-charcoal-700));border-color:var(--viking-border-strong, var(--viking-border));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-sm);min-height:var(--viking-control-height, 40px);border-radius:var(--viking-radius, 8px);display:inline-flex;align-items:center;justify-content:center;gap:var(--viking-space-1, var(--viking-space-1));text-align:center;line-height:1;min-width:auto;white-space:nowrap;justify-content:center;align-items:center}.swagger-ui .btn.execute{background:var(--viking-accent, var(--color-primary));border-color:color-mix(in srgb, var(--viking-accent) 82%, var(--viking-black));color:var(--viking-accent-content, var(--viking-white-pure))}.swagger-ui .btn.authorize .viking-icon,.swagger-ui .btn.authorize svg,.swagger-ui .btn.execute .viking-icon,.swagger-ui .btn.execute svg,.swagger-ui .authorization__btn svg{display:inline-flex;align-items:center;justify-content:center}.swagger-ui .btn.authorize .viking-icon,.swagger-ui .btn.authorize svg,.swagger-ui .btn.execute .viking-icon,.swagger-ui .btn.execute svg,.swagger-ui .authorization__btn svg{display:inline-flex;align-items:center;justify-content:center}.swagger-ui .btn.authorize:hover,.swagger-ui .btn.authorize.unlocked:hover{background:var(--viking-surface-alt, var(--viking-charcoal-800));border-color:var(--viking-accent, var(--color-primary));color:var(--viking-text, var(--text-color));box-shadow:var(--viking-shadow-md)}.swagger-ui .btn.execute:hover{background:var(--viking-accent-hover, var(--viking-teal-500));border-color:color-mix(in srgb, var(--viking-accent-hover) 82%, var(--viking-black));color:var(--viking-accent-content, var(--viking-white-pure));box-shadow:var(--viking-shadow-md)}.swagger-ui .btn.authorize svg,.swagger-ui .btn.execute svg,.swagger-ui .btn.authorization__btn svg,.swagger-ui .authorization__btn svg{width:16px;height:16px;flex-shrink:0;fill:var(--viking-accent-content, var(--viking-white-pure));display:inline-flex;align-items:center;justify-content:center}.swagger-ui .btn.authorize .viking-icon,.swagger-ui .btn.execute .viking-icon,.swagger-ui .authorization__btn .viking-icon{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.swagger-ui .btn.authorize .viking-icon svg,.swagger-ui .btn.execute .viking-icon svg,.swagger-ui .authorization__btn .viking-icon svg{display:inline-block;width:100%;height:100%;fill:currentColor;margin:0}.swagger-ui .btn.authorize .authorization-btn-icon,.swagger-ui .btn.execute .authorization-btn-icon,.swagger-ui .authorization__btn .authorization-btn-icon{display:inline-flex;align-items:center;justify-content:center}.swagger-ui .scheme-container .authorization__btn,.swagger-ui .btn.authorization__btn{min-height:var(--viking-control-height, 40px);height:var(--viking-control-height, 40px);padding:0 var(--viking-space-2, var(--viking-space-2));box-sizing:border-box;text-align:center}.swagger-ui .opblock-tag-section{margin:0}.swagger-ui .opblock-tag{margin:var(--viking-space-3, var(--viking-space-3)) 0 var(--viking-space-1, var(--viking-space-1));padding:0 0 var(--viking-space-1, var(--viking-space-1));border-bottom:1px solid var(--viking-border, var(--viking-border));font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .opblock-tag small{font-size:var(--viking-font-size-sm);font-weight:500;letter-spacing:normal;text-transform:none}.swagger-ui .opblock-tag svg{fill:var(--viking-text-muted, var(--text-muted))}.swagger-ui .opblock-tag a{color:inherit !important}.swagger-ui .opblock{margin:0;border:none;border-bottom:1px solid var(--viking-border, var(--viking-border));border-radius:0;box-shadow:none;background:rgba(0,0,0,0)}.swagger-ui .opblock.opblock-post,.swagger-ui .opblock.opblock-get,.swagger-ui .opblock.opblock-put,.swagger-ui .opblock.opblock-patch,.swagger-ui .opblock.opblock-delete,.swagger-ui .opblock.opblock-options,.swagger-ui .opblock.opblock-head{border:none;border-bottom:1px solid var(--viking-border, var(--viking-border));background:rgba(0,0,0,0)}.swagger-ui .opblock .opblock-summary{border:none;background:rgba(0,0,0,0) !important;padding:var(--viking-space-3, var(--viking-space-3)) 0}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid var(--viking-border-subtle, var(--viking-border))}.swagger-ui .opblock .opblock-summary-method{background:var(--viking-surface-raised, var(--viking-charcoal-700));border:var(--viking-space-px) solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius-sm, 6px);color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.06em;min-width:64px;text-align:center}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:var(--viking-surface-raised, var(--viking-charcoal-700));color:var(--viking-text, var(--text-color))}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:var(--viking-surface-raised, var(--viking-charcoal-700));color:var(--viking-text, var(--text-color))}.swagger-ui .opblock.opblock-put .opblock-summary-method,.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:color-mix(in srgb, var(--viking-gold-500) 16%, transparent);color:var(--viking-gold-500)}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:color-mix(in srgb, var(--viking-crimson-600) 14%, transparent);color:var(--viking-crimson-400)}.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:var(--viking-font-size-sm)}.swagger-ui .opblock .opblock-summary-path a,.swagger-ui .opblock .opblock-summary-path a span,.swagger-ui .opblock .opblock-summary-path__deprecated a,.swagger-ui .opblock .opblock-summary-path__deprecated a span{color:inherit !important}.swagger-ui .opblock .opblock-summary-description{color:var(--viking-text-muted, var(--text-muted));font-size:var(--viking-font-size-sm)}.swagger-ui .opblock-body,.swagger-ui .opblock-section{background:color-mix(in srgb, var(--viking-bg, var(--bg-color)) 35%, transparent)}.swagger-ui .opblock .opblock-section-header{align-items:center;background:color-mix(in srgb, var(--viking-surface-alt, var(--viking-charcoal-800)) 72%, transparent) !important;border-bottom:1px solid var(--viking-border-subtle, var(--viking-border));box-shadow:none !important;min-height:auto;padding:var(--viking-space-2) var(--viking-space-2, var(--viking-space-2))}.swagger-ui .opblock .opblock-section-header h4{color:var(--viking-text-muted, var(--text-muted));flex:1;font-family:inherit;font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.swagger-ui .opblock .opblock-section-header>label{align-items:center;color:var(--viking-text-muted, var(--text-muted));display:flex;font-family:inherit;font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.08em;margin:0 0 0 auto;text-transform:uppercase}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 var(--viking-space-1, var(--viking-space-1)) 0 0}.swagger-ui .opblock-section-header{background:color-mix(in srgb, var(--viking-surface-alt, var(--viking-charcoal-800)) 72%, transparent) !important;border-bottom:1px solid var(--viking-border-subtle, var(--viking-border));box-shadow:none !important;padding:var(--viking-space-2) 0}.swagger-ui .opblock-section-header h4,.swagger-ui .opblock-section-header label{color:var(--viking-text-muted, var(--text-muted));font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .opblock-body{padding:var(--viking-space-3, var(--viking-space-3)) 0}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{background:rgba(0,0,0,0);color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:var(--viking-font-size-sm);margin:0;padding:var(--viking-space-2, var(--viking-space-2)) 0}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .table-container{background:rgba(0,0,0,0);padding:var(--viking-space-2, var(--viking-space-2)) 0}.swagger-ui .parameters-col_description,.swagger-ui .parameters-col_name{color:var(--viking-text, var(--text-color))}.swagger-ui .parameters-col_description .markdown p,.swagger-ui .parameters-col_description .renderedMarkdown p,.swagger-ui .opblock-body .markdown p,.swagger-ui .opblock-body .renderedMarkdown p{color:var(--viking-text-muted, var(--text-muted));font-size:var(--viking-font-size-sm);margin:0}.swagger-ui .parameter__name{color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:var(--viking-font-size-sm);font-weight:600}.swagger-ui .parameter__name.required span{color:var(--viking-crimson-400, var(--color-error))}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{color:var(--viking-text-muted, var(--text-muted));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:var(--viking-font-size-xs)}.swagger-ui .tab{display:flex;gap:var(--viking-space-2, var(--viking-space-2));margin:0 0 var(--viking-space-1, var(--viking-space-1))}.swagger-ui .tab li{color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:var(--viking-font-size-xs);font-weight:600;letter-spacing:.04em;min-width:0;padding:0;text-transform:uppercase}.swagger-ui .tab li:first-of-type:after{background:var(--viking-border-subtle, var(--viking-border))}.swagger-ui .tab li.active{color:var(--viking-accent-strong, var(--viking-teal-400));font-weight:700}.swagger-ui .tab li button.tablinks{color:inherit}.swagger-ui .body-param-options label{color:var(--viking-text-muted, var(--text-muted));font-size:var(--viking-font-size-xs);font-weight:600;letter-spacing:.04em;padding:var(--viking-space-1, var(--viking-space-1)) 0;text-transform:uppercase}.swagger-ui .body-param__media-type,.swagger-ui .body-param__text{color:var(--viking-text, var(--text-color))}.swagger-ui .execute-wrapper{background:rgba(0,0,0,0);padding:var(--viking-space-2, var(--viking-space-2)) 0 0;text-align:left}.swagger-ui .execute-wrapper .btn{width:100%}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5,.swagger-ui .response-control-media-type__title,.swagger-ui .response-control-examples__title{color:var(--viking-text-muted, var(--text-muted));font-family:inherit;font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui .response-col_status,.swagger-ui .response-col_links{color:var(--viking-text, var(--text-color));font-family:inherit;font-size:var(--viking-font-size-sm)}.swagger-ui .response-col_status .response-undocumented{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .response-control-media-type__accept-message{color:var(--viking-success, var(--viking-green-500))}.swagger-ui .response-control-media-type--accept-controller select.content-type{border-color:var(--viking-success, var(--viking-green-500))}.swagger-ui .btn.cancel{background:rgba(0,0,0,0) !important;border-color:var(--viking-border-strong, var(--viking-border)) !important;color:var(--viking-text-muted, var(--text-muted)) !important}.swagger-ui .btn.cancel:hover{background:color-mix(in srgb, var(--viking-crimson-500, var(--color-error)) 10%, transparent) !important;border-color:var(--viking-crimson-400, var(--color-error)) !important;color:var(--viking-crimson-400, var(--color-error)) !important}.swagger-ui .opblock-body pre.microlight{background:var(--viking-charcoal-950, var(--viking-bg)) !important;border:1px solid var(--viking-border, var(--viking-border));border-radius:var(--viking-radius, 8px);color:var(--viking-text, var(--text-color)) !important;font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace) !important;font-size:var(--viking-font-size-sm) !important;padding:var(--viking-space-2, var(--viking-space-2)) !important}.swagger-ui .markdown p,.swagger-ui .renderedMarkdown p{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{background:none;color:var(--viking-text, var(--text-color));font-weight:400;padding:0}.swagger-ui .copy-to-clipboard{background:var(--viking-surface-alt, var(--viking-charcoal-700));border:1px solid var(--viking-border, var(--viking-border))}.swagger-ui .copy-to-clipboard:hover{background:var(--viking-surface-raised, var(--viking-charcoal-600))}.swagger-ui .parameters-col_description input[type=text],.swagger-ui .parameters-col_description select,.swagger-ui .opblock-body input[type=text],.swagger-ui .opblock-body input[type=password],.swagger-ui .opblock-body input[type=search],.swagger-ui .opblock-body input[type=email],.swagger-ui .opblock-body input[type=url],.swagger-ui .opblock-body textarea,.swagger-ui textarea,.swagger-ui input[type=text],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=email],.swagger-ui input[type=url],.swagger-ui select{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius-sm, 6px);color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:var(--viking-font-size-sm);min-height:var(--viking-control-height, 44px);padding:var(--viking-space-1, var(--viking-space-1)) var(--viking-space-2, var(--viking-space-2))}.swagger-ui input:focus-visible,.swagger-ui textarea:focus-visible,.swagger-ui select:focus-visible{border-color:var(--viking-accent-strong, var(--viking-teal-400));outline:var(--viking-ring-width, 2px) solid var(--viking-ring, var(--focus-ring-color));outline-offset:var(--viking-ring-offset, 2px)}.swagger-ui .parameter__name,.swagger-ui .parameter__type,.swagger-ui .parameter__in{font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:var(--viking-font-size-sm)}.swagger-ui .parameter__in{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui table thead tr th,.swagger-ui table thead tr td{border-bottom:1px solid var(--viking-border, var(--viking-border));color:var(--viking-text-muted, var(--text-muted));font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.swagger-ui table tbody tr td{border-bottom:1px solid var(--viking-border-subtle, var(--viking-border));font-size:var(--viking-font-size-sm);padding:var(--viking-space-2) 0}.swagger-ui .responses-inner{padding:var(--viking-space-2, var(--viking-space-2)) 0}.swagger-ui .response-col_status{font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-weight:700}.swagger-ui .response-col_description__inner p,.swagger-ui .response-col_links{color:var(--viking-text-muted, var(--text-muted));font-size:var(--viking-font-size-sm)}.swagger-ui .highlight-code,.swagger-ui .microlight,.swagger-ui .renderedMarkdown pre,.swagger-ui pre{background:var(--viking-charcoal-950, var(--viking-bg)) !important;border:1px solid var(--viking-border, var(--viking-border));border-radius:var(--viking-radius, 8px);color:var(--viking-text, var(--text-color)) !important;font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace) !important;font-size:var(--viking-font-size-sm) !important;line-height:1.55;padding:var(--viking-space-2, var(--viking-space-2)) !important}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:color-mix(in srgb, var(--viking-surface-alt, var(--viking-surface-2, var(--viking-surface))) 70%, transparent);border:1px solid var(--viking-border-subtle, var(--viking-border));border-radius:4px;color:var(--viking-accent-strong, var(--viking-teal-400));font-size:var(--viking-font-size-sm);padding:var(--viking-space-px) var(--viking-space-0-5)}.swagger-ui section.models{margin-top:var(--viking-space-3, var(--viking-space-3));border:none;border-top:1px solid var(--viking-border, var(--viking-border));border-radius:0;overflow:visible}.swagger-ui section.models h4{margin:0;padding:var(--viking-space-3, var(--viking-space-3)) 0 var(--viking-space-1, var(--viking-space-1));border:none;background:rgba(0,0,0,0);font-size:var(--viking-font-size-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui section.models.is-open h4{border-bottom:none}.swagger-ui section.models .model-container{margin:0;padding:0}.swagger-ui section.models .model-box{display:flex;align-items:center;flex-wrap:wrap;gap:var(--viking-space-1, var(--viking-space-1));margin:0;padding:var(--viking-space-2, var(--viking-space-2)) 0;border:none;border-bottom:1px solid var(--viking-border-subtle, var(--viking-border));border-radius:0;background:rgba(0,0,0,0)}.swagger-ui section.models .model-box:last-child{border-bottom:none}.swagger-ui section.models .model-box-control{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--viking-space-1, var(--viking-space-1));margin:0;padding:0;border:none;background:rgba(0,0,0,0) !important;box-shadow:none !important;text-align:left}.swagger-ui section.models .model-box .btn,.swagger-ui section.models .model-toggle,.swagger-ui section.models button.model-box-control{background:rgba(0,0,0,0) !important;border:none !important;box-shadow:none !important;min-height:auto;padding:0;text-transform:none;letter-spacing:normal;font-weight:600;color:var(--viking-text, var(--text-color))}.swagger-ui section.models .model-box>.btn{margin-left:auto;font-size:var(--viking-font-size-xs);font-weight:500;color:var(--viking-text-muted, var(--text-muted))}.swagger-ui section.models .model-title,.swagger-ui section.models .model-title__text{color:var(--viking-text, var(--text-color));font-family:var(--viking-font-family-mono, "JetBrains Mono", monospace);font-size:var(--viking-font-size-sm);font-weight:600}.swagger-ui section.models .model .prop-type,.swagger-ui section.models .model .prop-format{margin-left:auto;color:var(--viking-accent, var(--color-primary));font-size:var(--viking-font-size-xs)}.swagger-ui .model .property-row{border-bottom:1px solid var(--viking-border-subtle, var(--viking-border))}.swagger-ui .dialog-ux .modal-ux{background:color-mix(in srgb, var(--viking-bg) 72%, transparent)}.swagger-ui .dialog-ux .modal-ux-content{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--viking-border));border-radius:var(--viking-radius-lg, 12px);box-shadow:var(--viking-shadow-lg, var(--shadow-lg));padding:var(--viking-space-3, var(--viking-space-3))}.swagger-ui .dialog-ux .modal-ux-header{border-bottom:1px solid var(--viking-border, var(--viking-border));padding:0 0 var(--viking-space-2, var(--viking-space-2));margin-bottom:var(--viking-space-2, var(--viking-space-2))}.swagger-ui .dialog-ux .modal-ux-header h3{font-size:var(--viking-font-size-md);font-weight:700;color:var(--viking-text, var(--text-color))}.swagger-ui .auth-container h4,.swagger-ui .auth-container label{color:var(--viking-text, var(--text-color))}.swagger-ui .loading-container .loading{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .errors-wrapper{background:color-mix(in srgb, var(--viking-crimson-500) 10%, transparent);border:1px solid color-mix(in srgb, var(--viking-crimson-500) 30%, transparent);border-radius:var(--viking-radius, 8px);color:var(--viking-crimson-400);margin:var(--viking-space-2, var(--viking-space-2)) 0;padding:var(--viking-space-2, var(--viking-space-2))}html[data-theme=light] .swagger-ui .highlight-code,html[data-theme=light] .swagger-ui .microlight,html[data-theme=light] .swagger-ui pre,html[data-theme=light] .swagger-ui .opblock-body pre.microlight{background:var(--viking-charcoal-900, var(--viking-surface)) !important}html[data-theme=light] .swagger-ui .opblock .opblock-section-header{background:color-mix(in srgb, var(--viking-surface-alt, var(--charcoal-800)) 35%, var(--viking-surface, var(--card-bg))) !important}html[data-theme=light] .swagger-ui .filter-container input[type=text]{background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color))}html[data-theme=light] .swagger-ui .scheme-container select,html[data-theme=light] .swagger-ui .opblock-body select,html[data-theme=light] .swagger-ui select{background:var(--viking-surface, var(--card-bg));color:var(--viking-text, var(--text-color))}@media(prefers-reduced-motion: reduce){.swagger-ui .btn:hover{transform:none}}.swagger-ui .btn,.swagger-ui button.btn,.swagger-ui .authorization__btn{appearance:none;-webkit-appearance:none;box-shadow:none !important;text-shadow:none}.swagger-ui .btn .btn,.swagger-ui button.btn button,.swagger-ui .opblock-summary-control,.swagger-ui .expand-operation,.swagger-ui .authorization__btn.unlocked,.swagger-ui .authorization__btn.locked,.swagger-ui .opblock .authorization__btn{background:rgba(0,0,0,0) !important;border:none !important;box-shadow:none !important;min-height:auto;padding:0;margin:0}.swagger-ui .opblock .authorization__btn{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .opblock .authorization__btn:hover,.swagger-ui .opblock .authorization__btn:focus-visible{color:var(--viking-accent, var(--color-primary))}.swagger-ui .opblock-summary-control{color:var(--viking-text-muted, var(--text-muted));display:inline-flex;align-items:center;justify-content:center}.swagger-ui .opblock-summary-control:hover,.swagger-ui .opblock-summary-control:focus-visible{color:var(--viking-accent-strong, var(--viking-teal-400));outline:none}.swagger-ui .opblock-summary-control svg,.swagger-ui .expand-operation svg{fill:currentColor;width:18px;height:18px}.swagger-ui .try-out__btn,.swagger-ui .btn.try-out__btn{background:rgba(0,0,0,0) !important;border:1px solid var(--viking-border-strong, var(--viking-border)) !important;color:var(--viking-text, var(--text-color)) !important;border-radius:var(--viking-radius, 8px);min-height:var(--viking-control-height-sm, 36px);padding:0 var(--viking-space-2, var(--viking-space-2));text-transform:none;letter-spacing:.02em;font-weight:600}.swagger-ui .try-out__btn:hover,.swagger-ui .btn.try-out__btn:hover{border-color:var(--viking-accent, var(--color-primary)) !important;color:var(--viking-accent-strong, var(--viking-teal-400)) !important;background:color-mix(in srgb, var(--viking-accent) 10%, transparent) !important}.swagger-ui .btn.authorize,.swagger-ui .authorization__btn.modal-btn.authorize{background:var(--viking-surface-raised, var(--viking-charcoal-700)) !important;border:var(--viking-space-px) solid var(--viking-border-strong, var(--viking-border)) !important;color:var(--viking-text, var(--text-color)) !important;border-radius:var(--viking-radius, 8px);min-height:var(--viking-control-height, 40px);padding:0 var(--viking-space-3, var(--viking-space-3));gap:var(--viking-space-1, var(--viking-space-1));display:inline-flex;align-items:center;justify-content:center}.swagger-ui .btn.authorize:hover,.swagger-ui .btn.authorize:focus-visible,.swagger-ui .authorization__btn.modal-btn.authorize:hover,.swagger-ui .authorization__btn.modal-btn.authorize:focus-visible{background:var(--viking-surface-alt, var(--viking-charcoal-800)) !important;border-color:var(--viking-accent, var(--color-primary)) !important;color:var(--viking-text, var(--text-color)) !important}.swagger-ui .btn.authorize svg,.swagger-ui .authorization__btn svg{fill:currentColor !important;background:rgba(0,0,0,0) !important;border:none !important;box-shadow:none !important;padding:0 !important;margin:0 !important;width:16px !important;height:16px !important}.swagger-ui .execute-wrapper{display:flex;flex-wrap:wrap;gap:var(--viking-space-2, var(--viking-space-2));align-items:stretch}.swagger-ui .execute-wrapper .btn.execute{flex:1 1 12rem;width:auto;max-width:100%;min-height:var(--viking-control-height, 40px);background:var(--viking-accent, var(--color-primary)) !important;border-color:color-mix(in srgb, var(--viking-accent) 80%, var(--viking-black)) !important;color:var(--viking-accent-content, var(--viking-white-pure)) !important}.swagger-ui .btn-group{display:flex;flex-wrap:wrap;gap:var(--viking-space-2, var(--viking-space-2));background:rgba(0,0,0,0) !important;border:none !important;box-shadow:none !important;padding:0}.swagger-ui .btn-group .btn{flex:1 1 auto}.swagger-ui .opblock-body,.swagger-ui .opblock-section,.swagger-ui .responses-wrapper,.swagger-ui .responses-inner{background:rgba(0,0,0,0) !important;color:var(--viking-text, var(--text-color))}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .response-col_description,.swagger-ui .parameter__type,.swagger-ui .response-col_links{color:var(--viking-text-muted, var(--text-muted)) !important}.swagger-ui .opblock-summary-description{color:var(--viking-text-muted, var(--text-muted)) !important;font-weight:500}.swagger-ui .opblock .opblock-summary:hover{background:color-mix(in srgb, var(--viking-accent) 6%, transparent) !important}.swagger-ui .opblock-section-header{background:rgba(0,0,0,0) !important;box-shadow:none !important;border-bottom:1px solid var(--viking-border-subtle, var(--viking-border))}.swagger-ui .checkbox,.swagger-ui .parameter__empty_value_toggle{color:var(--viking-text-muted, var(--text-muted))}.swagger-ui .dialog-ux .modal-ux-header h3,.swagger-ui .dialog-ux .modal-ux-content h4,.swagger-ui .dialog-ux .modal-ux-content label,.swagger-ui .dialog-ux .modal-ux-content p{color:var(--viking-text, var(--text-color))}.swagger-ui .dialog-ux .modal-ux-header{border-bottom:1px solid var(--viking-border, var(--viking-border));background:var(--viking-surface-alt, var(--viking-charcoal-800))}.swagger-ui .dialog-ux .modal-ux-content input[type=text],.swagger-ui .dialog-ux .modal-ux-content input[type=password]{background:var(--viking-surface, var(--card-bg));border:1px solid var(--viking-border-strong, var(--viking-border));color:var(--viking-text, var(--text-color))}.swagger-ui .loading-container .loading::after{border-color:color-mix(in srgb, var(--viking-accent) 30%, transparent);border-top-color:var(--viking-accent, var(--color-primary))}@media(min-width: 600px){.backend-swagger-hero{padding:var(--viking-space-3) var(--viking-space-3) var(--viking-space-2)}.backend-swagger-toolbar{padding:var(--viking-space-2) var(--viking-space-3)}.backend-swagger-panel #swagger-ui{padding:0 var(--viking-space-3) var(--viking-space-3)}.swagger-ui .opblock .opblock-summary{flex-wrap:nowrap;gap:0}}.viking-unified-hero{display:grid !important;grid-template-columns:minmax(0, 1fr) !important;align-items:center !important;justify-items:stretch !important;gap:var(--viking-space-6) !important;width:100% !important;max-width:none !important;margin:0 !important;padding:var(--viking-space-6) 0 var(--viking-space-8) !important;border:0 !important;border-bottom:var(--viking-border-width) var(--viking-border-style) var(--viking-border-subtle) !important;border-radius:0 !important;background:rgba(0,0,0,0) !important;box-shadow:none !important;overflow:visible !important;text-align:left !important}.viking-unified-hero::before,.viking-unified-hero::after{display:none !important}.viking-unified-hero-copy{display:flex !important;flex-direction:column;align-items:flex-start !important;justify-content:center;gap:var(--viking-space-3) !important;width:100% !important;max-width:var(--viking-content-readable-max-width) !important;margin:0 !important;text-align:left !important}.viking-unified-hero-copy::before,.viking-unified-hero-copy::after{display:none !important}.viking-unified-hero-badge{display:inline-flex !important;align-items:center;align-self:flex-start !important;justify-content:flex-start !important;gap:var(--viking-space-1);width:fit-content !important;margin:0 !important;padding:var(--viking-space-1) var(--viking-space-2) !important;border:var(--viking-border-width) var(--viking-border-style) var(--viking-border-strong) !important;border-radius:var(--viking-radius-pill) !important;background:var(--viking-surface-recipe) !important;box-shadow:var(--viking-shadow-xs) !important}.viking-unified-hero-title{max-width:var(--viking-content-readable-max-width) !important;margin:0 !important;color:var(--viking-text) !important;font-family:var(--viking-font-family) !important;font-size:clamp(var(--viking-font-size-3xl),5vw,var(--viking-font-size-5xl)) !important;font-weight:var(--viking-font-weight-extrabold) !important;line-height:var(--viking-line-height-none) !important;letter-spacing:var(--viking-letter-spacing-tight) !important;text-align:left !important;text-transform:uppercase;text-wrap:balance}.viking-unified-hero-lead{max-width:var(--viking-content-readable-max-width) !important;margin:0 !important;color:var(--viking-text-muted) !important;font-size:var(--viking-font-size-base) !important;line-height:var(--viking-line-height-relaxed) !important;text-align:left !important;text-wrap:pretty}.viking-unified-hero-actions{justify-content:flex-start !important;margin:0 !important}.viking-unified-hero-panel{width:100% !important;min-width:0;margin:0 !important;justify-self:stretch !important;text-align:left !important;overflow:hidden !important;border-radius:var(--viking-card-radius)}.viking-unified-section-header{align-items:flex-start !important;justify-items:start !important;width:100%;max-width:var(--viking-content-readable-max-width) !important;margin-inline:0 !important;text-align:left !important}.viking-unified-section-header>*{text-align:left !important}.viking-unified-hero .backend-metric-grid{grid-template-columns:minmax(0, 1fr)}.viking-unified-hero .backend-hero-cta{justify-content:flex-start;margin-inline:0}.viking-unified-hero+.docs-outline,.viking-unified-hero~.docs-outline{justify-content:flex-start}@media(min-width: 768px){.viking-unified-hero .backend-metric-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.backend-feature-showcase:has(>.viking-unified-section-header){grid-template-columns:repeat(2, minmax(0, 1fr))}.backend-feature-showcase>.viking-unified-section-header,.backend-feature-showcase>.viking-feature-panel:last-child{grid-column:1/-1}}@media(min-width: 1024px){.viking-unified-hero:has(.viking-unified-hero-panel){grid-template-columns:minmax(0, 1.05fr) minmax(0, 0.95fr) !important}}

/*!
 * SUITE TOKENS — Pass 1 canonical design system (DEML + FORJD)
 * ----------------------------------------------------------------------------
 * AUTHORITATIVE SOURCE (edit only here):
 *   packages/viking-ui/src/tokens/suite-tokens.css
 *
 * Docs:     packages/viking-ui/src/tokens/SUITE_TOKENS.md
 * Lock:     packages/viking-ui/src/tokens/suite-tokens.lock.json
 * Law:      docs/SUITE_UI_UNIFICATION.md
 *
 * Consumers (no external style packages for the look):
 *   - viking-ui (build prepends into design-tokens / viking-ui / viking-app)
 *   - forjd-ui  (vendored via `npm run sync:suite` — sibling copy, not npm)
 *   - deml.app · marketing · backend.deml.app · ui.deml.app
 *   - forjd.co · backend.forjd.co · ui.forjd.co
 *
 * Strategy:
 *   High-end **dark-first** void austerity (forjd.co + SpaceX restraint).
 *   Light is **opt-in only** via <html data-theme="light"> (same roles, lightness shift).
 *
 * Roles (do not collapse):
 *   A — Product chrome (surfaces, ink, primary, institutional gold, status)
 *   B — Chart series palette (--suite-series-*) — may evolve independently of chrome
 *   C — PDF / print report tokens live outside this file (fjord-report-tokens.json; suite-aligned chrome)
 *
 * Provenance (existing hexes only — no new brand hues):
 *   Void surfaces ← forjd.co · Electric command ← DEML · Gold ← FORJD institutional
 *
 * RULE: Everything downstream consumes only these variables.
 *       No hard-coded product colors/spacing outside this file (brand SVG assets ok).
 */

/* =============================================================================
   DARK (default) — product suite identity
   ============================================================================= */
:root,
html[data-theme="dark"] {
  color-scheme: dark;

  /* --- Brand artwork only (logos / favicons / OG — not product chrome) --- */
  --suite-brand-navy: #070c20;
  --suite-brand-blue: #0078ff;

  /* --- Surface levels (Role A) --- */
  --suite-bg: #0a0a0a;
  --suite-bg-subtle: #050505;
  --suite-surface: #111111;
  --suite-surface-2: #1a1a1a;
  --suite-surface-elevated: #141414;
  --suite-surface-inset: #050505;
  --suite-overlay: color-mix(in srgb, var(--suite-bg) 72%, transparent);

  /* --- Ink / text --- */
  --suite-ink: #f5f5f5;
  --suite-ink-muted: #aaaaaa;
  --suite-ink-subtle: #999999;
  --suite-ink-disabled: #777777;
  --suite-ink-on-primary: #ffffff;
  --suite-ink-inverse: #0a0a0a;

  /* --- Borders (strong ≥3:1 UI contrast on void surfaces — WCAG 1.4.11) --- */
  --suite-border: #222222;
  --suite-border-strong: #666666;
  --suite-border-control: var(--suite-border-strong);
  --suite-border-subtle: color-mix(
    in srgb,
    var(--suite-border) 70%,
    transparent
  );
  --suite-hairline: color-mix(in srgb, var(--suite-primary) 28%, transparent);

  /* --- Primary / accent (electric command) ---
     Fill/hover are darkened for ≥4.5:1 white-on-fill. Brand hue kept on series-1.
     --suite-primary-strong is the AA text/link color on dark surfaces. */
  --suite-primary: #1565f0;
  --suite-primary-hover: #0f5ae0;
  --suite-primary-active: #0a4fd4;
  --suite-primary-soft: color-mix(
    in srgb,
    var(--suite-primary) 18%,
    transparent
  );
  --suite-primary-strong: #7ab0ff;
  --suite-accent: var(--suite-primary);
  --suite-accent-hover: var(--suite-primary-strong);
  /* Institutional gold — chrome / prestige moments (not chart series by default) */
  --suite-gold: #d4af37;
  --suite-gold-soft: color-mix(in srgb, var(--suite-gold) 16%, transparent);
  --suite-gold-text: #e8c96a;

  /* --- Status (fills keep brand chroma; *-text is AA foreground on surfaces) --- */
  --suite-success: #2a9d8f;
  --suite-success-soft: color-mix(
    in srgb,
    var(--suite-success) 16%,
    transparent
  );
  --suite-success-text: #5ec4b6;
  --suite-success-fill: #1a7066;
  --suite-warning: #d69e2e;
  --suite-warning-soft: color-mix(
    in srgb,
    var(--suite-warning) 16%,
    transparent
  );
  --suite-warning-text: #e8c25a;
  --suite-danger: #a83344;
  --suite-danger-soft: color-mix(in srgb, var(--suite-danger) 16%, transparent);
  --suite-danger-text: #dc6b78;
  --suite-info: var(--suite-primary-strong);

  /* --- Focus / ring (bright for visibility — not the darkened fill hover) --- */
  --suite-focus: #4d94ff;
  --suite-ring: #4d94ff;
  --suite-ring-width: 2px;
  --suite-ring-offset: 2px;

  /* --- Chart series (Role B) — tokenized; prefer these over hard-coded hexes --- */
  --suite-series-1: #2176ff;
  --suite-series-2: #922b3e;
  --suite-series-3: var(--suite-success);
  --suite-series-4: var(--suite-gold);
  --suite-series-5: var(--suite-danger);
  --suite-series-6: #4d94ff;
  --suite-series-7: #162544;
  --suite-series-8: #666666;
  --suite-series-default: var(--suite-series-1);

  /* --- Typography (industrial Inter + clean modern stack) --- */
  --suite-font-sans:
    "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  --suite-font-mono:
    ui-monospace, "JetBrains Mono", "SF Mono", "Cascadia Code", Consolas,
    monospace;

  --suite-text-2xs: 0.6875rem; /* 11px */
  --suite-text-xs: 0.75rem; /* 12px */
  --suite-text-sm: 0.875rem; /* 14px */
  --suite-text-md: 0.875rem; /* 14px UI chrome */
  --suite-text-base: 1rem; /* 16px body */
  --suite-text-lg: 1.125rem; /* 18px */
  --suite-text-xl: 1.5rem; /* 24px */
  --suite-text-2xl: 1.875rem; /* 30px */
  --suite-text-3xl: 2.25rem; /* 36px */
  --suite-text-4xl: 3rem; /* 48px */
  --suite-text-display: clamp(2.5rem, 7vw, 3rem);
  --suite-text-display-lg: clamp(2.25rem, 5vw, 3.75rem);
  --suite-text-display-md: clamp(2rem, 4.5vw, 3rem);
  /* Hero industrial titles — fluid, tokenized clamps */
  --suite-text-headline: clamp(1.35rem, 3.2vw, 2rem);
  --suite-text-headline-quiet: clamp(1.2rem, 2.6vw, 1.65rem);
  --suite-text-title: clamp(1.5rem, 3.5vw, 2rem);
  --suite-text-title-lg: clamp(1.75rem, 5vw, 2.5rem);
  --suite-text-title-sm: clamp(1.35rem, 3vw, 1.75rem);
  --suite-text-lead: 1.25rem; /* 20px section lead */
  --suite-text-lead-fluid: clamp(1.05rem, 2vw, 1.25rem);

  --suite-weight-regular: 400;
  --suite-weight-medium: 500;
  --suite-weight-semibold: 600;
  --suite-weight-bold: 700;
  --suite-weight-extrabold: 800;

  --suite-leading-none: 1;
  --suite-leading-tight: 1.2;
  --suite-leading-snug: 1.35;
  --suite-leading-normal: 1.5;
  --suite-leading-relaxed: 1.6;

  --suite-tracking-tight: -0.03em;
  --suite-tracking-normal: 0;
  --suite-tracking-wide: 0.08em;
  --suite-tracking-caps: 0.1em;
  --suite-tracking-brand: 0.14em;

  /* --- Spacing (THEME.md: 8px primary grid; 4px tight exception) --- */
  --suite-space-unit: 8px;
  --suite-space-0: 0;
  --suite-space-px: 1px;
  --suite-space-0-5: 4px;
  --suite-space-1: 8px;
  --suite-space-2: 16px;
  --suite-space-3: 24px;
  --suite-space-4: 32px;
  --suite-space-5: 40px;
  --suite-space-6: 48px;
  --suite-space-7: 56px;
  --suite-space-8: 64px;
  --suite-space-9: 80px;
  --suite-space-10: 96px;
  --suite-space-11: 112px;
  --suite-space-12: 128px;
  --suite-space-14: 160px;
  --suite-space-16: 192px;

  --suite-space-compact: 12px;
  --suite-page-gutter: clamp(1rem, 4vw, 1.5rem);
  /* Major section rhythm — more air between stages; not card/list density */
  --suite-section-gap: clamp(3rem, 7vw, 5rem);
  /* Related blocks inside a section (header→grid, band stack) */
  --suite-block-gap: clamp(1.75rem, 3.5vw, 2.5rem);
  /* Dense operational rows (tables, status, meta) */
  --suite-density-gap: var(--suite-space-1);
  --suite-cluster-gap: var(--suite-space-2);
  --suite-content-max: 78.75rem; /* 1260px */
  --suite-readable-max: 48rem;
  /* Mobile touch target (WCAG AA / SaaS) */
  --suite-touch: 2.75rem; /* 44px */
  /* Dense desktop control frame; mobile interactive targets use --suite-touch */
  --suite-control-height: 2.5rem; /* 40px */
  --suite-control-height-sm: 2rem; /* 32px */
  --suite-control-height-lg: var(--suite-touch);
  /* Shared control chrome — buttons, inputs, selects align to this grid */
  --suite-control-px: var(--suite-space-2);
  --suite-control-px-lg: var(--suite-space-3);
  --suite-control-fs: var(--suite-text-md);
  --suite-control-fs-sm: var(--suite-text-sm);
  --suite-control-check: 1.25rem; /* checkbox / radio glyph */
  /* Soft inner focus for fields (pairs with :focus-visible outline) */
  --suite-control-focus-ring: 0 0 0 1px
    color-mix(in srgb, var(--suite-primary) 42%, transparent);

  /* --- Radius --- */
  --suite-radius-xs: 4px;
  --suite-radius-sm: 6px;
  --suite-radius: 8px;
  --suite-radius-lg: 12px;
  --suite-radius-xl: 16px;
  --suite-radius-pill: 999px;
  --suite-radius-control: var(--suite-radius);
  --suite-radius-surface: var(--suite-radius-lg);

  /* --- Elevation (machined, stepped — never decorative glow stacks) --- */
  /* Drop shadows: short/hard near-edge + soft ambient; keep opacity low */
  --suite-shadow-xs: 0 1px 1px rgba(0, 0, 0, 0.28);
  --suite-shadow-sm:
    0 1px 2px rgba(0, 0, 0, 0.28), 0 3px 10px rgba(0, 0, 0, 0.14);
  --suite-shadow-md:
    0 2px 4px rgba(0, 0, 0, 0.26), 0 8px 20px rgba(0, 0, 0, 0.16);
  --suite-shadow-lg:
    0 4px 8px rgba(0, 0, 0, 0.28), 0 16px 36px rgba(0, 0, 0, 0.22);
  --suite-shadow-hover:
    0 2px 4px rgba(0, 0, 0, 0.28), 0 10px 22px rgba(0, 0, 0, 0.18);
  /* Top-edge specular — primary depth cue on dark steel */
  --suite-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  /* Recessed wells (tables, tablists, metric panels) */
  --suite-shadow-inset:
    inset 0 1px 2px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(0, 0, 0, 0.12);
  /* Overlay glass — modals / loading only; not base cards */
  --suite-glass: color-mix(
    in srgb,
    var(--suite-surface-elevated) 82%,
    transparent
  );
  --suite-glass-strong: color-mix(
    in srgb,
    var(--suite-surface-elevated) 92%,
    transparent
  );
  --suite-glass-blur: 8px;
  /* Composed elevation recipes (prefer these in chrome) */
  --suite-elevation-1: var(--suite-highlight);
  --suite-elevation-2: var(--suite-shadow-sm), var(--suite-highlight);
  --suite-elevation-3: var(--suite-shadow-md), var(--suite-highlight);
  --suite-elevation-4: var(--suite-shadow-lg), var(--suite-highlight);
  --suite-elevation-hover: var(--suite-shadow-hover), var(--suite-highlight);
  --suite-elevation-inset: var(--suite-shadow-inset);

  /* --- Z-index scale --- */
  --suite-z-base: 0;
  --suite-z-dropdown: 1000;
  --suite-z-sticky: 1100;
  --suite-z-overlay: 1200;
  --suite-z-modal: 1300;
  --suite-z-toast: 1400;
  --suite-z-max: 1500;

  /* --- Motion (aerospace: short, decisive, no bounce) --- */
  --suite-ease: cubic-bezier(0.2, 0, 0, 1);
  --suite-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --suite-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --suite-duration-instant: 75ms;
  --suite-duration-fast: 150ms;
  --suite-duration: 250ms;
  --suite-duration-slow: 350ms;
  /* Geometry: 1px lift / press — perceptible, never theatrical */
  --suite-hover-lift: -1px;
  --suite-press-sink: 1px;
  --suite-nudge: 2px;
  --suite-reveal-distance: 0.5rem;
  --suite-active-scale: 0.985;
  --suite-transition:
    background-color var(--suite-duration-fast) var(--suite-ease),
    border-color var(--suite-duration-fast) var(--suite-ease),
    color var(--suite-duration-fast) var(--suite-ease),
    opacity var(--suite-duration-fast) var(--suite-ease),
    box-shadow var(--suite-duration-fast) var(--suite-ease),
    transform var(--suite-duration-fast) var(--suite-ease);
  --suite-transition-transform: transform var(--suite-duration-fast)
    var(--suite-ease-emphasized);
  --suite-transition-colors:
    background-color var(--suite-duration-fast) var(--suite-ease),
    border-color var(--suite-duration-fast) var(--suite-ease),
    color var(--suite-duration-fast) var(--suite-ease),
    box-shadow var(--suite-duration-fast) var(--suite-ease);

  /* --- Breakpoints (THEME.md mobile-first contract) --- */
  --suite-bp-sm: 600px;
  --suite-bp-md: 768px;
  --suite-bp-sidebar: 901px;
  --suite-bp-lg: 1024px;
  --suite-bp-xl: 1440px;
  --suite-bp-2xl: 1920px;

  /* =========================================================================
     Compatibility aliases — viking-ui + forjd-ui
     Prefer --suite-* in new code. Aliases must stay byte-identical via var().
     ========================================================================= */

  /* Viking semantic */
  --viking-bg: var(--suite-bg);
  --viking-bg-subtle: var(--suite-bg-subtle);
  --viking-surface: var(--suite-surface);
  --viking-surface-alt: var(--suite-surface-2);
  --viking-surface-raised: var(--suite-surface-elevated);
  --viking-surface-inset: var(--suite-surface-inset);
  --viking-surface-overlay: var(--suite-surface);
  --viking-surface-recipe: var(--suite-surface);
  --viking-surface-recipe-elevated: var(--suite-surface-elevated);
  --viking-border: var(--suite-border);
  --viking-border-strong: var(--suite-border-strong);
  --viking-border-subtle: var(--suite-border-subtle);
  --viking-border-control: var(--suite-border-control);
  --viking-border-container: var(--suite-border);
  --viking-border-accent: var(--suite-hairline);
  --viking-text: var(--suite-ink);
  --viking-text-muted: var(--suite-ink-muted);
  --viking-text-subtle: var(--suite-ink-subtle);
  --viking-text-disabled: var(--suite-ink-disabled);
  --viking-accent: var(--suite-primary);
  --viking-accent-hover: var(--suite-primary-hover);
  --viking-accent-active: var(--suite-primary-active);
  --viking-accent-soft: var(--suite-primary-soft);
  --viking-accent-strong: var(--suite-primary-strong);
  --viking-accent-content: var(--suite-ink-on-primary);
  --viking-gold-500: var(--suite-gold);
  --viking-gold-text: var(--suite-gold-text);
  --viking-success: var(--suite-success);
  --viking-success-text: var(--suite-success-text);
  --viking-warning: var(--suite-warning);
  --viking-warning-text: var(--suite-warning-text);
  --viking-danger: var(--suite-danger);
  --viking-danger-text: var(--suite-danger-text);
  --viking-ring: var(--suite-ring);
  --viking-ring-width: var(--suite-ring-width);
  --viking-ring-offset: var(--suite-ring-offset);
  --viking-font-family: var(--suite-font-sans);
  --viking-font-family-mono: var(--suite-font-mono);
  --viking-font-size-2xs: var(--suite-text-2xs);
  --viking-font-size-xs: var(--suite-text-xs);
  --viking-font-size-sm: var(--suite-text-sm);
  --viking-font-size-ui: var(--suite-text-md);
  --viking-font-size-base: var(--suite-text-base);
  --viking-font-size-md: var(--suite-text-lg);
  --viking-font-size-lg: var(--suite-text-xl);
  --viking-font-size-xl: var(--suite-text-xl);
  --viking-font-size-2xl: var(--suite-text-2xl);
  --viking-font-size-3xl: var(--suite-text-3xl);
  --viking-font-size-4xl: var(--suite-text-4xl);
  --viking-font-size-5xl: 3.75rem;
  --viking-font-size-6xl: 4.5rem;
  --viking-font-size-display: var(--suite-text-display);
  --viking-font-size-display-lg: var(--suite-text-display-lg);
  --viking-font-size-display-md: var(--suite-text-display-md);
  --viking-font-size-headline: var(--suite-text-headline);
  --viking-font-size-headline-quiet: var(--suite-text-headline-quiet);
  --viking-font-size-title: var(--suite-text-title);
  --viking-font-size-title-lg: var(--suite-text-title-lg);
  --viking-font-size-title-sm: var(--suite-text-title-sm);
  --viking-font-size-lead: var(--suite-text-lead);
  --viking-font-size-lead-fluid: var(--suite-text-lead-fluid);
  --viking-font-weight-regular: var(--suite-weight-regular);
  --viking-font-weight-medium: var(--suite-weight-medium);
  --viking-font-weight-semibold: var(--suite-weight-semibold);
  --viking-font-weight-bold: var(--suite-weight-bold);
  --viking-font-weight-extrabold: var(--suite-weight-extrabold);
  --viking-line-height-none: var(--suite-leading-none);
  --viking-line-height-tight: var(--suite-leading-tight);
  --viking-line-height-snug: var(--suite-leading-snug);
  --viking-line-height-normal: var(--suite-leading-normal);
  --viking-line-height-relaxed: var(--suite-leading-relaxed);
  --viking-letter-spacing-tight: var(--suite-tracking-tight);
  --viking-letter-spacing-normal: var(--suite-tracking-normal);
  --viking-letter-spacing-wide: var(--suite-tracking-wide);
  --viking-letter-spacing-caps: var(--suite-tracking-caps);
  --viking-letter-spacing-display: var(--suite-tracking-brand);
  --viking-space-0: var(--suite-space-0);
  --viking-space-px: var(--suite-space-px);
  --viking-space-0-5: var(--suite-space-0-5);
  --viking-space-1: var(--suite-space-1);
  --viking-space-2: var(--suite-space-2);
  --viking-space-3: var(--suite-space-3);
  --viking-space-4: var(--suite-space-4);
  --viking-space-5: var(--suite-space-5);
  --viking-space-6: var(--suite-space-6);
  --viking-space-7: var(--suite-space-7);
  --viking-space-8: var(--suite-space-8);
  --viking-space-9: var(--suite-space-9);
  --viking-space-10: var(--suite-space-10);
  --viking-space-11: var(--suite-space-11);
  --viking-space-12: var(--suite-space-12);
  --viking-space-14: var(--suite-space-14);
  --viking-space-16: var(--suite-space-16);
  --viking-space-compact-gap: var(--suite-space-compact);
  --viking-touch-target-min: var(--suite-touch);
  --viking-radius-xs: var(--suite-radius-xs);
  --viking-radius-sm: var(--suite-radius-sm);
  --viking-radius: var(--suite-radius);
  --viking-radius-lg: var(--suite-radius-lg);
  --viking-radius-xl: var(--suite-radius-xl);
  --viking-radius-pill: var(--suite-radius-pill);
  --viking-shadow-xs: var(--suite-shadow-xs);
  --viking-shadow-sm: var(--suite-shadow-sm);
  --viking-shadow-md: var(--suite-shadow-md);
  --viking-shadow-lg: var(--suite-shadow-lg);
  --viking-shadow-hover: var(--suite-shadow-hover);
  --viking-shadow-inner: var(--suite-shadow-inset);
  --viking-surface-highlight: var(--suite-highlight);
  --viking-elevation-1: var(--suite-elevation-1);
  --viking-elevation-2: var(--suite-elevation-2);
  --viking-elevation-3: var(--suite-elevation-3);
  --viking-elevation-4: var(--suite-elevation-4);
  --viking-elevation-hover: var(--suite-elevation-hover);
  --viking-elevation-inset: var(--suite-elevation-inset);
  --viking-glass: var(--suite-glass);
  --viking-glass-strong: var(--suite-glass-strong);
  --viking-glass-blur: var(--suite-glass-blur);
  --viking-duration-instant: var(--suite-duration-instant);
  --viking-duration-fast: var(--suite-duration-fast);
  --viking-duration: var(--suite-duration);
  --viking-duration-slow: var(--suite-duration-slow);
  --viking-ease-out: var(--suite-ease-out);
  --viking-ease-emphasized: var(--suite-ease-emphasized);
  --viking-state-hover-lift: var(--suite-hover-lift);
  --viking-state-press-sink: var(--suite-press-sink);
  --viking-state-nudge: var(--suite-nudge);
  --viking-state-reveal-distance: var(--suite-reveal-distance);
  --viking-state-active-scale: var(--suite-active-scale);
  --viking-transition-interactive: var(--suite-transition);
  --viking-transition-colors: var(--suite-transition-colors);
  --viking-transition-transform: var(--suite-transition-transform);
  --viking-control-height: var(--suite-control-height);
  --viking-control-height-sm: var(--suite-control-height-sm);
  --viking-control-height-lg: var(--suite-control-height-lg);
  --viking-control-px: var(--suite-control-px);
  --viking-control-fs: var(--suite-control-fs);
  --viking-control-check: var(--suite-control-check);
  --viking-control-focus-ring: var(--suite-control-focus-ring);
  --viking-page-gutter: var(--suite-page-gutter);
  --viking-page-section-gap: var(--suite-section-gap);
  --viking-page-stack-gap: var(--suite-block-gap);
  --viking-block-gap: var(--suite-block-gap);
  --viking-density-gap: var(--suite-density-gap);
  --viking-container-max-width: var(--suite-content-max);
  --viking-content-readable-max-width: var(--suite-readable-max);
  --viking-bp-sm: var(--suite-bp-sm);
  --viking-bp-md: var(--suite-bp-md);
  --viking-bp-sidebar: var(--suite-bp-sidebar);
  --viking-bp-lg: var(--suite-bp-lg);
  --viking-bp-xl: var(--suite-bp-xl);
  --viking-bp-2xl: var(--suite-bp-2xl);
  --viking-brand-navy: var(--suite-brand-navy);
  --viking-brand-blue: var(--suite-brand-blue);
  --viking-series-1: var(--suite-series-1);
  --viking-series-2: var(--suite-series-2);
  --viking-series-3: var(--suite-series-3);
  --viking-series-4: var(--suite-series-4);
  --viking-series-5: var(--suite-series-5);
  --viking-series-6: var(--suite-series-6);
  --viking-series-7: var(--suite-series-7);
  --viking-series-8: var(--suite-series-8);
  --viking-series-default: var(--suite-series-default);
  --viking-z-dropdown: var(--suite-z-dropdown);
  --viking-z-modal: var(--suite-z-modal);
  --viking-z-toast: var(--suite-z-toast);

  /* FORJD aliases
     --fj-space-* map is FROZEN (legacy compact scale). Prefer --suite-space-*.
     Do not invent new --fj-space-* in product code. */
  --fj-bg: var(--suite-bg);
  --fj-surface: var(--suite-surface);
  --fj-surface-2: var(--suite-surface-2);
  --fj-surface-elevated: var(--suite-surface-elevated);
  --fj-border: var(--suite-border);
  --fj-border-strong: var(--suite-border-strong);
  --fj-border-control: var(--suite-border-control);
  --fj-hairline: var(--suite-hairline);
  --fj-overlay: var(--suite-overlay);
  --fj-primary: var(--suite-primary);
  --fj-primary-hover: var(--suite-primary-hover);
  --fj-primary-active: var(--suite-primary-active);
  --fj-primary-soft: var(--suite-primary-soft);
  --fj-primary-strong: var(--suite-primary-strong);
  --fj-focus: var(--suite-focus);
  --fj-ring: var(--suite-ring);
  --fj-ring-width: var(--suite-ring-width);
  --fj-ring-offset: var(--suite-ring-offset);
  --fj-gold: var(--suite-gold);
  --fj-gold-soft: var(--suite-gold-soft);
  --fj-gold-text: var(--suite-gold-text);
  --fj-accent: var(--suite-accent);
  --fj-accent-hover: var(--suite-accent-hover);
  --fj-warning: var(--suite-warning);
  --fj-warning-text: var(--suite-warning-text);
  --fj-danger: var(--suite-danger);
  --fj-danger-text: var(--suite-danger-text);
  --fj-success: var(--suite-success);
  --fj-success-text: var(--suite-success-text);
  --fj-text: var(--suite-ink);
  --fj-text-muted: var(--suite-ink-muted);
  --fj-text-subtle: var(--suite-ink-subtle);
  --fj-text-disabled: var(--suite-ink-disabled);
  --fj-text-on-primary: var(--suite-ink-on-primary);
  --fj-font-sans: var(--suite-font-sans);
  --fj-font-mono: var(--suite-font-mono);
  --fj-text-xs: var(--suite-text-xs);
  --fj-text-sm: var(--suite-text-sm);
  --fj-text-md: var(--suite-text-md);
  --fj-text-base: var(--suite-text-base);
  --fj-text-lg: var(--suite-text-lg);
  --fj-text-xl: var(--suite-text-xl);
  --fj-text-2xl: var(--suite-text-2xl);
  --fj-text-display: var(--suite-text-display);
  --fj-text-headline: var(--suite-text-headline);
  --fj-text-headline-quiet: var(--suite-text-headline-quiet);
  --fj-text-lead: var(--suite-text-lead);
  --fj-leading-tight: var(--suite-leading-tight);
  --fj-leading-snug: var(--suite-leading-snug);
  --fj-leading-normal: var(--suite-leading-normal);
  --fj-tracking-tight: var(--suite-tracking-tight);
  --fj-tracking-wide: var(--suite-tracking-wide);
  --fj-tracking-brand: var(--suite-tracking-brand);
  --fj-tracking-caps: var(--suite-tracking-caps);
  --fj-radius: var(--suite-radius);
  --fj-radius-xs: var(--suite-radius-xs);
  --fj-radius-sm: var(--suite-radius-sm);
  --fj-radius-lg: var(--suite-radius-lg);
  --fj-radius-xl: var(--suite-radius-xl);
  --fj-radius-pill: var(--suite-radius-pill);
  --fj-radius-control: var(--suite-radius-control);
  --fj-radius-surface: var(--suite-radius-surface);
  --fj-space-1: var(--suite-space-0-5);
  --fj-space-2: var(--suite-space-1);
  --fj-space-3: var(--suite-space-compact);
  --fj-space-4: var(--suite-space-2);
  --fj-space-5: var(--suite-space-2);
  --fj-space-6: var(--suite-space-3);
  --fj-space-7: var(--suite-space-3);
  --fj-space-8: var(--suite-space-4);
  --fj-space-10: var(--suite-space-5);
  --fj-space-12: var(--suite-space-6);
  --fj-touch-target: var(--suite-touch);
  --fj-control-height: var(--suite-control-height);
  --fj-control-height-sm: var(--suite-control-height-sm);
  --fj-control-height-lg: var(--suite-control-height-lg);
  --fj-control-px: var(--suite-control-px);
  --fj-control-fs: var(--suite-control-fs);
  --fj-control-check: var(--suite-control-check);
  --fj-control-focus-ring: var(--suite-control-focus-ring);
  --fj-page-gutter: var(--suite-page-gutter);
  --fj-section-gap: var(--suite-section-gap);
  --fj-block-gap: var(--suite-block-gap);
  --fj-density-gap: var(--suite-density-gap);
  --fj-content-max: var(--suite-content-max);
  --fj-readable-max: var(--suite-readable-max);
  --fj-bp-md: var(--suite-bp-md);
  --fj-bp-lg: var(--suite-bp-lg);
  --fj-ease: var(--suite-ease);
  --fj-ease-out: var(--suite-ease-out);
  --fj-ease-emphasized: var(--suite-ease-emphasized);
  --fj-duration-instant: var(--suite-duration-instant);
  --fj-duration-fast: var(--suite-duration-fast);
  --fj-duration: var(--suite-duration);
  --fj-duration-slow: var(--suite-duration-slow);
  --fj-transition: var(--suite-transition);
  --fj-transition-transform: var(--suite-transition-transform);
  --fj-hover-lift: var(--suite-hover-lift);
  --fj-active-scale: var(--suite-active-scale);
  --fj-press-sink: var(--suite-press-sink);
  --fj-nudge: var(--suite-nudge);
  --fj-reveal-distance: var(--suite-reveal-distance);
  --fj-highlight: var(--suite-highlight);
  --fj-elevation-1: var(--suite-elevation-1);
  --fj-elevation-2: var(--suite-elevation-2);
  --fj-elevation-3: var(--suite-elevation-3);
  --fj-elevation-4: var(--suite-elevation-4);
  --fj-elevation-hover: var(--suite-elevation-hover);
  --fj-elevation-inset: var(--suite-elevation-inset);
  --fj-glass: var(--suite-glass);
  --fj-glass-strong: var(--suite-glass-strong);
  --fj-glass-blur: var(--suite-glass-blur);
  --fj-transition-interactive: var(--suite-transition);
  --fj-transition-colors: var(--suite-transition-colors);
  --fj-z-dropdown: var(--suite-z-dropdown);
  --fj-z-modal: var(--suite-z-modal);
  --fj-z-toast: var(--suite-z-toast);
}

/* =============================================================================
   LIGHT (opt-in) — same roles, shifted lightness only (no hue inversion)
   Activate: <html data-theme="light">
   Product default remains dark; light is for marketing/docs that support it.
   ============================================================================= */
html[data-theme="light"] {
  color-scheme: light;

  --suite-bg: #fbfcfe;
  --suite-bg-subtle: #f4f7fb;
  --suite-surface: #ffffff;
  --suite-surface-2: #f4f7fb;
  --suite-surface-elevated: #ffffff;
  --suite-surface-inset: #f4f7fb;
  --suite-overlay: color-mix(in srgb, #ffffff 72%, transparent);

  --suite-ink: #080d1f;
  --suite-ink-muted: #555555;
  --suite-ink-subtle: #666666;
  --suite-ink-disabled: #666666;
  --suite-ink-on-primary: #ffffff;
  --suite-ink-inverse: #f5f5f5;

  --suite-border: #d7e0ef;
  --suite-border-strong: #58719e;
  --suite-border-control: var(--suite-border-strong);
  --suite-border-subtle: color-mix(
    in srgb,
    var(--suite-border) 70%,
    transparent
  );

  --suite-primary: #1565f0;
  --suite-primary-hover: #0a4fd4;
  --suite-primary-active: #073a99;
  --suite-primary-soft: color-mix(
    in srgb,
    var(--suite-primary) 12%,
    transparent
  );
  --suite-primary-strong: #073a99;
  --suite-accent-hover: var(--suite-primary-strong);
  --suite-focus: var(--suite-primary);
  --suite-ring: var(--suite-primary);

  /* Status text on light surfaces (fills keep brand chroma for soft/chart use) */
  --suite-gold-text: #7a6410;
  --suite-success-text: #187066;
  --suite-success-fill: #1a7066;
  --suite-warning-text: #7a580e;
  --suite-danger-text: #a83344;

  /* Series stay chromatically stable; only series-7 (muted baseline) lightens */
  --suite-series-7: #8fa2c2;
  --suite-series-8: #999999;

  --suite-shadow-xs: 0 1px 1px rgba(8, 13, 31, 0.05);
  --suite-shadow-sm:
    0 1px 2px rgba(8, 13, 31, 0.05), 0 3px 10px rgba(8, 13, 31, 0.05);
  --suite-shadow-md:
    0 2px 4px rgba(8, 13, 31, 0.06), 0 8px 20px rgba(8, 13, 31, 0.07);
  --suite-shadow-lg:
    0 4px 8px rgba(8, 13, 31, 0.07), 0 16px 36px rgba(8, 13, 31, 0.09);
  --suite-shadow-hover:
    0 2px 4px rgba(8, 13, 31, 0.07), 0 10px 22px rgba(8, 13, 31, 0.08);
  --suite-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  --suite-shadow-inset:
    inset 0 1px 2px rgba(8, 13, 31, 0.06), inset 0 0 0 1px rgba(8, 13, 31, 0.04);
  --suite-glass: color-mix(in srgb, #ffffff 78%, transparent);
  --suite-glass-strong: color-mix(in srgb, #ffffff 90%, transparent);
  --suite-elevation-1: var(--suite-highlight);
  --suite-elevation-2: var(--suite-shadow-sm), var(--suite-highlight);
  --suite-elevation-3: var(--suite-shadow-md), var(--suite-highlight);
  --suite-elevation-4: var(--suite-shadow-lg), var(--suite-highlight);
  --suite-elevation-hover: var(--suite-shadow-hover), var(--suite-highlight);
  --suite-elevation-inset: var(--suite-shadow-inset);
}

/* WCAG 2.3.3 — zero motion tokens; consumers must not invent alternate timings */
@media (prefers-reduced-motion: reduce) {
  :root {
    --suite-duration-instant: 0ms;
    --suite-duration-fast: 0ms;
    --suite-duration: 0ms;
    --suite-duration-slow: 0ms;
    --suite-hover-lift: 0px;
    --suite-press-sink: 0px;
    --suite-nudge: 0px;
    --suite-reveal-distance: 0px;
    --suite-active-scale: 1;
    --suite-transition: none;
    --suite-transition-transform: none;
    --suite-transition-colors: none;
  }
}

/* Opaque fallbacks — glass blur is hierarchy aid, not required */
@media (prefers-reduced-transparency: reduce) {
  :root {
    --suite-glass-blur: 0px;
    --suite-glass: var(--suite-surface-elevated);
    --suite-glass-strong: var(--suite-surface-elevated);
  }
}

/*!
 * SUITE COMPONENTS — Pass 2 owned primitive chrome (DEML + FORJD)
 * ----------------------------------------------------------------------------
 * Tokens: suite-tokens.css only. Zero external UI theme packages.
 * Selectors accept .suite-*, .viking-*, .fj-* — identical look everywhere.
 * Pattern: headless Angular/WC behavior + these classes.
 * Docs: SUITE_COMPONENTS.md · Law: docs/SUITE_UI_UNIFICATION.md
 *
 * Aesthetic: SpaceX restraint · Palantir density · Porsche precision ·
 *            Spartan/Flux composability · mobile-first touch ≥ --suite-touch
 *
 * Interaction language (all interactive primitives):
 *   · Motion: transition var(--suite-transition); lift/press via --suite-hover-lift / --suite-press-sink
 *   · Focus: :focus-visible → --suite-ring (+ width/offset); never mouse :focus rings
 *   · Disabled: opacity ~0.55 + cursor:not-allowed; no hover/active transforms
 *   · Spacing: control grid --suite-touch (mobile) → --suite-control-height (≥768px)
 *   · Reduced motion: kill-switch at file end (prefers-reduced-motion)
 */

/* =============================================================================
   Focus management + keyboard a11y (suite-wide contract — WCAG 2.2 AA)
   Ring: --suite-ring / width / offset. Prefer :focus-visible (keyboard), not mouse.
   ============================================================================= */

/* WCAG 2.4.11 Focus Not Obscured — sticky nav/footer clearance */
html {
  scroll-padding-top: var(--suite-space-7, 56px);
  scroll-padding-bottom: var(--suite-space-4);
}

:focus-visible {
  scroll-margin-top: var(--suite-space-7, 56px);
  scroll-margin-bottom: var(--suite-space-3);
}

/* Screen-reader only — keep in tab order with .suite-sr-only-focusable */
:is(.suite-sr-only, .viking-sr-only, .fj-sr-only, .sr-only, .visually-hidden) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: calc(-1 * var(--suite-space-px)) !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Skip link — first focusable in document; reveals on keyboard focus only */
:is(.suite-skip-link, .viking-skip-link, .fj-skip-link, .skip-link) {
  position: absolute;
  top: var(--suite-space-2);
  left: var(--suite-space-2);
  z-index: var(--suite-z-max);
  display: inline-flex;
  align-items: center;
  min-height: var(--suite-touch);
  padding: 0 var(--suite-space-2);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-control);
  background: var(--suite-surface-elevated);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-decoration: none;
  box-shadow: var(--suite-elevation-3);
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}

:is(.suite-skip-link, .viking-skip-link, .fj-skip-link, .skip-link):focus,
:is(
  .suite-skip-link,
  .viking-skip-link,
  .fj-skip-link,
  .skip-link
):focus-visible {
  clip: auto;
  clip-path: none;
  width: auto;
  height: auto;
  overflow: visible;
  white-space: nowrap;
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/*
 * Landmark that receives skip-link / SPA route focus must not paint a page-sized
 * ring. Scripted .focus() often matches :focus-visible in Chromium — suppress both.
 * Interactive children keep their own :focus-visible rings.
 */
:is(#main-content, [data-suite-main], .suite-main):focus,
:is(#main-content, [data-suite-main], .suite-main):focus-visible {
  outline: none;
}

/* Shared ring token helper */
:is(.suite-focus-ring, .viking-focus-ring, .fj-focus-ring):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* Mouse focus: no outline; keyboard :focus-visible keeps the ring */
:is(
    .suite-btn,
    .viking-btn,
    .fj-btn,
    .suite-tab,
    .viking-tab,
    .fj-tab,
    .suite-nav-link,
    .viking-nav-link,
    .fj-nav-link,
    .suite-link,
    .viking-link,
    .fj-link,
    .suite-card,
    .viking-card,
    .fj-card
  ):focus:not(:focus-visible) {
  outline: none;
}

/* Interactive suite controls + ARIA widgets (visible keyboard focus — WCAG 2.4.7 / 2.4.11) */
:is(
  .suite-btn,
  .viking-btn,
  .fj-btn,
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select,
  .suite-checkbox,
  .viking-checkbox,
  .fj-checkbox,
  .suite-switch,
  .viking-switch,
  .fj-switch,
  .suite-radio,
  .viking-radio,
  .fj-radio,
  .suite-tab,
  .viking-tab,
  .fj-tab,
  .suite-nav-link,
  .viking-nav-link,
  .fj-nav-link,
  .suite-link,
  .viking-link,
  .fj-link,
  .suite-toast,
  .viking-toast,
  .fj-toast,
  .suite-callout,
  .viking-callout,
  .fj-callout
):focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[role="tab"]:focus-visible,
[role="menuitem"]:focus-visible,
[role="menuitemcheckbox"]:focus-visible,
[role="menuitemradio"]:focus-visible,
[role="option"]:focus-visible,
[role="switch"]:focus-visible,
[role="link"]:focus-visible,
[role="checkbox"]:focus-visible,
[role="radio"]:focus-visible,
[role="combobox"]:focus-visible,
[role="listbox"]:focus-visible,
[role="slider"]:focus-visible,
[role="spinbutton"]:focus-visible,
[role="separator"][tabindex]:focus-visible,
[role="treeitem"]:focus-visible,
[role="gridcell"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* Shells own the ring — suppress inner native outline, paint ring on the shell */
:is(.suite-input-shell, .viking-input-shell, .fj-input-shell)
  :is(input, textarea, select):focus,
:is(.suite-input-shell, .viking-input-shell, .fj-input-shell)
  :is(input, textarea, select):focus-visible {
  outline: none;
}

:is(
  .suite-input-shell,
  .viking-input-shell,
  .fj-input-shell,
  .suite-textarea-shell,
  .viking-textarea-shell,
  .fj-textarea-shell
):focus-within {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* Dialog / sheet: ensure keyboard users see focus inside modal layer */
:is(
  .suite-dialog,
  .viking-dialog,
  .fj-dialog,
  .suite-sheet,
  .viking-sheet,
  .fj-sheet
):focus,
:is(
  .suite-dialog,
  .viking-dialog,
  .fj-dialog,
  .suite-sheet,
  .viking-sheet,
  .fj-sheet
):focus-visible {
  outline: none;
}

:is(
    .suite-dialog,
    .viking-dialog,
    .fj-dialog,
    .suite-sheet,
    .viking-sheet,
    .fj-sheet
  )
  :focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

@media (forced-colors: active) {
  :is(
    .suite-btn,
    .viking-btn,
    .fj-btn,
    .suite-tab,
    .viking-tab,
    .fj-tab,
    .suite-nav-link,
    .viking-nav-link,
    .fj-nav-link,
    .suite-link,
    .viking-link,
    .fj-link
  ):focus-visible,
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible {
    outline: 3px solid CanvasText;
    outline-offset: var(--suite-ring-offset);
  }
}

/* =============================================================================
   Button
   ============================================================================= */
:is(.suite-btn, .viking-btn, .fj-btn) {
  /* Shared control grid — matches inputs / selects / tabs */
  --_control-h: var(--suite-touch);
  --_control-px: var(--suite-control-px-lg);
  --_control-fs: var(--suite-control-fs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--suite-space-1);
  height: var(--_control-h);
  min-height: var(--_control-h);
  min-width: var(--_control-h);
  padding: 0 var(--_control-px);
  border: 1px solid transparent;
  border-radius: var(--suite-radius-control);
  font-family: var(--suite-font-sans);
  font-size: var(--_control-fs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-caps);
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: var(--suite-transition);
  box-sizing: border-box;
  vertical-align: middle;
}

/* Dense desktop controls; keep 44px touch on small screens */
@media (min-width: 768px) {
  :is(.suite-btn, .viking-btn, .fj-btn):not([data-size="sm"]):not(
      [data-size="lg"]
    ):not(.viking-btn-sm):not(.viking-btn-lg):not(.suite-btn-sm):not(
      .suite-btn-lg
    ):not(.fj-btn-sm):not(.fj-btn-lg) {
    --_control-h: var(--suite-control-height);
  }
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-size="sm"],
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-sm,
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-sm,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-sm {
  /* Mobile: keep WCAG touch floor; dense height from tablet up */
  --_control-h: var(--suite-touch);
  --_control-px: var(--suite-control-px);
  --_control-fs: var(--suite-control-fs-sm);
}

@media (min-width: 768px) {
  :is(.suite-btn, .viking-btn, .fj-btn)[data-size="sm"],
  :is(.suite-btn, .viking-btn, .fj-btn).viking-btn-sm,
  :is(.suite-btn, .viking-btn, .fj-btn).suite-btn-sm,
  :is(.suite-btn, .viking-btn, .fj-btn).fj-btn-sm {
    --_control-h: var(--suite-control-height-sm);
  }
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-size="lg"],
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-lg,
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-lg,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-lg {
  --_control-h: var(--suite-control-height-lg);
  --_control-px: var(--suite-space-4);
  --_control-fs: var(--suite-text-base);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-square="true"],
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-square,
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-square {
  /* Keep icon toggles at the suite touch floor for switch / voice targeting */
  --_square: max(var(--_control-h), var(--suite-touch));
  width: var(--_square);
  min-width: var(--_square);
  height: var(--_square);
  min-height: var(--_square);
  padding-inline: 0;
}

:is(.suite-btn, .viking-btn, .fj-btn).viking-full,
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-full,
:is(.suite-btn, .viking-btn, .fj-btn).fj-full {
  width: 100%;
}

/* Shared lift / press — all variants */
:is(.suite-btn, .viking-btn, .fj-btn):hover:not(:disabled):not(
    [aria-disabled="true"]
  ) {
  transform: translateY(var(--suite-hover-lift));
}

:is(.suite-btn, .viking-btn, .fj-btn):active:not(:disabled):not(
    [aria-disabled="true"]
  ) {
  transform: translateY(var(--suite-press-sink));
}

:is(.suite-btn, .viking-btn, .fj-btn):disabled,
:is(.suite-btn, .viking-btn, .fj-btn)[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  transform: none;
  box-shadow: none;
}

/* Primary — electric command */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="primary"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-primary,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-primary,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-filled,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-primary {
  background: var(--suite-primary);
  color: var(--suite-ink-on-primary);
  border-color: var(--suite-primary);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="primary"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-primary:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-primary:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-filled:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-primary:hover:not(:disabled) {
  background: var(--suite-primary-hover);
  border-color: var(--suite-primary-hover);
  box-shadow: var(--suite-elevation-2);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="primary"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-primary:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-primary:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-filled:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-primary:active:not(:disabled) {
  background: var(--suite-primary-active);
  border-color: var(--suite-primary-active);
  box-shadow: var(--suite-elevation-inset);
}

/* Secondary — raised machine surface */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="secondary"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-secondary,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-secondary,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-secondary {
  background: var(--suite-surface-2);
  color: var(--suite-ink);
  border-color: var(--suite-border-strong);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="secondary"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-secondary:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-secondary:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-secondary:hover:not(:disabled) {
  border-color: var(--suite-primary);
  color: var(--suite-primary-strong);
  background: var(--suite-surface-elevated);
  box-shadow: var(--suite-elevation-2);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="secondary"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-secondary:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-secondary:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-secondary:active:not(:disabled) {
  background: var(--suite-surface);
  box-shadow: var(--suite-elevation-inset);
}

/* Outline — severe geometry */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="outline"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-outline,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-outline,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-outline {
  background: transparent;
  color: var(--suite-ink);
  border-color: var(--suite-border-strong);
  box-shadow: none;
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="outline"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-outline:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-outline:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-outline:hover:not(:disabled) {
  background: var(--suite-surface);
  border-color: var(--suite-primary-strong);
  color: var(--suite-primary-strong);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="outline"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-outline:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-outline:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-outline:active:not(:disabled) {
  background: var(--suite-surface-2);
  box-shadow: var(--suite-elevation-inset);
}

/* Ghost / subtle — quiet chrome */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"],
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="subtle"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-ghost,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-ghost,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-subtle,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-ghost {
  background: transparent;
  color: var(--suite-ink-muted);
  border-color: transparent;
  box-shadow: none;
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="subtle"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-ghost:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-ghost:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-subtle:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-ghost:hover:not(:disabled) {
  background: var(--suite-surface-2);
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="subtle"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-ghost:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-ghost:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-subtle:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-ghost:active:not(:disabled) {
  background: var(--suite-surface);
  box-shadow: var(--suite-elevation-inset);
}

/* Danger */
:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="danger"],
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-danger,
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-danger,
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-danger {
  background: var(--suite-danger);
  color: var(--suite-ink-on-primary);
  border-color: var(--suite-danger);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="danger"]:hover:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-danger:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-danger:hover:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-danger:hover:not(:disabled) {
  background: color-mix(in srgb, var(--suite-danger) 88%, var(--suite-ink));
  border-color: color-mix(in srgb, var(--suite-danger) 88%, var(--suite-ink));
  box-shadow: var(--suite-elevation-2);
}

:is(.suite-btn, .viking-btn, .fj-btn)[data-variant="danger"]:active:not(
    :disabled
  ),
:is(.suite-btn, .viking-btn, .fj-btn).suite-btn-danger:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).viking-btn-danger:active:not(:disabled),
:is(.suite-btn, .viking-btn, .fj-btn).fj-btn-danger:active:not(:disabled) {
  box-shadow: var(--suite-elevation-inset);
}

/* Button spinner (loading) */
:is(.suite-btn-spinner, .viking-btn-spinner, .fj-btn-spinner) {
  width: 1rem;
  height: 1rem;
  border: 2px solid color-mix(in srgb, currentColor 30%, transparent);
  border-top-color: currentColor;
  border-radius: var(--suite-radius-pill);
  animation: suite-spin var(--suite-duration) linear infinite;
  flex-shrink: 0;
}

:is(.suite-btn-kbd, .viking-btn-kbd, .fj-btn-kbd) {
  margin-inline-start: var(--suite-space-1);
  padding: 0 var(--suite-space-1);
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  border-radius: var(--suite-radius-xs);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-2xs);
  font-weight: var(--suite-weight-medium);
  opacity: 0.85;
}

/* Text link (inline, not button) */
:is(.suite-link, .viking-link, .fj-link) {
  color: var(--suite-primary);
  font-family: var(--suite-font-sans);
  font-weight: var(--suite-weight-medium);
  text-decoration: none;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition:
    var(--suite-transition-colors),
    background-size var(--suite-duration-fast) var(--suite-ease);
  cursor: pointer;
}

:is(.suite-link, .viking-link, .fj-link):hover,
:is(.suite-link, .viking-link, .fj-link):focus-visible {
  color: var(--suite-primary-hover);
  background-size: 100% 1px;
}

/* =============================================================================
   Theme toggle (light / dark / system preference)
   ============================================================================= */
:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--suite-touch);
  height: var(--suite-touch);
  min-width: var(--suite-touch);
  min-height: var(--suite-touch);
  padding: 0;
  border: 1px solid
    color-mix(in srgb, var(--suite-primary) 32%, var(--suite-border-strong));
  border-radius: var(--suite-radius-control);
  background: color-mix(in srgb, var(--suite-primary) 8%, var(--suite-surface));
  color: var(--suite-primary);
  box-shadow: var(--suite-elevation-1);
  cursor: pointer;
  transition: var(--suite-transition);
  -webkit-tap-highlight-color: transparent;
  font-family: var(--suite-font-sans);
}

@media (min-width: 768px) {
  :is(
    .suite-theme-toggle,
    .viking-theme-toggle,
    .fj-theme-toggle,
    .theme-toggle-btn
  ) {
    width: var(--suite-control-height);
    height: var(--suite-control-height);
    min-width: var(--suite-control-height);
    min-height: var(--suite-control-height);
  }
}

:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
):hover {
  border-color: var(--suite-primary-hover);
  background: color-mix(
    in srgb,
    var(--suite-primary) 14%,
    var(--suite-surface-2)
  );
  box-shadow: var(--suite-elevation-2);
  transform: translateY(var(--suite-hover-lift));
}

:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
):active {
  transform: translateY(var(--suite-press-sink));
  box-shadow: var(--suite-elevation-inset);
}

:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
):active {
  transform: translateY(var(--suite-press-sink));
}

:is(
  .suite-theme-toggle,
  .viking-theme-toggle,
  .fj-theme-toggle,
  .theme-toggle-btn
):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(
    .suite-theme-toggle,
    .viking-theme-toggle,
    .fj-theme-toggle,
    .theme-toggle-btn
  )
  svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}

/* =============================================================================
   Field + Input / Textarea / Select
   ============================================================================= */
:is(.suite-field, .viking-field, .fj-field) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-density-gap);
  font-family: var(--suite-font-sans);
  width: 100%;
}

:is(.suite-field-label-wrap, .viking-field-label-wrap, .fj-field-label-wrap) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-0-5);
}

:is(
  .suite-label,
  .viking-label,
  .fj-label,
  .suite-field-label,
  .viking-field-label,
  .fj-field-label
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink);
}

:is(
  .suite-field-description,
  .viking-field-description,
  .fj-field-description
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

:is(.suite-field-error, .viking-field-error, .fj-field-error) {
  margin: 0;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-danger);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
) {
  /* Same control grid as .suite-btn */
  --_control-h: var(--suite-touch);
  --_control-px: var(--suite-control-px);
  --_control-fs: var(--suite-control-fs);
  display: block;
  width: 100%;
  height: var(--_control-h);
  min-height: var(--_control-h);
  box-sizing: border-box;
  margin: 0;
  padding: 0 var(--_control-px);
  border: 1px solid var(--suite-border-control, var(--suite-border-strong));
  border-radius: var(--suite-radius-control);
  background-color: var(--suite-surface-inset);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  font-size: var(--_control-fs);
  line-height: 1.25;
  /* Recessed well — tactile “machined” field */
  box-shadow: var(--suite-elevation-inset);
  transition: var(--suite-transition);
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
  :is(
      .suite-input,
      .viking-input,
      .fj-input,
      .suite-select,
      .viking-select,
      .fj-select
    ):not([data-size="sm"]):not([data-size="lg"]) {
    --_control-h: var(--suite-control-height);
  }
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-select,
  .viking-select,
  .fj-select
)[data-size="sm"] {
  --_control-h: var(--suite-touch);
  --_control-fs: var(--suite-control-fs-sm);
}

@media (min-width: 768px) {
  :is(
    .suite-input,
    .viking-input,
    .fj-input,
    .suite-select,
    .viking-select,
    .fj-select
  )[data-size="sm"] {
    --_control-h: var(--suite-control-height-sm);
  }
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-select,
  .viking-select,
  .fj-select
)[data-size="lg"] {
  --_control-h: var(--suite-control-height-lg);
  --_control-px: var(--suite-control-px-lg);
}

:is(.suite-textarea, .viking-textarea, .fj-textarea) {
  height: auto;
  min-height: calc(var(--suite-touch) * 2.5);
  resize: vertical;
  padding-block: var(--suite-space-2);
  line-height: var(--suite-leading-normal);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
)::placeholder {
  color: var(--suite-ink-subtle);
}

:is(
    .suite-input,
    .viking-input,
    .fj-input,
    .suite-textarea,
    .viking-textarea,
    .fj-textarea,
    .suite-select,
    .viking-select,
    .fj-select
  ):hover:not(:disabled):not(:focus) {
  border-color: var(--suite-border-strong);
  background-color: var(--suite-surface-2);
  box-shadow: var(--suite-elevation-1);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
):focus {
  border-color: var(--suite-primary);
  background-color: var(--suite-surface);
  box-shadow: var(--suite-control-focus-ring), var(--suite-elevation-1);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
):disabled {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}

:is(
  .suite-input,
  .viking-input,
  .fj-input,
  .suite-textarea,
  .viking-textarea,
  .fj-textarea,
  .suite-select,
  .viking-select,
  .fj-select
)[aria-invalid="true"],
:is(.suite-field, .viking-field, .fj-field)[data-invalid="true"]
  :is(
    .suite-input,
    .viking-input,
    .fj-input,
    .suite-textarea,
    .viking-textarea,
    .fj-textarea,
    .suite-select,
    .viking-select,
    .fj-select
  ) {
  border-color: var(--suite-danger);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--suite-danger) 40%, transparent),
    var(--suite-elevation-inset);
}

:is(.suite-select, .viking-select, .fj-select) {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--suite-ink-muted) 50%),
    linear-gradient(135deg, var(--suite-ink-muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size:
    6px 6px,
    6px 6px;
  background-repeat: no-repeat;
  padding-inline-end: var(--suite-space-5);
  cursor: pointer;
}

/* =============================================================================
   Checkbox + Radio + Switch
   ============================================================================= */
:is(
  .suite-checkbox,
  .viking-checkbox,
  .fj-checkbox,
  .suite-radio,
  .viking-radio,
  .fj-radio
) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-2);
  min-height: var(--suite-touch);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-control-fs-sm);
  color: var(--suite-ink);
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: var(--suite-transition-colors);
}

:is(
    .suite-checkbox,
    .viking-checkbox,
    .fj-checkbox,
    .suite-radio,
    .viking-radio,
    .fj-radio
  ):hover:not(:has(input:disabled)) {
  color: var(--suite-ink);
}

:is(
    .suite-checkbox,
    .viking-checkbox,
    .fj-checkbox,
    .suite-radio,
    .viking-radio,
    .fj-radio
  )
  input {
  width: var(--suite-control-check);
  height: var(--suite-control-check);
  margin: 0;
  accent-color: var(--suite-primary);
  flex-shrink: 0;
  cursor: pointer;
  transition: var(--suite-transition-transform);
}

:is(
    .suite-checkbox,
    .viking-checkbox,
    .fj-checkbox,
    .suite-radio,
    .viking-radio,
    .fj-radio
  ):active:not(:has(input:disabled))
  input {
  transform: scale(0.92);
}

/* Focus lands on the native input — surface the suite ring on the control. */
:is(
    .suite-checkbox,
    .viking-checkbox,
    .fj-checkbox,
    .suite-radio,
    .viking-radio,
    .fj-radio
  )
  input:focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(
  .suite-checkbox,
  .viking-checkbox,
  .fj-checkbox,
  .suite-radio,
  .viking-radio,
  .fj-radio
):has(input:disabled) {
  opacity: 0.55;
  cursor: not-allowed;
}

:is(.suite-switch, .viking-switch, .fj-switch) {
  --_track-w: 2.75rem;
  --_track-h: 1.5rem;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-2);
  min-height: var(--suite-touch);
  cursor: pointer;
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  color: var(--suite-ink);
  user-select: none;
}

:is(.suite-switch, .viking-switch, .fj-switch) input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
}

:is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  width: var(--_track-w);
  height: var(--_track-h);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-surface-inset);
  border: 1px solid var(--suite-border-strong);
  position: relative;
  transition: var(--suite-transition);
  flex-shrink: 0;
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-switch, .viking-switch, .fj-switch):hover
  :is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  border-color: var(--suite-border-strong);
  background: var(--suite-surface-2);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-switch, .viking-switch, .fj-switch):active
  :is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  transform: scale(0.96);
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-switch-track, .viking-switch-track, .fj-switch-track)::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(var(--_track-h) - 6px);
  height: calc(var(--_track-h) - 6px);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-ink);
  transition: var(--suite-transition);
  box-shadow: var(--suite-shadow-xs);
}

:is(.suite-switch, .viking-switch, .fj-switch)
  input:checked
  + :is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  background: var(--suite-primary);
  border-color: var(--suite-primary);
}

:is(.suite-switch, .viking-switch, .fj-switch)
  input:checked
  + :is(.suite-switch-track, .viking-switch-track, .fj-switch-track)::after {
  left: calc(100% - (var(--_track-h) - 4px));
  background: var(--suite-ink-on-primary);
}

:is(.suite-switch, .viking-switch, .fj-switch)
  input:focus-visible
  + :is(.suite-switch-track, .viking-switch-track, .fj-switch-track) {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(.suite-switch, .viking-switch, .fj-switch):has(input:disabled) {
  opacity: 0.55;
  cursor: not-allowed;
}

/* =============================================================================
   Card / Badge / Separator / Avatar
   ============================================================================= */
:is(.suite-card, .viking-card, .fj-card) {
  display: grid;
  gap: var(--suite-space-2);
  width: 100%;
  box-sizing: border-box;
  background: var(--suite-surface);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  padding: var(--suite-space-3);
  color: var(--suite-ink);
  /* Resting: border + top hairline only — drop shadow reserved for raised/hover */
  box-shadow: var(--suite-elevation-1);
  transition: var(--suite-transition);
}

:is(.suite-card, .viking-card, .fj-card)[data-density="compact"] {
  gap: var(--suite-density-gap);
  padding: var(--suite-space-2);
}

:is(.suite-card, .viking-card, .fj-card)[data-interactive="true"] {
  cursor: pointer;
}

:is(.suite-card, .viking-card, .fj-card)[data-interactive="true"]:hover {
  border-color: var(--suite-border-strong);
  background: var(--suite-surface-elevated);
  box-shadow: var(--suite-elevation-hover);
  transform: translateY(var(--suite-hover-lift));
}

:is(.suite-card, .viking-card, .fj-card)[data-interactive="true"]:active {
  transform: translateY(0);
  box-shadow: var(--suite-elevation-1);
}

:is(
    .suite-card,
    .viking-card,
    .fj-card
  )[data-interactive="true"]:focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(.suite-card, .viking-card, .fj-card)[data-elevated="true"] {
  background: var(--suite-surface-elevated);
  border-color: var(--suite-border-strong);
  box-shadow: var(--suite-elevation-3);
}

/* Panel titles — live in components (not landing-only) so Storybook + adapters match */
:is(.suite-panel-title, .viking-panel-title, .fj-panel-title) {
  margin: 0 0 var(--suite-space-2);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-snug);
  color: var(--suite-ink);
}

:is(.suite-badge, .viking-badge, .fj-badge) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-0-5);
  min-height: 1.5rem;
  padding: 0 var(--suite-space-1);
  border-radius: var(--suite-radius-pill);
  border: 1px solid var(--suite-border);
  background: var(--suite-surface-2);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  white-space: nowrap;
  line-height: 1;
  box-sizing: border-box;
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="accent"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-accent,
:is(.suite-badge, .viking-badge, .fj-badge).viking-badge-accent,
:is(.suite-badge, .viking-badge, .fj-badge).fj-badge-accent {
  background: var(--suite-primary-soft);
  border-color: color-mix(in srgb, var(--suite-primary) 32%, transparent);
  color: var(--suite-primary-strong);
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="success"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-success,
:is(.suite-badge, .viking-badge, .fj-badge).viking-badge-success,
:is(.suite-badge, .viking-badge, .fj-badge).fj-badge-success {
  background: var(--suite-success-soft);
  border-color: color-mix(in srgb, var(--suite-success) 32%, transparent);
  color: var(--suite-success-text);
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="warning"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-warning,
:is(.suite-badge, .viking-badge, .fj-badge).viking-badge-warning,
:is(.suite-badge, .viking-badge, .fj-badge).fj-badge-warning {
  background: var(--suite-warning-soft);
  border-color: color-mix(in srgb, var(--suite-warning) 32%, transparent);
  color: var(--suite-warning-text);
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="danger"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-danger,
:is(.suite-badge, .viking-badge, .fj-badge).viking-badge-danger,
:is(.suite-badge, .viking-badge, .fj-badge).fj-badge-danger {
  background: var(--suite-danger-soft);
  border-color: color-mix(in srgb, var(--suite-danger) 32%, transparent);
  color: var(--suite-danger-text);
}

:is(.suite-badge, .viking-badge, .fj-badge)[data-tone="gold"],
:is(.suite-badge, .viking-badge, .fj-badge).suite-badge-gold {
  background: var(--suite-gold-soft);
  border-color: color-mix(in srgb, var(--suite-gold) 36%, transparent);
  color: var(--suite-gold-text);
}

:is(.suite-separator, .viking-separator, .fj-separator) {
  border: 0;
  border-top: 1px solid var(--suite-border);
  margin: var(--suite-space-3) 0;
  display: block;
  width: 100%;
  background: transparent;
}

:is(
  .suite-separator,
  .viking-separator,
  .fj-separator
)[data-orientation="vertical"],
:is(
  .suite-separator,
  .viking-separator,
  .fj-separator
)[aria-orientation="vertical"] {
  border-top: 0;
  border-left: 1px solid var(--suite-border);
  width: 1px;
  height: auto;
  min-height: 1em;
  align-self: stretch;
  margin: 0 var(--suite-space-2);
}

:is(.suite-avatar, .viking-avatar, .fj-avatar) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--suite-space-5);
  height: var(--suite-space-5);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-surface-2);
  border: 1px solid var(--suite-border);
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  overflow: hidden;
  flex-shrink: 0;
  box-sizing: border-box;
}

:is(.suite-avatar, .viking-avatar, .fj-avatar)[data-size="sm"] {
  width: var(--suite-space-4);
  height: var(--suite-space-4);
  font-size: var(--suite-text-2xs);
}

:is(.suite-avatar, .viking-avatar, .fj-avatar)[data-size="lg"] {
  width: var(--suite-space-6);
  height: var(--suite-space-6);
  font-size: var(--suite-text-sm);
}

:is(.suite-avatar, .viking-avatar, .fj-avatar) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  /* Markup should set width/height + decoding="async"; lazy unless above-fold */
}

/* =============================================================================
   Tabs / Nav
   ============================================================================= */
:is(.suite-tabs, .viking-tabs, .fj-tabs) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
  width: 100%;
}

:is(.suite-tabs-list, .viking-tabs-list, .fj-tabs-list) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-0-5);
  padding: var(--suite-space-0-5);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface-inset);
  /* Recessed well — selected tab reads as raised within */
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-tab, .viking-tab, .fj-tab) {
  --_control-h: var(--suite-touch);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--_control-h);
  min-height: var(--_control-h);
  padding: 0 var(--suite-control-px);
  border: 1px solid transparent;
  border-radius: var(--suite-radius-control);
  background: transparent;
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-control-fs-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  line-height: 1;
  cursor: pointer;
  transition: var(--suite-transition);
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
  :is(.suite-tab, .viking-tab, .fj-tab) {
    --_control-h: var(--suite-control-height);
  }
}

:is(.suite-tab, .viking-tab, .fj-tab):hover:not([aria-selected="true"]):not(
    [data-active="true"]
  ):not(:disabled):not([aria-disabled="true"]) {
  color: var(--suite-ink);
  background: var(--suite-bg-subtle);
  box-shadow: var(--suite-elevation-1);
  transform: translateY(var(--suite-hover-lift));
}

:is(.suite-tab, .viking-tab, .fj-tab):active:not([aria-selected="true"]):not(
    :disabled
  ):not([aria-disabled="true"]) {
  transform: translateY(var(--suite-press-sink));
}

:is(.suite-tab, .viking-tab, .fj-tab)[aria-selected="true"],
:is(.suite-tab, .viking-tab, .fj-tab)[data-active="true"] {
  background: var(--suite-surface-elevated);
  color: var(--suite-ink);
  border-color: var(--suite-border-strong);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-tab, .viking-tab, .fj-tab):disabled,
:is(.suite-tab, .viking-tab, .fj-tab)[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

:is(.suite-tab, .viking-tab, .fj-tab):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

:is(.suite-tab-panel, .viking-tab-panel, .fj-tab-panel)[hidden] {
  display: none;
}

:is(.suite-nav, .viking-nav, .fj-nav),
:is(.suite-nav-inner, .viking-nav-inner, .fj-nav-inner) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-1);
  align-items: center;
}

:is(.suite-nav-link, .viking-nav-link, .fj-nav-link) {
  --_control-h: var(--suite-touch);
  display: inline-flex;
  align-items: center;
  height: var(--_control-h);
  min-height: var(--_control-h);
  padding: 0 var(--suite-control-px);
  border-radius: var(--suite-radius-control);
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-control-fs-sm);
  letter-spacing: var(--suite-tracking-caps);
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: var(--suite-transition);
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
  :is(.suite-nav-link, .viking-nav-link, .fj-nav-link) {
    --_control-h: var(--suite-control-height);
  }
}

:is(.suite-nav-link, .viking-nav-link, .fj-nav-link):hover,
:is(.suite-nav-link, .viking-nav-link, .fj-nav-link):focus-visible {
  color: var(--suite-primary);
  background: var(--suite-primary-soft);
  transform: translateY(var(--suite-hover-lift));
}

:is(.suite-nav-link, .viking-nav-link, .fj-nav-link):active {
  transform: translateY(var(--suite-press-sink));
}

:is(.suite-nav-link, .viking-nav-link, .fj-nav-link)[aria-current="page"],
:is(.suite-nav-link, .viking-nav-link, .fj-nav-link)[data-active="true"] {
  color: var(--suite-primary);
  background: var(--suite-primary-soft);
  box-shadow: var(--suite-elevation-1);
}

/* =============================================================================
   Dialog / Sheet
   ============================================================================= */
:is(
  .suite-dialog,
  .viking-dialog,
  .fj-dialog,
  .suite-sheet,
  .viking-sheet,
  .fj-sheet
) {
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-glass-strong);
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-4);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
  padding: 0;
  max-width: min(32rem, calc(100vw - var(--suite-space-4)));
  width: 100%;
  font-family: var(--suite-font-sans);
}

:is(
  .suite-dialog,
  .viking-dialog,
  .fj-dialog,
  .suite-sheet,
  .viking-sheet,
  .fj-sheet
)::backdrop {
  background: var(--suite-overlay);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

:is(
  .suite-dialog-header,
  .viking-dialog-header,
  .fj-dialog-header,
  .suite-sheet-header,
  .viking-sheet-header,
  .fj-sheet-header
) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--suite-space-2);
  padding: var(--suite-space-3);
  border-bottom: 1px solid var(--suite-border);
}

:is(
  .suite-dialog-title,
  .viking-dialog-title,
  .fj-dialog-title,
  .suite-sheet-title,
  .viking-sheet-title,
  .fj-sheet-title
) {
  margin: 0;
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-tight);
}

:is(
  .suite-dialog-body,
  .viking-dialog-body,
  .fj-dialog-body,
  .suite-sheet-body,
  .viking-sheet-body,
  .fj-sheet-body
) {
  padding: var(--suite-space-3);
  line-height: var(--suite-leading-normal);
  color: var(--suite-ink);
}

:is(
  .suite-dialog-footer,
  .viking-dialog-footer,
  .fj-dialog-footer,
  .suite-sheet-footer,
  .viking-sheet-footer,
  .fj-sheet-footer
) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--suite-space-2);
  padding: var(--suite-space-3);
  border-top: 1px solid var(--suite-border);
}

/* =============================================================================
   Search / command palette (⌘K · /)
   ============================================================================= */
/* Closed <dialog> must stay display:none — author display:flex overrides UA rules. */
:is(
  .suite-search-palette-backdrop,
  .viking-search-palette-backdrop,
  .fj-search-palette-backdrop
):not([open]) {
  display: none;
}

:is(
  .suite-search-palette-backdrop,
  .viking-search-palette-backdrop,
  .fj-search-palette-backdrop
)[open] {
  position: fixed;
  inset: 0;
  z-index: var(--suite-z-overlay, 10001);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 10vh var(--suite-space-2) var(--suite-space-2);
  border: none;
  max-width: none;
  width: 100%;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

:is(
  .suite-search-palette-backdrop,
  .viking-search-palette-backdrop,
  .fj-search-palette-backdrop
)::backdrop {
  background: var(--suite-overlay);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

:is(.suite-search-palette, .viking-search-palette, .fj-search-palette) {
  display: flex;
  flex-direction: column;
  width: min(100%, 37.5rem);
  max-width: min(37.5rem, calc(100vw - var(--suite-space-4)));
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-glass-strong);
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-4);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
  font-family: var(--suite-font-sans);
  position: relative;
  isolation: isolate;
}

:is(.suite-search-palette, .viking-search-palette, .fj-search-palette)::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in srgb, var(--suite-border-strong) 55%, transparent),
    transparent
  );
  pointer-events: none;
  z-index: 1;
}

:is(
  .suite-search-palette-header,
  .viking-search-palette-header,
  .fj-search-palette-header
) {
  display: flex;
  align-items: center;
  gap: var(--suite-space-1);
  padding: var(--suite-space-2);
  border-bottom: 1px solid var(--suite-border);
  background: color-mix(
    in srgb,
    var(--suite-bg) 26%,
    var(--suite-surface-elevated)
  );
}

:is(
  .suite-search-palette-header,
  .viking-search-palette-header,
  .fj-search-palette-header
):focus-within {
  border-bottom-color: var(--suite-accent);
  box-shadow: inset 0 -2px 0
    color-mix(in srgb, var(--suite-accent) 28%, transparent);
}

:is(
  .suite-search-palette-input,
  .viking-search-palette-input,
  .fj-search-palette-input
) {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  color: var(--suite-ink);
  font: inherit;
  font-size: var(--suite-text-md);
  box-shadow: none;
  padding: var(--suite-space-1) 0;
  min-height: var(--suite-touch, 44px);
}

:is(
  .suite-search-palette-input,
  .viking-search-palette-input,
  .fj-search-palette-input
)::placeholder {
  color: var(--suite-ink-muted);
}

:is(
  .suite-search-palette-close,
  .viking-search-palette-close,
  .fj-search-palette-close
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--suite-touch, 44px);
  min-height: var(--suite-touch, 44px);
  border: none;
  border-radius: var(--suite-radius-control);
  background: transparent;
  color: var(--suite-ink-muted);
  cursor: pointer;
  font: inherit;
}

:is(
  .suite-search-palette-close,
  .viking-search-palette-close,
  .fj-search-palette-close
):hover {
  color: var(--suite-ink);
  background: color-mix(in srgb, var(--suite-accent) 12%, transparent);
}

:is(
  .suite-search-palette-close,
  .viking-search-palette-close,
  .fj-search-palette-close
):focus-visible {
  outline: var(--suite-ring-width, 2px) solid
    var(--suite-ring, var(--suite-accent));
  outline-offset: var(--suite-ring-offset, 2px);
}

:is(
  .suite-search-palette-body,
  .viking-search-palette-body,
  .fj-search-palette-body
) {
  max-height: 50vh;
  overflow-y: auto;
  padding: var(--suite-space-2);
}

:is(
  .suite-search-palette-footer,
  .viking-search-palette-footer,
  .fj-search-palette-footer
) {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--suite-space-1);
  padding: var(--suite-space-1) var(--suite-space-2);
  border-top: 1px solid var(--suite-border);
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
}

:is(.suite-kbd, .viking-kbd, .fj-kbd) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  padding: var(--suite-space-0-5) var(--suite-space-1);
  border: 1px solid var(--suite-border);
  border-radius: calc(var(--suite-radius-control) / 2);
  background: var(--suite-surface);
  font-family: inherit;
  font-size: var(--suite-text-2xs, var(--suite-text-xs));
  color: var(--suite-ink-muted);
}

:is(.suite-search-results, .viking-search-results, .fj-search-results) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

:is(
  .suite-search-group-header,
  .viking-search-group-header,
  .fj-search-group-header
) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--suite-space-1);
  margin: var(--suite-space-1) 0 var(--suite-space-0-5);
  padding: 0 var(--suite-space-1);
}

:is(
  .suite-search-group-label,
  .viking-search-group-label,
  .fj-search-group-label
) {
  margin: 0;
  padding: 0;
  font-size: var(--suite-text-2xs, var(--suite-text-xs));
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-caps, 0.06em);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
}

:is(
  .suite-search-clear-recent,
  .viking-search-clear-recent,
  .fj-search-clear-recent
) {
  border: none;
  background: transparent;
  color: var(--suite-ink-muted);
  font: inherit;
  font-size: var(--suite-text-2xs, var(--suite-text-xs));
  letter-spacing: var(--suite-tracking-caps, 0.06em);
  text-transform: uppercase;
  cursor: pointer;
  padding: var(--suite-space-0-5) var(--suite-space-1);
  border-radius: var(--suite-radius-control);
  min-height: var(--suite-touch, 44px);
}

:is(
  .suite-search-clear-recent,
  .viking-search-clear-recent,
  .fj-search-clear-recent
):hover {
  color: var(--suite-ink);
  background: color-mix(in srgb, var(--suite-accent) 12%, transparent);
}

:is(.suite-search-result, .viking-search-result, .fj-search-result) {
  display: flex;
  align-items: center;
  gap: var(--suite-space-1);
  min-height: var(--suite-control-height, 40px);
  padding: var(--suite-space-1) var(--suite-space-2);
  border: 1px solid var(--suite-border-subtle, var(--suite-border));
  border-radius: var(--suite-radius-control);
  background: var(--suite-surface);
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

:is(.suite-search-result, .viking-search-result, .fj-search-result):hover,
:is(.suite-search-result, .viking-search-result, .fj-search-result).is-selected,
:is(
  .suite-search-result,
  .viking-search-result,
  .fj-search-result
)[aria-selected="true"] {
  background: color-mix(in srgb, var(--suite-accent) 10%, var(--suite-surface));
  border-color: color-mix(
    in srgb,
    var(--suite-accent) 42%,
    var(--suite-border-strong)
  );
  box-shadow: var(--suite-elevation-1, var(--suite-elevation-2));
}

:is(
  .suite-search-result,
  .viking-search-result,
  .fj-search-result
):focus-visible {
  outline: var(--suite-ring-width, 2px) solid
    var(--suite-ring, var(--suite-accent));
  outline-offset: var(--suite-ring-offset, 2px);
}

:is(
  .suite-search-result-title,
  .viking-search-result-title,
  .fj-search-result-title
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-search-result-snippet,
  .viking-search-result-snippet,
  .fj-search-result-snippet
) {
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
}

:is(.suite-search-empty, .viking-search-empty, .fj-search-empty) {
  margin: 0;
  padding: var(--suite-space-3);
  text-align: center;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-sm);
}

:is(.suite-sheet, .viking-sheet, .fj-sheet) {
  margin: 0;
  height: 100%;
  max-height: 100dvh;
  max-width: min(24rem, 100vw);
  border-radius: 0;
}

:is(.suite-sheet, .viking-sheet, .fj-sheet)[data-side="right"] {
  margin-left: auto;
  border-left: 1px solid var(--suite-border);
}

:is(.suite-sheet, .viking-sheet, .fj-sheet)[data-side="left"] {
  margin-right: auto;
  border-right: 1px solid var(--suite-border);
}

/* =============================================================================
   Table
   ============================================================================= */
:is(.suite-table-wrap, .viking-table-wrap, .fj-table-wrap) {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  /* Recessed data well — content, not floating chrome */
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-table, .viking-table, .fj-table) {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  color: var(--suite-ink);
}

:is(.suite-table, .viking-table, .fj-table) th,
:is(.suite-table, .viking-table, .fj-table) td {
  padding: var(--suite-space-1) var(--suite-space-2);
  text-align: left;
  border-bottom: 1px solid var(--suite-border);
  vertical-align: middle;
}

:is(.suite-table, .viking-table, .fj-table) th {
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
  background: var(--suite-bg-subtle);
  white-space: nowrap;
}

:is(.suite-table, .viking-table, .fj-table) tbody tr:last-child td {
  border-bottom: 0;
}

:is(.suite-table, .viking-table, .fj-table) tbody tr:hover td {
  background: color-mix(in srgb, var(--suite-primary) 6%, transparent);
}

:is(.suite-table, .viking-table, .fj-table) tbody tr.is-selected td,
:is(.suite-table, .viking-table, .fj-table) tbody tr[data-selected="true"] td {
  background: color-mix(in srgb, var(--suite-accent) 10%, var(--suite-surface));
}

:is(.suite-table-select, .viking-table-select, .fj-table-select) {
  width: var(--suite-touch, 44px);
  text-align: center;
  vertical-align: middle;
}

/* Bulk action bar (ADR-0021) — same surface language as elevated cards */
:is(.suite-bulk-toolbar, .viking-bulk-toolbar, .fj-bulk-toolbar) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--suite-space-2);
  padding: var(--suite-space-2) var(--suite-space-3);
  margin-bottom: var(--suite-space-2);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: color-mix(
    in srgb,
    var(--suite-accent) 8%,
    var(--suite-surface-elevated)
  );
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-2);
  transition: var(--suite-transition);
}

:is(
  .suite-bulk-toolbar-count,
  .viking-bulk-toolbar-count,
  .fj-bulk-toolbar-count
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
}

:is(
  .suite-bulk-toolbar-actions,
  .viking-bulk-toolbar-actions,
  .fj-bulk-toolbar-actions
) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--suite-space-1);
}

/* Progressive disclosure (ADR-0022) — advanced sections collapsed by default */
:is(.suite-disclosure, .viking-disclosure, .fj-disclosure) {
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  overflow: hidden;
}

:is(.suite-disclosure, .viking-disclosure, .fj-disclosure)[data-level="inset"] {
  border-style: dashed;
  background: color-mix(in srgb, var(--suite-surface) 92%, var(--suite-bg));
}

:is(
  .suite-disclosure-trigger,
  .viking-disclosure-trigger,
  .fj-disclosure-trigger
) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--suite-space-2);
  width: 100%;
  min-height: var(--suite-touch);
  margin: 0;
  padding: var(--suite-space-2) var(--suite-space-3);
  border: 0;
  background: transparent;
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  text-align: left;
  cursor: pointer;
  transition: var(--suite-transition);
  -webkit-tap-highlight-color: transparent;
}

:is(
    .suite-disclosure-trigger,
    .viking-disclosure-trigger,
    .fj-disclosure-trigger
  ):hover:not(:disabled):not([aria-disabled="true"]) {
  background: color-mix(in srgb, var(--suite-accent) 6%, transparent);
}

:is(
    .suite-disclosure-trigger,
    .viking-disclosure-trigger,
    .fj-disclosure-trigger
  ):active:not(:disabled):not([aria-disabled="true"]) {
  background: color-mix(in srgb, var(--suite-accent) 10%, transparent);
}

:is(
  .suite-disclosure-trigger,
  .viking-disclosure-trigger,
  .fj-disclosure-trigger
):disabled,
:is(
  .suite-disclosure-trigger,
  .viking-disclosure-trigger,
  .fj-disclosure-trigger
)[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
}

:is(
  .suite-disclosure-trigger,
  .viking-disclosure-trigger,
  .fj-disclosure-trigger
):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: calc(-1 * var(--suite-ring-offset));
}

:is(.suite-disclosure-copy, .viking-disclosure-copy, .fj-disclosure-copy) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--suite-space-0-5);
  min-width: 0;
}

:is(.suite-disclosure-badge, .viking-disclosure-badge, .fj-disclosure-badge) {
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
}

:is(
  .suite-disclosure-heading,
  .viking-disclosure-heading,
  .fj-disclosure-heading
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-disclosure-description,
  .viking-disclosure-description,
  .fj-disclosure-description
) {
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(
  .suite-disclosure-chevron,
  .viking-disclosure-chevron,
  .fj-disclosure-chevron
) {
  flex: 0 0 auto;
  margin-top: 0.15rem;
  color: var(--suite-ink-muted);
}

/* CSS chevron for forjd-disclosure (no icon package) */
span:is(
  .suite-disclosure-chevron,
  .viking-disclosure-chevron,
  .fj-disclosure-chevron
) {
  width: 0.55rem;
  height: 0.55rem;
  margin-top: 0.35rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--suite-duration-fast, 120ms) ease;
}

:is(.suite-disclosure, .viking-disclosure, .fj-disclosure)[data-open="true"]
  span:is(
    .suite-disclosure-chevron,
    .viking-disclosure-chevron,
    .fj-disclosure-chevron
  ) {
  transform: rotate(225deg);
  margin-top: 0.55rem;
}

:is(.suite-disclosure-panel, .viking-disclosure-panel, .fj-disclosure-panel) {
  padding: 0 var(--suite-space-3) var(--suite-space-3);
  border-top: 1px solid var(--suite-border);
}

/* Keyboard shortcut help (ADR-0023) */
:is(.suite-shortcut-help, .viking-shortcut-help, .fj-shortcut-help) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
}

:is(
  .suite-shortcut-help-lede,
  .viking-shortcut-help-lede,
  .fj-shortcut-help-lede
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(
  .suite-shortcut-help-group,
  .viking-shortcut-help-group,
  .fj-shortcut-help-group
) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

:is(
  .suite-shortcut-help-group-title,
  .viking-shortcut-help-group-title,
  .fj-shortcut-help-group-title
) {
  margin: 0;
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
}

:is(
  .suite-shortcut-help-list,
  .viking-shortcut-help-list,
  .fj-shortcut-help-list
) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

:is(
  .suite-shortcut-help-row,
  .viking-shortcut-help-row,
  .fj-shortcut-help-row
) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--suite-space-2);
  padding: var(--suite-space-1) 0;
  border-bottom: 1px solid var(--suite-border);
}

:is(
    .suite-shortcut-help-list,
    .viking-shortcut-help-list,
    .fj-shortcut-help-list
  )
  > li:last-child
  :is(
    .suite-shortcut-help-row,
    .viking-shortcut-help-row,
    .fj-shortcut-help-row
  ) {
  border-bottom: 0;
}

:is(
  .suite-shortcut-help-label,
  .viking-shortcut-help-label,
  .fj-shortcut-help-label
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-shortcut-help-desc,
  .viking-shortcut-help-desc,
  .fj-shortcut-help-desc
) {
  margin: var(--suite-space-0-5) 0 0;
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
}

:is(
  .suite-shortcut-help-keys,
  .viking-shortcut-help-keys,
  .fj-shortcut-help-keys
) {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--suite-space-0-5);
  flex: 0 0 auto;
}

/* Preferences panel (ADR-0024) */
:is(.suite-preferences, .viking-preferences, .fj-preferences) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
}

:is(.suite-preferences-lede, .viking-preferences-lede, .fj-preferences-lede) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(
  .suite-preferences-section,
  .viking-preferences-section,
  .fj-preferences-section
) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-2);
}

:is(
  .suite-preferences-heading,
  .viking-preferences-heading,
  .fj-preferences-heading
) {
  margin: 0;
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
}

:is(
  .suite-preferences-theme,
  .viking-preferences-theme,
  .fj-preferences-theme,
  .suite-preferences-actions,
  .viking-preferences-actions,
  .fj-preferences-actions
) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-1);
}

/* Activity log list (ADR-0027) */
:is(.suite-activity, .viking-activity, .fj-activity) {
  display: block;
  min-width: 0;
}

:is(.suite-activity-empty, .viking-activity-empty, .fj-activity-empty) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(.suite-activity-list, .viking-activity-list, .fj-activity-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: 16rem;
  overflow: auto;
  border: 1px solid var(--suite-border-subtle);
  border-radius: var(--suite-radius);
  background: var(--suite-bg);
}

:is(.suite-activity-item, .viking-activity-item, .fj-activity-item) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--suite-space-1) var(--suite-space-2);
  padding: var(--suite-space-1) var(--suite-space-2);
  border-block-end: 1px solid var(--suite-border-subtle);
}

:is(.suite-activity-item, .viking-activity-item, .fj-activity-item):last-child {
  border-block-end: none;
}

:is(.suite-activity-main, .viking-activity-main, .fj-activity-main) {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1 1 12rem;
}

:is(.suite-activity-label, .viking-activity-label, .fj-activity-label) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-medium);
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight, 1.25);
}

:is(.suite-activity-detail, .viking-activity-detail, .fj-activity-detail) {
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(.suite-activity-time, .viking-activity-time, .fj-activity-time) {
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
  white-space: nowrap;
  flex: 0 0 auto;
}

/* Onboarding checklist (ADR-0025) */
:is(.suite-onboarding, .viking-onboarding, .fj-onboarding) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
  padding: var(--suite-space-3);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  box-shadow: var(--suite-elevation-1);
}

:is(
  .suite-onboarding-header,
  .viking-onboarding-header,
  .fj-onboarding-header
) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--suite-space-2);
}

:is(.suite-onboarding-copy, .viking-onboarding-copy, .fj-onboarding-copy) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-0-5);
  min-width: 0;
  flex: 1 1 16rem;
}

:is(
  .suite-onboarding-eyebrow,
  .viking-onboarding-eyebrow,
  .fj-onboarding-eyebrow
) {
  margin: 0;
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  color: var(--suite-accent);
}

:is(.suite-onboarding-title, .viking-onboarding-title, .fj-onboarding-title) {
  margin: 0;
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight, 1.25);
}

:is(
  .suite-onboarding-description,
  .viking-onboarding-description,
  .fj-onboarding-description
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
  max-width: 42rem;
}

:is(
  .suite-onboarding-progress,
  .viking-onboarding-progress,
  .fj-onboarding-progress
) {
  margin: 0;
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-medium);
  color: var(--suite-ink-muted);
  white-space: nowrap;
}

:is(.suite-onboarding-list, .viking-onboarding-list, .fj-onboarding-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

:is(.suite-onboarding-item, .viking-onboarding-item, .fj-onboarding-item) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-2);
  border: 1px solid var(--suite-border-subtle);
  border-radius: var(--suite-radius);
  background: var(--suite-bg);
}

:is(
  .suite-onboarding-item,
  .viking-onboarding-item,
  .fj-onboarding-item
)[data-done="true"] {
  border-color: var(--suite-border);
}

:is(.suite-onboarding-row, .viking-onboarding-row, .fj-onboarding-row) {
  display: flex;
  align-items: flex-start;
  gap: var(--suite-space-2);
  flex: 1 1 12rem;
  min-width: 0;
  cursor: pointer;
}

:is(.suite-onboarding-check, .viking-onboarding-check, .fj-onboarding-check) {
  margin-block-start: 0.2rem;
  width: 1rem;
  height: 1rem;
  accent-color: var(--suite-accent);
  flex: 0 0 auto;
}

:is(.suite-onboarding-body, .viking-onboarding-body, .fj-onboarding-body) {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

:is(
  .suite-onboarding-step-title,
  .viking-onboarding-step-title,
  .fj-onboarding-step-title
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-onboarding-step-detail,
  .viking-onboarding-step-detail,
  .fj-onboarding-step-detail
) {
  font-size: var(--suite-text-xs);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal, 1.5);
}

:is(
  .suite-onboarding-action,
  .viking-onboarding-action,
  .fj-onboarding-action
) {
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-medium);
  color: var(--suite-accent);
  text-decoration: none;
  white-space: nowrap;
}

:is(
  .suite-onboarding-action,
  .viking-onboarding-action,
  .fj-onboarding-action
):hover {
  text-decoration: underline;
}

:is(
  .suite-onboarding-action,
  .viking-onboarding-action,
  .fj-onboarding-action
):focus-visible {
  outline: 2px solid var(--suite-ring);
  outline-offset: 2px;
  border-radius: var(--suite-radius-sm, 4px);
}

:is(
  .suite-onboarding-footer,
  .viking-onboarding-footer,
  .fj-onboarding-footer
) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-1);
  align-items: center;
}

/* Dense operational tables (Palantir-adjacent) */
:is(.suite-table, .viking-table, .fj-table)[data-density="compact"] th,
:is(.suite-table, .viking-table, .fj-table)[data-density="compact"] td {
  padding: var(--suite-space-0-5) var(--suite-space-2);
  font-size: var(--suite-text-xs);
}

/* =============================================================================
   Toast (Sonner-style host)
   ============================================================================= */
:is(.suite-toast-host, .viking-toast-host, .fj-toast-host) {
  position: fixed;
  inset-block-end: var(--suite-space-3);
  inset-inline-end: var(--suite-space-3);
  z-index: var(--suite-z-toast);
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-2);
  width: min(22rem, calc(100vw - var(--suite-space-4)));
  pointer-events: none;
}

:is(
  .suite-toast-host,
  .viking-toast-host,
  .fj-toast-host
)[data-position="top-right"] {
  inset-block-end: auto;
  inset-block-start: var(--suite-space-3);
}

:is(
  .suite-toast-host,
  .viking-toast-host,
  .fj-toast-host
)[data-position="bottom-center"] {
  inset-inline: 50% auto auto 50%;
  transform: translateX(-50%);
}

:is(.suite-toast, .viking-toast, .fj-toast) {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: var(--suite-space-2);
  padding: var(--suite-space-2) var(--suite-space-3);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-glass-strong);
  color: var(--suite-ink);
  box-shadow: var(--suite-elevation-3);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  animation: suite-toast-in var(--suite-duration-fast) var(--suite-ease);
}

:is(.suite-toast-action, .viking-toast-action, .fj-toast-action) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--suite-touch, 44px);
  padding: var(--suite-space-0-5) var(--suite-space-1);
  border: none;
  border-radius: var(--suite-radius-control);
  background: transparent;
  color: var(--suite-accent);
  font: inherit;
  font-weight: var(--suite-weight-semibold);
  cursor: pointer;
}

:is(.suite-toast-action, .viking-toast-action, .fj-toast-action):hover {
  background: color-mix(in srgb, var(--suite-accent) 12%, transparent);
}

:is(.suite-toast-action, .viking-toast-action, .fj-toast-action):focus-visible {
  outline: var(--suite-ring-width, 2px) solid
    var(--suite-ring, var(--suite-accent));
  outline-offset: var(--suite-ring-offset, 2px);
}

:is(.suite-toast-body, .viking-toast-body, .fj-toast-body) {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: var(--suite-space-0-5);
}

:is(.suite-toast-title, .viking-toast-title, .fj-toast-title) {
  margin: 0;
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
}

:is(
  .suite-toast-description,
  .viking-toast-description,
  .fj-toast-description
) {
  margin: 0;
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="success"] {
  border-color: color-mix(in srgb, var(--suite-success) 40%, transparent);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="danger"] {
  border-color: color-mix(in srgb, var(--suite-danger) 40%, transparent);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="warning"] {
  border-color: color-mix(in srgb, var(--suite-warning) 40%, transparent);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="info"],
:is(.suite-toast, .viking-toast, .fj-toast)[data-tone="accent"] {
  border-color: color-mix(in srgb, var(--suite-primary) 40%, transparent);
}

/* Priority: quieter lows, sticky criticals (ADR-0020) */
:is(.suite-toast, .viking-toast, .fj-toast)[data-priority="low"] {
  box-shadow: var(--suite-elevation-1);
  opacity: 0.96;
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-priority="high"] {
  box-shadow: var(--suite-elevation-3);
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-priority="critical"] {
  box-shadow: var(--suite-elevation-4);
  border-width: 1px;
}

:is(.suite-toast, .viking-toast, .fj-toast)[data-priority="critical"]
  :is(.suite-toast-title, .viking-toast-title, .fj-toast-title) {
  font-weight: var(--suite-weight-bold, 700);
}

/* =============================================================================
   Skeleton / Empty / Loading / Error / Progress / Spinner
   Feedback surfaces: helpful copy hierarchy + machined chrome (not generic gray)
   ============================================================================= */
:is(.suite-skeleton, .viking-skeleton, .fj-skeleton) {
  display: block;
  border-radius: var(--suite-radius-control);
  background: linear-gradient(
    105deg,
    var(--suite-surface-2) 0%,
    var(--suite-surface-2) 40%,
    color-mix(in srgb, var(--suite-primary) 12%, var(--suite-surface-elevated))
      50%,
    var(--suite-surface-2) 60%,
    var(--suite-surface-2) 100%
  );
  background-size: 220% 100%;
  animation: suite-shimmer 1.6s var(--suite-ease) infinite;
  border: 1px solid color-mix(in srgb, var(--suite-border) 70%, transparent);
}

:is(.suite-skeleton, .viking-skeleton, .fj-skeleton)[data-variant="text"] {
  height: var(--suite-text-sm);
  max-width: 16rem;
}

:is(.suite-skeleton, .viking-skeleton, .fj-skeleton)[data-variant="rect"] {
  min-height: 4rem;
}

:is(.suite-skeleton, .viking-skeleton, .fj-skeleton)[data-variant="circle"] {
  width: var(--suite-space-5);
  height: var(--suite-space-5);
  border-radius: var(--suite-radius-pill);
}

/* Stacked skeleton recipe — lists / cards while hydrating */
:is(.suite-skeleton-stack, .viking-skeleton-stack, .fj-skeleton-stack) {
  display: grid;
  gap: var(--suite-space-2);
  width: 100%;
  padding: var(--suite-space-3);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  box-shadow: var(--suite-highlight);
}

:is(.suite-skeleton-stack, .viking-skeleton-stack, .fj-skeleton-stack)
  > :is(
    .suite-skeleton,
    .viking-skeleton,
    .fj-skeleton
  )[data-variant="text"]:nth-child(odd) {
  max-width: 72%;
}

:is(.suite-skeleton-stack, .viking-skeleton-stack, .fj-skeleton-stack)
  > :is(
    .suite-skeleton,
    .viking-skeleton,
    .fj-skeleton
  )[data-variant="text"]:nth-child(even) {
  max-width: 48%;
}

/* Virtual list — fixed-height windowing for unbounded queues/feeds */
:is(.suite-virtual-list, .viking-virtual-list, .fj-virtual-list) {
  display: block;
  min-width: 0;
  width: 100%;
}

:is(
  .suite-virtual-list__viewport,
  .viking-virtual-list__viewport,
  .fj-virtual-list__viewport
) {
  overflow: auto;
  overscroll-behavior: contain;
  contain: strict;
  width: 100%;
  min-height: 0;
  scrollbar-width: thin;
  scrollbar-color: var(--suite-primary) var(--suite-surface-2);
}

:is(
  .suite-virtual-list__item,
  .viking-virtual-list__item,
  .fj-virtual-list__item
) {
  box-sizing: border-box;
  width: 100%;
}

/* Explore / card grids — browser-native containment when not windowed */
:is(.viking-explore-card, .suite-explore-card) {
  content-visibility: auto;
  contain-intrinsic-size: auto 17.5rem;
}

/* Page shell — progressive loading so routes never feel blank */
:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton) {
  display: grid;
  gap: var(--suite-space-4);
  width: 100%;
  min-width: 0;
}

:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__metrics {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-3);
}

:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__charts,
:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-3);
}

:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__nav {
  display: grid;
  gap: var(--suite-space-2);
  padding: var(--suite-space-2);
}

:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__list,
:is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
  .suite-page-skeleton__form {
  min-height: 12rem;
}

@media (min-width: 768px) {
  :is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
    .suite-page-skeleton__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
    .suite-page-skeleton__charts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(.suite-page-skeleton, .viking-page-skeleton, .fj-page-skeleton)
    .suite-page-skeleton__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- Empty state --- */
:is(.suite-empty, .viking-empty, .fj-empty) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-6) var(--suite-space-4);
  text-align: center;
  color: var(--suite-ink-muted);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--suite-primary) 4%, var(--suite-surface)) 0%,
    var(--suite-surface) 48%
  );
  box-shadow: var(--suite-elevation-1);
  font-family: var(--suite-font-sans);
  animation: suite-fade-in var(--suite-duration) var(--suite-ease) both;
}

:is(.suite-empty, .viking-empty, .fj-empty)[data-density="compact"] {
  padding: var(--suite-space-4) var(--suite-space-3);
  gap: var(--suite-space-1);
}

:is(.suite-empty, .viking-empty, .fj-empty)[data-variant="inset"] {
  border-style: dashed;
  background: var(--suite-bg-subtle);
  box-shadow: var(--suite-elevation-inset);
}

:is(.suite-empty-icon, .viking-empty-icon, .fj-empty-icon) {
  display: grid;
  place-items: center;
  width: var(--suite-space-7);
  height: var(--suite-space-7);
  margin-bottom: var(--suite-space-1);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-primary-soft);
  color: var(--suite-primary);
  border: 1px solid color-mix(in srgb, var(--suite-primary) 22%, transparent);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-empty-icon, .viking-empty-icon, .fj-empty-icon) svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}

:is(.suite-empty-eyebrow, .viking-empty-eyebrow, .fj-empty-eyebrow) {
  margin: 0;
  font-size: var(--suite-text-2xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  color: var(--suite-ink-subtle);
}

:is(.suite-empty-title, .viking-empty-title, .fj-empty-title) {
  margin: 0;
  color: var(--suite-ink);
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-snug);
}

:is(
  .suite-empty-text,
  .viking-empty-text,
  .fj-empty-text,
  .suite-empty-description,
  .viking-empty-description,
  .fj-empty-description
) {
  margin: 0;
  max-width: 28rem;
  line-height: var(--suite-leading-relaxed, var(--suite-leading-normal));
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
}

:is(.suite-empty-hint, .viking-empty-hint, .fj-empty-hint) {
  margin: 0;
  max-width: 26rem;
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-2xs);
  line-height: var(--suite-leading-normal);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink-subtle);
}

:is(.suite-empty-actions, .viking-empty-actions, .fj-empty-actions) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-2);
  justify-content: center;
  margin-block-start: var(--suite-space-1);
}

:is(.suite-empty-actions, .viking-empty-actions, .fj-empty-actions):empty {
  display: none;
}

/* --- Loading (inline panel + overlay) --- */
:is(.suite-loading, .viking-loading, .fj-loading) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-6) var(--suite-space-4);
  text-align: center;
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  box-shadow: var(--suite-highlight);
  font-family: var(--suite-font-sans);
  color: var(--suite-ink-muted);
  animation: suite-fade-in var(--suite-duration-fast) var(--suite-ease) both;
}

:is(.suite-loading-title, .viking-loading-title, .fj-loading-title) {
  margin: 0;
  color: var(--suite-ink);
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
}

:is(.suite-loading-text, .viking-loading-text, .fj-loading-text) {
  margin: 0;
  max-width: 24rem;
  font-size: var(--suite-text-sm);
  line-height: var(--suite-leading-normal);
  color: var(--suite-ink-muted);
}

:is(.suite-loading-overlay, .viking-loading-overlay, .fj-loading-overlay) {
  position: absolute;
  inset: 0;
  z-index: var(--suite-z-overlay);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
  animation: suite-fade-in var(--suite-duration-fast) var(--suite-ease-out) both;
}

:is(.suite-loading-overlay, .viking-loading-overlay, .fj-loading-overlay)
  > .suite-loading-backdrop {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: color-mix(in srgb, var(--suite-bg) 62%, transparent);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

:is(.suite-loading-panel, .viking-loading-panel, .fj-loading-panel) {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-3) var(--suite-space-4);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-glass-strong);
  box-shadow: var(--suite-elevation-3);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
  max-width: min(20rem, 90%);
}

/* --- Error state panel (recovery-oriented; not field-level .suite-error-text) --- */
:is(.suite-error-state, .viking-error-state, .fj-error-state) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--suite-space-2);
  padding: var(--suite-space-6) var(--suite-space-4);
  text-align: center;
  border: 1px solid
    color-mix(in srgb, var(--suite-danger) 28%, var(--suite-border));
  border-radius: var(--suite-radius-surface);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--suite-danger) 8%, var(--suite-surface)) 0%,
    var(--suite-surface) 52%
  );
  box-shadow: var(--suite-elevation-1);
  font-family: var(--suite-font-sans);
  color: var(--suite-ink-muted);
  animation: suite-fade-in var(--suite-duration) var(--suite-ease) both;
}

:is(.suite-error-state-icon, .viking-error-state-icon, .fj-error-state-icon) {
  display: grid;
  place-items: center;
  width: var(--suite-space-7);
  height: var(--suite-space-7);
  margin-bottom: var(--suite-space-1);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-danger-soft);
  color: var(--suite-danger);
  border: 1px solid color-mix(in srgb, var(--suite-danger) 28%, transparent);
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-error-state-icon, .viking-error-state-icon, .fj-error-state-icon)
  svg {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
}

:is(
  .suite-error-state-title,
  .viking-error-state-title,
  .fj-error-state-title
) {
  margin: 0;
  color: var(--suite-ink);
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-snug);
}

:is(
  .suite-error-state-text,
  .viking-error-state-text,
  .fj-error-state-text,
  .suite-error-state-description,
  .viking-error-state-description,
  .fj-error-state-description
) {
  margin: 0;
  max-width: 28rem;
  font-size: var(--suite-text-sm);
  line-height: var(--suite-leading-relaxed, var(--suite-leading-normal));
  color: var(--suite-ink-muted);
}

:is(.suite-error-state-hint, .viking-error-state-hint, .fj-error-state-hint) {
  margin: 0;
  max-width: 26rem;
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-2xs);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink-subtle);
}

:is(
  .suite-error-state-actions,
  .viking-error-state-actions,
  .fj-error-state-actions
) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-2);
  justify-content: center;
  margin-block-start: var(--suite-space-1);
}

:is(
  .suite-error-state-actions,
  .viking-error-state-actions,
  .fj-error-state-actions
):empty {
  display: none;
}

:is(.suite-progress, .viking-progress, .fj-progress) {
  display: block;
  width: 100%;
  height: 0.375rem;
  border-radius: var(--suite-radius-pill);
  background: var(--suite-surface-2);
  border: 1px solid var(--suite-border);
  overflow: hidden;
}

:is(.suite-progress-bar, .viking-progress-bar, .fj-progress-bar) {
  display: block;
  height: 100%;
  width: var(--_progress, 0%);
  background: var(--suite-primary);
  border-radius: inherit;
  transition: width var(--suite-duration) var(--suite-ease);
}

:is(.suite-spinner, .viking-spinner, .fj-spinner) {
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid var(--suite-border-strong);
  border-top-color: var(--suite-primary);
  border-radius: var(--suite-radius-pill);
  animation: suite-spin var(--suite-duration) linear infinite;
  flex-shrink: 0;
}

:is(.suite-spinner, .viking-spinner, .fj-spinner)[data-size="lg"] {
  width: 1.75rem;
  height: 1.75rem;
  border-width: 2.5px;
}

/* =============================================================================
   Callout
   ============================================================================= */
:is(.suite-callout, .viking-callout, .fj-callout) {
  --_callout-rail: color-mix(in srgb, var(--suite-primary) 55%, transparent);
  display: flex;
  gap: var(--suite-space-2);
  padding: var(--suite-space-3);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  line-height: var(--suite-leading-normal);
  /* Machined left rail — expensive ops alert, not a flat banner */
  box-shadow:
    var(--suite-elevation-1),
    inset 3px 0 0 var(--_callout-rail);
}

:is(.suite-callout, .viking-callout, .fj-callout)[data-tone="accent"] {
  --_callout-rail: color-mix(in srgb, var(--suite-primary) 70%, transparent);
  background: var(--suite-primary-soft);
  border-color: color-mix(in srgb, var(--suite-primary) 28%, transparent);
}

:is(.suite-callout, .viking-callout, .fj-callout)[data-tone="warning"] {
  --_callout-rail: color-mix(in srgb, var(--suite-warning) 75%, transparent);
  background: var(--suite-warning-soft);
  border-color: color-mix(in srgb, var(--suite-warning) 32%, transparent);
}

:is(.suite-callout, .viking-callout, .fj-callout)[data-tone="danger"] {
  --_callout-rail: color-mix(in srgb, var(--suite-danger) 75%, transparent);
  background: var(--suite-danger-soft);
  border-color: color-mix(in srgb, var(--suite-danger) 32%, transparent);
  color: var(--suite-ink);
}

:is(.suite-callout, .viking-callout, .fj-callout)[data-tone="success"] {
  --_callout-rail: color-mix(in srgb, var(--suite-success) 75%, transparent);
  background: var(--suite-success-soft);
  border-color: color-mix(in srgb, var(--suite-success) 32%, transparent);
}

:is(.suite-callout-heading, .viking-callout-heading, .fj-callout-heading) {
  margin: 0 0 var(--suite-space-0-5);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink);
}

:is(.suite-callout-text, .viking-callout-text, .fj-callout-text) {
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

/* =============================================================================
   Status list
   ============================================================================= */
:is(.suite-status-list, .viking-status-list, .fj-status-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

:is(.suite-status-list, .viking-status-list, .fj-status-list) li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--suite-space-2);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-sm);
  padding: var(--suite-space-0-5) 0;
  border-bottom: 1px solid var(--suite-border);
  min-height: var(--suite-touch);
}

@media (min-width: 768px) {
  :is(.suite-status-list, .viking-status-list, .fj-status-list) li {
    min-height: var(--suite-control-height-sm);
  }
}

:is(.suite-status-list, .viking-status-list, .fj-status-list) li:last-child {
  border-bottom: 0;
}

:is(
  .suite-status-list__name,
  .viking-status-list__name,
  .fj-status-list__name
) {
  color: var(--suite-ink);
}

:is(
  .suite-status-list__state,
  .viking-status-list__state,
  .fj-status-list__state
) {
  color: var(--suite-ink-muted);
}

:is(.suite-status-list, .viking-status-list, .fj-status-list)
  li[data-ok="true"]
  :is(
    .suite-status-list__state,
    .viking-status-list__state,
    .fj-status-list__state
  ) {
  color: var(--suite-success);
}

:is(.suite-status-list, .viking-status-list, .fj-status-list)
  li[data-ok="false"]
  :is(
    .suite-status-list__state,
    .viking-status-list__state,
    .fj-status-list__state
  ) {
  color: var(--suite-danger);
}

/* =============================================================================
   Pipeline flow (read-only workflow steps)
   ============================================================================= */
:is(.suite-pipeline-flow, .viking-pipeline-flow, .fj-pipeline-flow) {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
  font-family: var(--suite-font-sans);
}

@media (min-width: 768px) {
  :is(
    .suite-pipeline-flow,
    .viking-pipeline-flow,
    .fj-pipeline-flow
  )[data-orientation="horizontal"] {
    flex-direction: row;
    align-items: stretch;
    gap: 0;
  }
}

:is(
  .suite-pipeline-flow__step,
  .viking-pipeline-flow__step,
  .fj-pipeline-flow__step
) {
  display: flex;
  gap: var(--suite-space-2);
  min-width: 0;
  flex: 1 1 auto;
}

@media (min-width: 768px) {
  :is(
      .suite-pipeline-flow,
      .viking-pipeline-flow,
      .fj-pipeline-flow
    )[data-orientation="horizontal"]
    :is(
      .suite-pipeline-flow__step,
      .viking-pipeline-flow__step,
      .fj-pipeline-flow__step
    ) {
    flex-direction: column;
    gap: var(--suite-space-1);
  }
}

:is(
  .suite-pipeline-flow__rail,
  .viking-pipeline-flow__rail,
  .fj-pipeline-flow__rail
) {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  :is(
      .suite-pipeline-flow,
      .viking-pipeline-flow,
      .fj-pipeline-flow
    )[data-orientation="horizontal"]
    :is(
      .suite-pipeline-flow__rail,
      .viking-pipeline-flow__rail,
      .fj-pipeline-flow__rail
    ) {
    flex-direction: row;
    width: 100%;
    align-items: center;
  }
}

:is(
  .suite-pipeline-flow__marker,
  .viking-pipeline-flow__marker,
  .fj-pipeline-flow__marker
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--suite-space-3);
  height: var(--suite-space-3);
  border-radius: var(--suite-radius-pill);
  border: 1px solid var(--suite-border-strong);
  background: var(--suite-surface);
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  flex-shrink: 0;
}

:is(
    .suite-pipeline-flow__step,
    .viking-pipeline-flow__step,
    .fj-pipeline-flow__step
  )[data-kind="process"]
  :is(
    .suite-pipeline-flow__marker,
    .viking-pipeline-flow__marker,
    .fj-pipeline-flow__marker
  ) {
  border-color: var(--suite-accent);
  color: var(--suite-accent);
}

:is(
    .suite-pipeline-flow__step,
    .viking-pipeline-flow__step,
    .fj-pipeline-flow__step
  )[data-kind="detect"]
  :is(
    .suite-pipeline-flow__marker,
    .viking-pipeline-flow__marker,
    .fj-pipeline-flow__marker
  ) {
  border-color: var(--suite-warning);
  color: var(--suite-warning);
}

:is(
  .suite-pipeline-flow__connector,
  .viking-pipeline-flow__connector,
  .fj-pipeline-flow__connector
) {
  flex: 1;
  width: 2px;
  min-height: var(--suite-space-2);
  background: var(--suite-border);
}

@media (min-width: 768px) {
  :is(
      .suite-pipeline-flow,
      .viking-pipeline-flow,
      .fj-pipeline-flow
    )[data-orientation="horizontal"]
    :is(
      .suite-pipeline-flow__connector,
      .viking-pipeline-flow__connector,
      .fj-pipeline-flow__connector
    ) {
    width: auto;
    height: 2px;
    min-height: 0;
    min-width: var(--suite-space-2);
  }
}

:is(
  .suite-pipeline-flow__body,
  .viking-pipeline-flow__body,
  .fj-pipeline-flow__body
) {
  flex: 1;
  min-width: 0;
  padding-bottom: var(--suite-space-3);
}

@media (min-width: 768px) {
  :is(
      .suite-pipeline-flow,
      .viking-pipeline-flow,
      .fj-pipeline-flow
    )[data-orientation="horizontal"]
    :is(
      .suite-pipeline-flow__body,
      .viking-pipeline-flow__body,
      .fj-pipeline-flow__body
    ) {
    padding-bottom: 0;
    padding-inline-end: var(--suite-space-2);
  }
}

:is(
  .suite-pipeline-flow__title,
  .viking-pipeline-flow__title,
  .fj-pipeline-flow__title
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight);
}

:is(
  .suite-pipeline-flow__detail,
  .viking-pipeline-flow__detail,
  .fj-pipeline-flow__detail
) {
  margin: var(--suite-space-0-5) 0 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

:is(
  .suite-pipeline-flow__empty,
  .viking-pipeline-flow__empty,
  .fj-pipeline-flow__empty
) {
  margin: 0;
  font-size: var(--suite-text-sm);
  color: var(--suite-ink-muted);
}

/* =============================================================================
   Stream status (near-real-time; never claims "Live")
   ============================================================================= */
:is(.suite-stream-status, .viking-stream-status, .fj-stream-status) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-1);
  min-height: var(--suite-control-height-sm);
  padding: 0 var(--suite-space-2);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-surface);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-wide);
  color: var(--suite-ink-muted);
  box-sizing: border-box;
}

:is(
  .suite-stream-status,
  .viking-stream-status,
  .fj-stream-status
)[data-tone="accent"] {
  color: var(--suite-accent);
  border-color: color-mix(
    in srgb,
    var(--suite-accent) 40%,
    var(--suite-border)
  );
}

:is(
  .suite-stream-status,
  .viking-stream-status,
  .fj-stream-status
)[data-tone="warning"] {
  color: var(--suite-warning-text);
  border-color: color-mix(
    in srgb,
    var(--suite-warning) 40%,
    var(--suite-border)
  );
}

:is(
  .suite-stream-status__dot,
  .viking-stream-status__dot,
  .fj-stream-status__dot
) {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--suite-radius-pill);
  background: currentColor;
  flex-shrink: 0;
}

:is(
  .suite-stream-status__label,
  .viking-stream-status__label,
  .fj-stream-status__label
) {
  line-height: var(--suite-leading-tight);
  white-space: nowrap;
}

/* =============================================================================
   Page shell / section / stack
   ============================================================================= */
:is(.suite-page-shell, .viking-page-shell, .fj-page-shell) {
  display: block;
  width: 100%;
  max-width: var(--suite-content-max);
  margin-inline: auto;
  padding-inline: var(--suite-page-gutter);
  box-sizing: border-box;
}

:is(.suite-section, .viking-section, .fj-section) {
  display: block;
  margin-block: var(--suite-section-gap);
}

:is(.suite-section, .viking-section, .fj-section):first-child {
  margin-block-start: 0;
}

:is(.suite-stack, .viking-stack, .fj-stack) {
  display: flex;
  flex-direction: column;
  gap: var(--_stack-gap, var(--suite-block-gap));
}

:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).suite-stack--tight,
:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).fj-stack--tight,
:is(.suite-stack, .viking-stack, .fj-stack).viking-stack--tight {
  --_stack-gap: var(--suite-space-2);
}

:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).suite-stack--compact,
:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).fj-stack--compact {
  --_stack-gap: var(--suite-space-3);
}

:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).suite-stack--loose,
:is(
  .suite-stack,
  .viking-stack,
  .fj-stack,
  .suite-page-shell,
  .viking-page-shell,
  .fj-page-shell
).fj-stack--loose {
  --_stack-gap: var(--suite-section-gap);
}

:is(.suite-stack, .viking-stack, .fj-stack).suite-stack--center,
:is(.suite-stack, .viking-stack, .fj-stack).fj-stack--center,
:is(.suite-stack, .viking-stack, .fj-stack).viking-stack--center {
  align-items: center;
  text-align: center;
}

:is(.suite-stack, .viking-stack, .fj-stack)[data-direction="row"] {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}

/* =============================================================================
   Media (images) — responsive by default; pair with loading/decoding/fetchpriority
   Hero / LCP: data-priority="high" + fetchpriority="high" + loading="eager"
   Content: loading="lazy" decoding="async" (set on <img> — CSS cannot set these)
   ============================================================================= */
:is(.suite-media, .viking-media, .fj-media) {
  display: block;
  max-width: 100%;
}

:is(.suite-media, .viking-media, .fj-media) img,
:is(.suite-media, .viking-media, .fj-media) picture {
  display: block;
  max-width: 100%;
  height: auto;
}

:is(.suite-media, .viking-media, .fj-media)[data-priority="high"] img {
  content-visibility: visible;
}

:is(.suite-landing-mark, .landing__hero-mark) {
  display: block;
  width: 4rem;
  height: 4rem;
  max-width: 100%;
  object-fit: contain;
  content-visibility: visible;
}

/* =============================================================================
   Motion
   ============================================================================= */
@keyframes suite-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

@keyframes suite-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes suite-fade-in {
  from {
    opacity: 0;
    transform: translateY(var(--suite-reveal-distance, 0.5rem));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes suite-toast-in {
  from {
    opacity: 0;
    transform: translateY(0.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* WCAG 2.3.3 Animation from Interactions — suite-wide reduced-motion contract.
   Tokens zero durations; this kill-switch covers hardcoded keyframes (shimmer/spin)
   and smooth scrolling so FORJD (suite CSS only) matches DEML a11y.scss. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

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

  :is(.suite-skeleton, .viking-skeleton, .fj-skeleton) {
    animation: none !important;
    background: var(--suite-surface-2);
  }

  :is(
    .suite-empty,
    .viking-empty,
    .fj-empty,
    .suite-loading,
    .viking-loading,
    .fj-loading,
    .suite-loading-overlay,
    .viking-loading-overlay,
    .fj-loading-overlay,
    .suite-error-state,
    .viking-error-state,
    .fj-error-state,
    .suite-dialog,
    .viking-dialog,
    .fj-dialog,
    .suite-sheet,
    .viking-sheet,
    .fj-sheet,
    .suite-toast,
    .viking-toast,
    .fj-toast
  ) {
    animation: none !important;
  }

  :is(
    .suite-btn-spinner,
    .viking-btn-spinner,
    .fj-btn-spinner,
    .suite-spinner,
    .viking-spinner,
    .fj-spinner
  ) {
    animation: none !important;
    border-top-color: var(--suite-primary);
  }

  :is(.suite-btn, .viking-btn, .fj-btn):hover:not(:disabled),
  :is(.suite-btn, .viking-btn, .fj-btn):active:not(:disabled),
  :is(.suite-card, .viking-card, .fj-card)[data-interactive="true"]:hover,
  :is(.suite-card, .viking-card, .fj-card)[data-interactive="true"]:active,
  :is(.suite-tab, .viking-tab, .fj-tab):hover,
  :is(.suite-tab, .viking-tab, .fj-tab):active,
  :is(.suite-nav-link, .viking-nav-link, .fj-nav-link):hover,
  :is(.suite-nav-link, .viking-nav-link, .fj-nav-link):active,
  :is(
    .suite-theme-toggle,
    .viking-theme-toggle,
    .fj-theme-toggle,
    .theme-toggle-btn
  ):hover,
  :is(
    .suite-theme-toggle,
    .viking-theme-toggle,
    .fj-theme-toggle,
    .theme-toggle-btn
  ):active,
  :is(
    .suite-disclosure-trigger,
    .viking-disclosure-trigger,
    .fj-disclosure-trigger
  ):hover,
  :is(
    .suite-disclosure-trigger,
    .viking-disclosure-trigger,
    .fj-disclosure-trigger
  ):active {
    transform: none;
  }
}

/* =============================================================================
   Elevation utilities — hierarchy only (never decorative stacks)
   1 flat hairline · 2 raised panel · 3 floating · 4 modal · inset wells
   ============================================================================= */
:is(.suite-elevation-1, .viking-elevation-1, .fj-elevation-1) {
  box-shadow: var(--suite-elevation-1);
}

:is(.suite-elevation-2, .viking-elevation-2, .fj-elevation-2) {
  box-shadow: var(--suite-elevation-2);
}

:is(.suite-elevation-3, .viking-elevation-3, .fj-elevation-3) {
  box-shadow: var(--suite-elevation-3);
}

:is(.suite-elevation-4, .viking-elevation-4, .fj-elevation-4) {
  box-shadow: var(--suite-elevation-4);
}

:is(.suite-elevation-inset, .viking-elevation-inset, .fj-elevation-inset) {
  box-shadow: var(--suite-elevation-inset);
}

/* Glass only on floating chrome — pair with elevation-3/4 */
:is(.suite-glass, .viking-glass, .fj-glass) {
  background: var(--suite-glass);
  border-color: var(--suite-border-strong);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

:is(.suite-glass-strong, .viking-glass-strong, .fj-glass-strong) {
  background: var(--suite-glass-strong);
  border-color: var(--suite-border-strong);
  -webkit-backdrop-filter: blur(var(--suite-glass-blur));
  backdrop-filter: blur(var(--suite-glass-blur));
}

@media (prefers-reduced-transparency: reduce) {
  :is(
    .suite-dialog,
    .viking-dialog,
    .fj-dialog,
    .suite-sheet,
    .viking-sheet,
    .fj-sheet,
    .suite-search-palette,
    .viking-search-palette,
    .fj-search-palette,
    .suite-toast,
    .viking-toast,
    .fj-toast,
    .suite-loading-panel,
    .viking-loading-panel,
    .fj-loading-panel,
    .suite-glass,
    .viking-glass,
    .fj-glass,
    .suite-glass-strong,
    .viking-glass-strong,
    .fj-glass-strong
  ) {
    background: var(--suite-surface-elevated);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  :is(
    .suite-dialog,
    .viking-dialog,
    .fj-dialog,
    .suite-sheet,
    .viking-sheet,
    .fj-sheet,
    .suite-search-palette-backdrop,
    .viking-search-palette-backdrop,
    .fj-search-palette-backdrop
  )::backdrop,
  :is(.suite-loading-overlay, .viking-loading-overlay, .fj-loading-overlay)
    > .suite-loading-backdrop {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/*!
 * SUITE LANDING — Pass 3 product-family stage (DEML + FORJD + community)
 * ----------------------------------------------------------------------------
 * forjd.co · deml.app / · dataengineeringformachinelearning.com
 * Atmosphere + hero + section rhythm only. Tokens + suite-components for chrome.
 * Dual/triple class aliases keep historical markup working during lockstep.
 * Docs: SUITE_LANDING.md
 */

/* =============================================================================
   Stage — void atmosphere (SpaceX power + Porsche precision + electric command)
   ============================================================================= */
:is(.suite-landing, .fj-landing, .landing-container, .community-home) {
  /* Restrained command atmosphere — no neon orbs; stepped light only. */
  /* Single electric wash — calm confidence over layered theater */
  --_suite-landing-glow: color-mix(
    in srgb,
    var(--suite-primary) 11%,
    transparent
  );
  position: relative;
  isolation: isolate;
  min-height: 100%;
  font-family: var(--suite-font-sans);
  color: var(--suite-ink);
}

/*
 * Atmosphere uses absolute (not fixed) so it works inside Angular app shells
 * that apply transform/containment on main content. Covers full landing height.
 */
:is(.suite-landing, .fj-landing)::before,
.landing-container.suite-landing::before,
.community-home.suite-landing::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      100% 70% at 12% -10%,
      var(--_suite-landing-glow),
      transparent 62%
    ),
    var(--suite-bg);
}

:is(.suite-landing, .fj-landing)::after,
.landing-container.suite-landing::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.03;
  background-image:
    linear-gradient(
      color-mix(in srgb, var(--suite-border) 40%, transparent) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--suite-border) 40%, transparent) 1px,
      transparent 1px
    );
  background-size: var(--suite-space-10) var(--suite-space-10);
  mask-image: radial-gradient(ellipse at 30% 0%, black 0%, transparent 48%);
}

/* Children above atmosphere */
:is(.suite-landing, .fj-landing, .landing-container.suite-landing) > * {
  position: relative;
  z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
  :is(.suite-landing, .fj-landing)::after,
  .landing-container.suite-landing::after {
    opacity: 0.04;
  }
}

/*
 * Constrained delivery — solid void, skip grid mask + paint-heavy hairlines.
 * High-end / wide viewports keep the electric wash + grid.
 * prefers-reduced-data is progressive (unsupported browsers ignore the clause).
 */
@media (max-width: 600px), (prefers-reduced-data: reduce) {
  :is(.suite-landing, .fj-landing)::before,
  .landing-container.suite-landing::before,
  .community-home.suite-landing::before {
    background: var(--suite-bg);
  }

  :is(.suite-landing, .fj-landing)::after,
  .landing-container.suite-landing::after {
    content: none;
    display: none;
  }

  :is(.suite-landing-feature, .landing__feature)
    :is(.suite-card, .viking-card, .fj-card)::before,
  :is(.suite-landing-steps, .landing__steps)
    :is(.suite-landing-feature, .landing__feature)
    :is(.suite-card, .viking-card, .fj-card)::before,
  :is(.landing__band-panel) :is(.suite-card, .viking-card, .fj-card)::before {
    content: none;
    display: none;
  }
}

/* --- Page stack --- */
:is(.suite-landing, .fj-landing, .landing, .showcase-layout.suite-landing) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-section-gap);
  padding-block: var(--suite-space-8) var(--suite-space-14);
  min-height: min(100dvh, 100%);
  max-width: var(--suite-content-max);
  margin-inline: auto;
  padding-inline: var(--suite-page-gutter);
  box-sizing: border-box;
}

/* When nested inside forjd-page-shell which already gutters */
forjd-page-shell :is(.suite-landing, .fj-landing, .landing) {
  max-width: none;
  padding-inline: 0;
}

/*
 * deml.app product-home uses .page-inner-wrapper (layout-shell) AND suite-landing.
 * Collapse double gutters / grid so the stage owns the column rhythm.
 */
.page-inner-wrapper.suite-landing,
.page-inner-wrapper.showcase-layout.suite-landing {
  display: flex;
  flex-direction: column;
  gap: var(--suite-section-gap);
  max-width: var(--suite-content-max);
  margin-inline: auto;
  padding-inline: var(--suite-page-gutter);
  padding-block: var(--suite-space-6) var(--suite-space-10);
  min-height: 0;
  grid-template-columns: unset;
}

.page-inner-wrapper.suite-landing .suite-landing-hero,
.page-inner-wrapper.suite-landing .viking-unified-hero,
.page-inner-wrapper.suite-landing .landing__hero {
  /* Leave room for navbar + footer — avoid 78dvh hero crushing the fold */
  min-height: min(52dvh, 26rem);
  padding-block: var(--suite-space-5) var(--suite-space-3);
  max-width: 40rem;
}

.page-inner-wrapper.suite-landing .suite-landing-brand,
.page-inner-wrapper.suite-landing .hero-brand {
  /* Match forjd.co display brand weight — no deml-only shrink */
  font-size: var(--suite-text-display);
  letter-spacing: var(--suite-tracking-brand);
  color: var(--suite-ink);
  text-shadow: none;
}

/* Quiet secondary mark on community marketing (not a competing display title) */
.suite-landing-mark-label {
  margin: 0;
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-medium);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  color: color-mix(in srgb, var(--suite-ink-muted) 85%, transparent);
}

/* suite-card already pads — don't double-pad step/pillar tiles */
.page-inner-wrapper.suite-landing
  :is(.quick-start-step, .security-pillar).suite-card {
  padding: var(--suite-space-3);
}

/* =============================================================================
   Hero — tall, vivid, industrial display type
   ============================================================================= */
:is(
  .suite-landing-hero,
  .fj-landing-hero,
  .landing__hero,
  .viking-unified-hero
) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
  max-width: 52rem;
  /* Mobile-first: keep steps in the first scroll; grow tall only on large viewports */
  min-height: min(52dvh, 26rem);
  justify-content: center;
  padding-block: var(--suite-space-7) var(--suite-space-5);
}

/* Expensive type rhythm — tighten brand↔headline; open lede→actions */
:is(.suite-landing-mark, .landing__hero-mark)
  + :is(.suite-landing-brand, .fj-brand, .landing__brand) {
  margin-top: calc(-1 * var(--suite-space-0-5));
}

:is(.suite-landing-brand, .fj-brand, .landing__brand)
  + :is(.suite-landing-headline, .landing__hero-line, .fj-headline) {
  margin-top: calc(-1 * var(--suite-space-1));
}

:is(.suite-landing-lede, .landing__lede, .fj-lede)
  + :is(.suite-landing-actions, .landing__actions) {
  margin-top: var(--suite-space-2);
}

/* Instant hero — no staggered reveal (calm confidence over clever motion) */

@media (min-width: 768px) {
  :is(
    .suite-landing-hero,
    .fj-landing-hero,
    .landing__hero,
    .viking-unified-hero
  ) {
    gap: var(--suite-space-4);
    min-height: min(58dvh, 30rem);
    padding-block: var(--suite-space-9) var(--suite-space-6);
  }
}

@media (min-width: 1024px) {
  :is(
    .suite-landing-hero,
    .fj-landing-hero,
    .landing__hero,
    .viking-unified-hero
  ) {
    min-height: min(64dvh, 34rem);
    padding-block: var(--suite-space-10) var(--suite-space-6);
  }
}

/* Short / landscape viewports — keep brand + CTAs in the first screen */
@media (max-height: 500px), (max-height: 420px) and (orientation: landscape) {
  :is(
    .suite-landing-hero,
    .fj-landing-hero,
    .landing__hero,
    .viking-unified-hero
  ) {
    min-height: 0;
    justify-content: flex-start;
    padding-block: var(--suite-space-4) var(--suite-space-3);
    gap: var(--suite-space-2);
  }
}

/* Status pill — 80% quiet Production; 20% data-tone + in-badge Retry */
:is(
  .suite-landing-badge,
  .hero-badge,
  .viking-unified-hero-badge,
  .community-eyebrow
) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-1);
  width: fit-content;
  max-width: min(100%, 32rem);
  margin: 0;
  padding: var(--suite-space-1) var(--suite-space-2);
  border: 1px solid color-mix(in srgb, var(--suite-primary) 28%, transparent);
  border-radius: var(--suite-radius-pill);
  background: color-mix(in srgb, var(--suite-primary) 10%, transparent);
  color: var(--suite-primary-strong);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  box-shadow: var(--suite-highlight);
}

/* Loading chapter — muted confirming, not success green yet */
:is(
  .suite-landing-badge,
  .hero-badge,
  .viking-unified-hero-badge
)[data-phase="loading"] {
  border-color: color-mix(in srgb, var(--suite-border-strong) 80%, transparent);
  background: color-mix(in srgb, var(--suite-surface-2) 80%, transparent);
  color: var(--suite-ink-muted);
}

:is(
    .suite-landing-badge,
    .hero-badge,
    .viking-unified-hero-badge
  )[data-phase="loading"]
  .badge-dot {
  background: var(--suite-ink-muted);
  animation: suite-confirm 1.4s var(--suite-ease) infinite;
}

:is(
  .suite-landing-badge,
  .hero-badge,
  .viking-unified-hero-badge
)[data-tone="warning"] {
  border-color: color-mix(in srgb, var(--suite-warning) 45%, transparent);
  background: color-mix(in srgb, var(--suite-warning) 12%, transparent);
  color: var(--suite-warning);
}

:is(
  .suite-landing-badge,
  .hero-badge,
  .viking-unified-hero-badge
)[data-tone="danger"] {
  border-color: color-mix(in srgb, var(--suite-danger) 45%, transparent);
  background: color-mix(in srgb, var(--suite-danger) 12%, transparent);
  color: var(--suite-danger);
}

:is(
    .suite-landing-badge,
    .hero-badge,
    .viking-unified-hero-badge
  )[data-tone="warning"]
  .badge-dot,
:is(
    .suite-landing-badge,
    .hero-badge,
    .viking-unified-hero-badge
  )[data-tone="danger"]
  .badge-dot {
  background: currentColor;
}

:is(.badge-dot, .pulse-dot) {
  width: var(--suite-space-0-5);
  height: var(--suite-space-0-5);
  border-radius: var(--suite-radius-pill);
  background: var(--suite-success);
  flex-shrink: 0;
}

/* Pulse only when explicitly marked live — static otherwise */
:is(.badge-dot).pulse-dot {
  animation: suite-pulse 3.6s var(--suite-ease) infinite;
}

:is(.badge-text) {
  color: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

/* Compact edge retry — 44px touch floor; lives in the badge, not a callout */
:is(.suite-landing-badge-retry) {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  margin-inline-start: var(--suite-space-0-5);
  min-height: var(--suite-touch);
  min-width: var(--suite-touch);
  padding: 0 var(--suite-space-2);
  border: 1px solid color-mix(in srgb, currentColor 45%, transparent);
  border-radius: var(--suite-radius-pill);
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  transition: var(--suite-transition-colors);
}

:is(.suite-landing-badge-retry):hover,
:is(.suite-landing-badge-retry):focus-visible {
  background: color-mix(in srgb, currentColor 14%, transparent);
  outline: none;
}

:is(.suite-landing-badge-retry):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* One quiet edge line under the badge — never displaces hero → CTAs → sequence */
:is(.suite-landing-edge, .landing__ready-edge) {
  margin: calc(var(--suite-space-1) * -1) 0 0;
  max-width: 36rem;
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-regular);
  letter-spacing: var(--suite-tracking-normal);
  line-height: var(--suite-leading-snug);
  text-transform: none;
}

:is(.suite-landing-mark, .landing__hero-mark) {
  width: min(3.75rem, 16vw);
  height: auto;
  margin-bottom: 0;
  filter: none;
}

/* Display brand wordmark */
:is(.suite-landing-brand, .landing__brand, .hero-brand, .fj-brand) {
  margin: 0;
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-display);
  font-weight: var(--suite-weight-extrabold);
  letter-spacing: var(--suite-tracking-brand);
  line-height: var(--suite-leading-tight);
  color: var(--suite-ink);
  text-transform: uppercase;
  text-wrap: balance;
  text-shadow: none;
}

/* Primary headline under brand (or standalone title on marketing) */
:is(
  .suite-landing-headline,
  .landing__hero-line,
  .fj-headline,
  .title,
  .viking-unified-hero-title
) {
  margin: 0;
  font-size: var(--suite-text-headline);
  font-weight: var(--suite-weight-medium);
  letter-spacing: var(--suite-tracking-tight);
  max-width: 36rem;
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight);
  text-wrap: balance;
}

/* When brand + title coexist, title is slightly quieter industrial sub */
.suite-landing-brand
  + :is(.title, .viking-unified-hero-title, .suite-landing-headline),
.hero-brand + :is(.title, .viking-unified-hero-title) {
  font-size: var(--suite-text-headline-quiet);
  color: color-mix(in srgb, var(--suite-ink) 92%, var(--suite-primary) 8%);
  max-width: 32rem;
}

:is(
  .suite-landing-lede,
  .landing__lede,
  .fj-lede,
  .subtitle,
  .viking-unified-hero-lead
) {
  margin: 0;
  max-width: var(--suite-readable-max);
  font-size: var(--suite-text-lg);
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-relaxed);
  text-wrap: pretty;
}

:is(
  .suite-landing-actions,
  .landing__actions,
  .viking-unified-hero-actions,
  .cta-group
) {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--suite-space-3);
  width: 100%;
  margin-top: var(--suite-space-1);
}

/* Flat CTA row (marketing / deml) — children are suite-btn */
:is(
    .suite-landing-actions,
    .landing__actions,
    .viking-unified-hero-actions,
    .cta-group
  )
  > :is(.suite-btn, .viking-btn, .fj-btn, forjd-button, viking-button) {
  width: 100%;
  box-sizing: border-box;
  justify-content: center;
}

:is(
    .suite-landing-actions,
    .landing__actions,
    .viking-unified-hero-actions,
    .cta-group
  )
  > :is(forjd-button, viking-button)
  :is(.suite-btn, .viking-btn, .fj-btn) {
  width: 100%;
  justify-content: center;
}

/* Tiered CTAs — primary command row + quiet secondary instrument strip */
:is(.suite-landing-actions-primary, .landing__actions-primary) {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--suite-cluster-gap);
  width: 100%;
}

:is(.suite-landing-actions-secondary, .landing__actions-secondary) {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--suite-space-1);
  width: 100%;
  padding-top: var(--suite-space-1);
  border-top: 1px solid color-mix(in srgb, var(--suite-border) 80%, transparent);
}

:is(.suite-landing-actions-primary, .landing__actions-primary)
  > :is(forjd-button, viking-button, .suite-btn, .viking-btn, .fj-btn),
:is(.suite-landing-actions-secondary, .landing__actions-secondary)
  > :is(
    forjd-button,
    viking-button,
    .suite-btn,
    .viking-btn,
    .fj-btn,
    forjd-theme-toggle,
    viking-theme-toggle
  ) {
  width: 100%;
  box-sizing: border-box;
}

:is(.suite-landing-actions-primary, .landing__actions-primary)
  :is(.suite-btn, .viking-btn, .fj-btn),
:is(.suite-landing-actions-secondary, .landing__actions-secondary)
  :is(.suite-btn, .viking-btn, .fj-btn) {
  width: 100%;
  justify-content: center;
}

/* Secondary ghosts — color only (no lift) so the toolbar stays calm */
:is(.suite-landing-actions-secondary, .landing__actions-secondary)
  :is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"]:hover:not(
    :disabled
  ):not([aria-disabled="true"]),
:is(.suite-landing-actions-secondary, .landing__actions-secondary)
  :is(.suite-btn, .viking-btn, .fj-btn)[data-variant="ghost"]:active:not(
    :disabled
  ) {
  transform: none;
}

@media (min-width: 600px) {
  :is(
      .suite-landing-actions,
      .landing__actions,
      .viking-unified-hero-actions,
      .cta-group
    ):not(:has(.suite-landing-actions-primary)):not(
      :has(.landing__actions-primary)
    ) {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
    gap: var(--suite-cluster-gap);
  }

  :is(
      .suite-landing-actions,
      .landing__actions,
      .viking-unified-hero-actions,
      .cta-group
    ):not(:has(.suite-landing-actions-primary)):not(
      :has(.landing__actions-primary)
    )
    > :is(.suite-btn, .viking-btn, .fj-btn, forjd-button, viking-button) {
    width: auto;
  }

  :is(
      .suite-landing-actions,
      .landing__actions,
      .viking-unified-hero-actions,
      .cta-group
    ):not(:has(.suite-landing-actions-primary)):not(
      :has(.landing__actions-primary)
    )
    > :is(forjd-button, viking-button)
    :is(.suite-btn, .viking-btn, .fj-btn) {
    width: auto;
  }

  :is(.suite-landing-actions-primary, .landing__actions-primary) {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
  }

  :is(.suite-landing-actions-primary, .landing__actions-primary)
    > :is(forjd-button, viking-button, .suite-btn, .viking-btn, .fj-btn),
  :is(.suite-landing-actions-primary, .landing__actions-primary)
    :is(.suite-btn, .viking-btn, .fj-btn) {
    width: auto;
  }

  :is(.suite-landing-actions-secondary, .landing__actions-secondary) {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    width: auto;
    gap: var(--suite-space-1);
  }

  :is(.suite-landing-actions-secondary, .landing__actions-secondary)
    > :is(
      forjd-button,
      viking-button,
      .suite-btn,
      .viking-btn,
      .fj-btn,
      forjd-theme-toggle,
      viking-theme-toggle
    ),
  :is(.suite-landing-actions-secondary, .landing__actions-secondary)
    :is(.suite-btn, .viking-btn, .fj-btn) {
    width: auto;
  }
}

/* CTA content helpers inside suite-btn */
:is(.cta-content) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-1);
}

:is(.cta-label) {
  font: inherit;
  color: inherit;
}

:is(.cta-button) {
  /* structural alias only — chrome from suite-btn */
}

@keyframes suite-pulse {
  0% {
    box-shadow: 0 0 0 0
      color-mix(in srgb, var(--suite-success) 50%, transparent);
  }
  70% {
    box-shadow: 0 0 0 0.45rem transparent;
  }
  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}

/* Soft confirm breath — loading chapter (opacity only) */
@keyframes suite-confirm {
  0%,
  100% {
    opacity: 0.35;
  }
  50% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.badge-dot).pulse-dot,
  :is(
      .suite-landing-badge,
      .hero-badge,
      .viking-unified-hero-badge
    )[data-phase="loading"]
    .badge-dot {
    animation: none;
    opacity: 1;
  }

  :is(.showcase-link, .community-showcase-cta):hover {
    transform: none;
  }
}

/* =============================================================================
   Section headers / tags
   ============================================================================= */
:is(
  .suite-landing-section-header,
  .landing__section-header,
  .viking-unified-section-header,
  .quick-start-header,
  .security-pillars-header,
  .pricing-header
) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-2);
  max-width: var(--suite-readable-max);
  margin-bottom: var(--suite-block-gap);
}

:is(.suite-landing-tag, .landing__tag, .section-tag, .strip-label) {
  margin: 0;
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-sm);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  font-weight: var(--suite-weight-medium);
}

:is(
  .suite-landing-section-title,
  .landing__section-title,
  .suite-landing-section-header h2,
  .viking-unified-section-header h2,
  .quick-start-header h2,
  .security-pillars-header h2,
  .pricing-header h2
) {
  margin: 0;
  font-size: var(--suite-text-2xl);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
  color: var(--suite-ink);
  line-height: var(--suite-leading-tight);
  text-wrap: balance;
}

:is(
  .suite-landing-section-lede,
  .landing__section-lede,
  .suite-landing-section-header p,
  .viking-unified-section-header p,
  .quick-start-header p,
  .security-pillars-header p,
  .pricing-header p
) {
  margin: 0;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
  line-height: var(--suite-leading-normal);
  max-width: var(--suite-readable-max);
}

/* Shared type roles */
:is(.suite-eyebrow, .fj-eyebrow) {
  margin: 0;
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-sm);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  color: var(--suite-gold);
  font-weight: var(--suite-weight-medium);
}

:is(.suite-display, .fj-display) {
  margin: 0;
  font-size: var(--suite-text-display);
  font-weight: var(--suite-weight-bold);
  letter-spacing: var(--suite-tracking-tight);
  line-height: var(--suite-leading-tight);
  color: var(--suite-ink);
  text-transform: uppercase;
  text-wrap: balance;
}

:is(.suite-meta, .fj-meta, .suite-muted, .fj-muted) {
  margin: 0;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
}

:is(.suite-error-text, .fj-error) {
  margin: 0;
  color: var(--suite-danger);
  font-size: var(--suite-text-md);
}

/* Panel titles: owned by suite-components.css (triple .suite- / .viking- / .fj-) */

/* =============================================================================
   Steps / grids / features
   ============================================================================= */
:is(.suite-landing-steps, .landing__steps, .quick-start-steps) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-2);
}

@media (min-width: 768px) {
  :is(.suite-landing-steps, .landing__steps, .quick-start-steps) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--suite-space-3);
  }
}

/* 4-up only when each step can stay readable — avoid skinny desktop shrink */
@media (min-width: 1440px) {
  :is(.suite-landing-steps, .landing__steps, .quick-start-steps) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

:is(.suite-landing-step-num, .landing__step-num, .step-number) {
  margin: 0 0 var(--suite-space-2);
  color: var(--suite-primary);
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-sm);
  letter-spacing: var(--suite-tracking-wide);
  font-weight: var(--suite-weight-semibold);
}

:is(.suite-landing-grid, .landing__grid, .community-showcase-grid) {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-2);
}

@media (min-width: 768px) {
  :is(.suite-landing-grid, .landing__grid, .community-showcase-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  :is(.suite-landing-grid, .landing__grid) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

:is(
  .suite-landing-feature,
  .landing__feature,
  .quick-start-step,
  .security-pillar,
  .community-showcase-card,
  .community-resource-link
) {
  display: block;
  min-height: 100%;
}

:is(.suite-landing-feature, .landing__feature, .quick-start-step) p,
:is(.quick-start-step) p,
:is(.security-pillar) span {
  margin: 0;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
  line-height: var(--suite-leading-normal);
}

:is(.quick-start-step) h3,
:is(.security-pillar) strong,
:is(.community-showcase-card) h3 {
  margin: 0 0 var(--suite-space-1);
  color: var(--suite-ink);
  font-size: var(--suite-text-lg);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-tight);
}

/* Cards used as steps get suite card padding if only viking-card */
:is(.quick-start-step, .security-pillar).viking-card:not(.suite-card) {
  /* suite-card already applied when dual-classed */
}

.quick-start-step,
.security-pillar {
  padding: var(--suite-space-3) var(--suite-space-3) var(--suite-space-2);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  box-shadow: var(--suite-elevation-1);
  transition: var(--suite-transition);
}

.quick-start-step:hover,
.quick-start-step:focus-visible,
.security-pillar:hover,
.security-pillar:focus-visible {
  border-color: var(--suite-border-strong);
  background: var(--suite-surface-elevated);
  /* Border/surface only — no lift on dense landing grids */
}

/* forjd-panel / viking-card tiles — hairline + quiet border hover (no lift) */
:is(.suite-landing-feature, .landing__feature)
  :is(.suite-card, .viking-card, .fj-card),
:is(.suite-landing-steps, .landing__steps)
  :is(.suite-landing-feature, .landing__feature)
  :is(.suite-card, .viking-card, .fj-card),
:is(.landing__band-panel) :is(.suite-card, .viking-card, .fj-card) {
  position: relative;
  height: 100%;
  overflow: hidden;
  transition: var(--suite-transition-colors);
}

:is(.suite-landing-feature, .landing__feature)
  :is(.suite-card, .viking-card, .fj-card)::before,
:is(.suite-landing-steps, .landing__steps)
  :is(.suite-landing-feature, .landing__feature)
  :is(.suite-card, .viking-card, .fj-card)::before,
:is(.landing__band-panel) :is(.suite-card, .viking-card, .fj-card)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--suite-primary) 28%, transparent),
    color-mix(in srgb, var(--suite-highlight) 55%, transparent) 40%,
    transparent 85%
  );
  opacity: 0.55;
}

:is(.suite-landing-feature, .landing__feature):hover
  :is(.suite-card, .viking-card, .fj-card),
:is(.suite-landing-steps, .landing__steps)
  :is(.suite-landing-feature, .landing__feature):hover
  :is(.suite-card, .viking-card, .fj-card) {
  border-color: var(--suite-border-strong);
  background: var(--suite-surface-elevated);
}

/* =============================================================================
   Capability bands (copy + metric panel)
   ============================================================================= */
:is(.suite-landing-bands, .landing__bands) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-section-gap);
}

:is(.suite-landing-band, .landing__band, .showcase-band) {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-block-gap);
  align-items: stretch;
}

@media (min-width: 768px) {
  :is(.suite-landing-band, .landing__band, .showcase-band) {
    grid-template-columns: 1.1fr 0.9fr;
    gap: var(--suite-space-8);
  }

  :is(.suite-landing-band, .landing__band)[data-reversed="true"],
  .landing__band--reversed,
  .showcase-band.reversed {
    direction: rtl;
  }

  :is(.suite-landing-band, .landing__band)[data-reversed="true"] > *,
  .landing__band--reversed > *,
  .showcase-band.reversed > * {
    direction: ltr;
  }
}

:is(.suite-landing-band-copy, .landing__band-copy, .showcase-band-copy) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-2);
  justify-content: center;
}

:is(.suite-landing-band-title, .landing__band-title, .showcase-band-copy h2) {
  margin: 0;
  font-size: var(--suite-text-xl);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-ink);
  letter-spacing: var(--suite-tracking-tight);
}

:is(.showcase-band-copy) p {
  margin: 0;
  color: var(--suite-ink-muted);
  line-height: var(--suite-leading-normal);
}

:is(.showcase-link, .community-showcase-cta) {
  display: inline-flex;
  align-items: center;
  gap: var(--suite-space-1);
  margin-top: var(--suite-space-1);
  color: var(--suite-primary);
  font-weight: var(--suite-weight-semibold);
  font-size: var(--suite-text-sm);
  text-decoration: none;
  letter-spacing: var(--suite-tracking-wide);
  transition: var(--suite-transition);
}

:is(.showcase-link, .community-showcase-cta):hover,
:is(.showcase-link, .community-showcase-cta):focus-visible {
  color: var(--suite-primary-hover);
  transform: translateX(var(--suite-nudge));
}

:is(.showcase-link-row) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--suite-space-3);
}

/* Metric panel inside bands */
:is(.suite-landing-metric-list, .landing__metric-list, .visual-metrics) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--suite-density-gap);
}

:is(.suite-landing-metric-list, .landing__metric-list) li,
:is(.visual-metric) {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--suite-space-3);
  border-bottom: 1px solid var(--suite-border);
  padding-block: var(--suite-space-1);
  font-size: var(--suite-text-md);
}

:is(.suite-landing-metric-list, .landing__metric-list) li:first-child,
:is(.visual-metric):first-child {
  padding-top: var(--suite-space-0-5);
}

:is(.suite-landing-metric-list, .landing__metric-list) li:last-child,
:is(.visual-metric):last-child {
  border-bottom: 0;
  padding-bottom: var(--suite-space-0-5);
}

:is(.suite-landing-metric-list, .landing__metric-list) span,
:is(.metric-label) {
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  letter-spacing: var(--suite-tracking-wide);
  text-transform: uppercase;
  font-size: var(--suite-text-xs);
}

:is(.suite-landing-metric-list, .landing__metric-list) strong,
:is(.metric-value) {
  color: var(--suite-ink);
  font-weight: var(--suite-weight-semibold);
  font-variant-numeric: tabular-nums;
}

:is(.visual-panel, .landing__band-panel) {
  min-height: 100%;
}

:is(.visual-panel-header) {
  display: flex;
  align-items: center;
  gap: var(--suite-space-2);
  margin-bottom: var(--suite-space-3);
  color: var(--suite-ink);
  font-weight: var(--suite-weight-semibold);
  font-size: var(--suite-text-sm);
}

/* =============================================================================
   Widget / pricing / community extras (suite DNA)
   ============================================================================= */
:is(.widget-showcase, .pricing-showcase, .security-pillars-band) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-block-gap);
}

:is(.widget-showcase-inner) {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-5);
  align-items: center;
}

@media (min-width: 768px) {
  :is(.widget-showcase-inner) {
    grid-template-columns: 1fr 1fr;
  }
}

:is(.widget-copy) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
}

:is(.embed-code) {
  margin: 0;
  padding: var(--suite-space-3);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-bg-subtle);
  overflow-x: auto;
}

:is(.embed-code) code {
  font-family: var(--suite-font-mono);
  font-size: var(--suite-text-xs);
  color: var(--suite-success);
  word-break: break-all;
}

/* Center copy with the single free-plan card */
:is(.pricing-showcase) {
  align-items: center;
}

:is(.pricing-showcase) .pricing-header {
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: 28rem;
  margin-inline: auto;
}

:is(.pricing-showcase) .pricing-header p {
  max-width: none;
}

:is(.pricing-cards-container) {
  display: grid;
  justify-items: center;
  width: 100%;
}

:is(.pricing-card) {
  padding: var(--suite-space-5);
  border: 1px solid var(--suite-border-strong);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface-elevated);
  /* Focal commercial surface — one step above peer cards */
  box-shadow: var(--suite-elevation-3);
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-3);
  width: 100%;
  max-width: 28rem;
  justify-self: center;
  margin-inline: auto;
}

:is(.pricing-card) h3 {
  margin: 0;
  font-size: var(--suite-text-xl);
  color: var(--suite-ink);
}

:is(.pricing-card) .price {
  font-size: var(--suite-text-4xl);
  font-weight: var(--suite-weight-bold);
  letter-spacing: var(--suite-tracking-tight);
  color: var(--suite-ink);
  font-variant-numeric: tabular-nums;
}

:is(.features-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--suite-space-2);
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
}

:is(.features-list) li {
  display: flex;
  align-items: center;
  gap: var(--suite-space-2);
}

:is(.security-pillars-grid) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--suite-space-2);
}

@media (min-width: 768px) {
  :is(.security-pillars-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

:is(.security-pillar) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-1);
}

/* Community cards */
:is(.community-showcase-card, .community-resource-link) {
  display: flex;
  flex-direction: column;
  gap: var(--suite-density-gap);
  padding: var(--suite-space-3) var(--suite-space-3) var(--suite-space-2);
  border: 1px solid var(--suite-border);
  border-radius: var(--suite-radius-surface);
  background: var(--suite-surface);
  color: inherit;
  text-decoration: none;
  box-shadow: var(--suite-elevation-1);
  transition: var(--suite-transition);
  min-height: 100%;
}

:is(.community-showcase-card):hover,
:is(.community-showcase-card):focus-visible,
:is(.community-resource-link):hover,
:is(.community-resource-link):focus-visible {
  border-color: var(--suite-border-strong);
  box-shadow: var(--suite-elevation-hover);
  background: var(--suite-surface-elevated);
  transform: translateY(var(--suite-hover-lift));
}

:is(.community-showcase-card) p,
:is(.community-resource-link) span {
  margin: 0;
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-md);
  line-height: var(--suite-leading-normal);
}

:is(.community-showcase-card-title) {
  display: flex;
  align-items: center;
  gap: var(--suite-space-2);
}

:is(.community-resource-link) {
  flex-direction: row;
  align-items: center;
}

:is(.community-resource-link) > div {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--suite-space-0-5);
}

:is(.community-resource-link) strong {
  color: var(--suite-ink);
  font-size: var(--suite-text-md);
}

:is(.community-resource-list) {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--suite-space-2);
}

/* =============================================================================
   Meta footer strip — instrument ledger
   ============================================================================= */
:is(.suite-landing-meta, .landing__meta) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--suite-space-3) var(--suite-space-4);
  border-top: 1px solid var(--suite-border);
  padding-top: var(--suite-space-5);
  margin-top: var(--suite-space-3);
  font-size: var(--suite-text-sm);
  position: relative;
  align-items: start;
}

@media (min-width: 600px) {
  :is(.suite-landing-meta, .landing__meta) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--suite-space-3) var(--suite-space-5);
    padding-top: var(--suite-space-6);
  }
}

@media (min-width: 1024px) {
  :is(.suite-landing-meta, .landing__meta) {
    grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
  }

  :is(.suite-landing-meta, .landing__meta) > div + div {
    border-inline-start: 1px solid
      color-mix(in srgb, var(--suite-border) 70%, transparent);
    padding-inline-start: var(--suite-space-4);
  }
}

:is(.suite-landing-meta, .landing__meta)::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: min(100%, 12rem);
  height: 1px;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--suite-primary) 55%, transparent),
    transparent
  );
  opacity: 0.5;
}

:is(.suite-landing-meta, .landing__meta) span {
  display: block;
  color: var(--suite-ink-muted);
  font-family: var(--suite-font-mono);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  font-size: var(--suite-text-xs);
  margin-bottom: var(--suite-space-0-5);
}

:is(.suite-landing-meta, .landing__meta) a,
:is(.suite-landing-meta, .landing__meta) .suite-link,
:is(.suite-landing-meta, .landing__meta) .viking-link,
:is(.suite-landing-meta, .landing__meta) .fj-link {
  display: inline-flex;
  align-items: center;
  min-height: var(--suite-touch);
  color: inherit;
  text-decoration: none;
  border-radius: var(--suite-radius-control);
  transition: var(--suite-transition-colors);
}

:is(.suite-landing-meta, .landing__meta) a:hover code,
:is(.suite-landing-meta, .landing__meta) a:focus-visible code,
:is(.suite-landing-meta, .landing__meta) .suite-link:hover code,
:is(.suite-landing-meta, .landing__meta) .suite-link:focus-visible code,
:is(.suite-landing-meta, .landing__meta) .viking-link:hover code,
:is(.suite-landing-meta, .landing__meta) .viking-link:focus-visible code,
:is(.suite-landing-meta, .landing__meta) .fj-link:hover code,
:is(.suite-landing-meta, .landing__meta) .fj-link:focus-visible code {
  color: var(--suite-primary);
}

:is(.suite-landing-meta, .landing__meta) code {
  color: var(--suite-ink);
  font-family: var(--suite-font-mono);
  word-break: break-all;
}

/*!
 * SUITE BACKEND — Pass 4 operational twin (backend.forjd.co + backend.deml.app)
 * ----------------------------------------------------------------------------
 * Quiet · centered · authoritative. Same tokens as product; no marketing chrome.
 * Dual selectors: .suite-backend-* / .backend-* / .fj-*
 * Docs: SUITE_BACKEND.md
 */

/* =============================================================================
   Document base — void, Inter, zero chrome noise
   ============================================================================= */
:is(
  html:has(.suite-backend-shell),
  html:has(.backend-splash-shell),
  body.suite-backend-splash,
  body.backend-splash,
  body.suite-backend-docs,
  body.backend-swagger,
  body.backend-redoc
) {
  margin: 0;
  min-height: 100%;
  background: var(--suite-bg);
  color: var(--suite-ink);
  font-family: var(--suite-font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Splash: single soft electric bloom — quieter than product landing */
:is(body.suite-backend-splash, body.backend-splash) {
  margin: 0;
  min-height: 100%;
  min-height: 100dvh;
  background:
    radial-gradient(
      55% 42% at 50% 48%,
      color-mix(in srgb, var(--suite-primary) 7%, transparent),
      transparent 68%
    ),
    var(--suite-bg);
  color-scheme: dark;
}

:is(body.suite-backend-docs, body.backend-swagger, body.backend-redoc) {
  margin: 0;
  min-height: 100%;
  background: var(--suite-bg);
  color-scheme: dark;
}

/* =============================================================================
   Splash — perfectly centered logo only
   ============================================================================= */
:is(.suite-backend-shell, .backend-splash-shell) {
  box-sizing: border-box;
  min-height: 100dvh;
  min-height: 100vh;
  width: 100%;
  margin: 0;
  padding: var(--suite-space-6);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* Explicit dual-axis center for all engines */
  place-content: center;
  place-items: center;
  text-align: center;
}

:is(.suite-backend-logo, .backend-splash-logo) {
  display: block;
  width: min(7.5rem, 36vw);
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  margin-block: 0;
  border: 0;
  padding: 0;
  text-decoration: none;
  line-height: 0;
  /* Optical center: logo mark sits dead-center of the viewport */
  transform: translateZ(0);
  filter: drop-shadow(
    0 0 20px color-mix(in srgb, var(--suite-primary) 12%, transparent)
  );
  transition:
    transform var(--suite-duration-fast) var(--suite-ease),
    filter var(--suite-duration-fast) var(--suite-ease);
}

:is(.suite-backend-logo, .backend-splash-logo):hover {
  transform: translateY(var(--suite-hover-lift));
  filter: drop-shadow(
    0 0 26px color-mix(in srgb, var(--suite-primary) 18%, transparent)
  );
}

:is(.suite-backend-logo, .backend-splash-logo):focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
  border-radius: var(--suite-radius);
}

:is(.suite-backend-logo, .backend-splash-logo) img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  border: 0;
  vertical-align: middle;
}

/* Optional quiet product wordmark under mark (when present) */
:is(.suite-backend-wordmark, .backend-splash-wordmark) {
  margin: var(--suite-space-4) 0 0;
  font-family: var(--suite-font-sans);
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  letter-spacing: var(--suite-tracking-brand);
  text-transform: uppercase;
  color: var(--suite-ink-muted);
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  :is(.suite-backend-logo, .backend-splash-logo) {
    transition: none;
  }

  :is(.suite-backend-logo, .backend-splash-logo):hover {
    transform: none;
  }
}

/* =============================================================================
   Docs topbar — thin operational chrome (Swagger / ReDoc)
   ============================================================================= */
:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--suite-space-3);
  flex-wrap: wrap;
  box-sizing: border-box;
  min-height: var(--suite-control-height-lg);
  padding: 0 var(--suite-space-4);
  background: var(--suite-surface);
  border-bottom: 1px solid var(--suite-border);
  font-family: var(--suite-font-sans);
  box-shadow: var(--suite-highlight);
  position: sticky;
  top: 0;
  z-index: var(--suite-z-sticky);
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) > a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-height: var(--suite-touch);
}

:is(
  .suite-backend-brand,
  .backend-docs-brand,
  .fj-topbar .fj-brand,
  .suite-backend-topbar .fj-brand
) {
  font-family: var(--suite-font-mono);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  font-size: var(--suite-text-sm);
  font-weight: var(--suite-weight-semibold);
  color: var(--suite-primary);
  line-height: 1;
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--suite-space-1) var(--suite-space-3);
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) nav a {
  color: var(--suite-ink-muted);
  font-size: var(--suite-text-xs);
  font-family: var(--suite-font-mono);
  letter-spacing: var(--suite-tracking-caps);
  text-transform: uppercase;
  text-decoration: none;
  min-height: var(--suite-touch);
  display: inline-flex;
  align-items: center;
  padding: 0 var(--suite-space-1);
  border-radius: var(--suite-radius);
  transition: color var(--suite-duration-fast) var(--suite-ease);
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar) nav a:hover,
:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar)
  nav
  a:focus-visible {
  color: var(--suite-primary);
}

:is(.suite-backend-topbar, .backend-docs-topbar, .fj-topbar)
  nav
  a:focus-visible {
  outline: var(--suite-ring-width) solid var(--suite-ring);
  outline-offset: var(--suite-ring-offset);
}

/* Docs content well — calm vertical rhythm */
:is(body.suite-backend-docs, body.backend-swagger, body.backend-redoc)
  #swagger-ui,
:is(body.suite-backend-docs, body.backend-swagger, body.backend-redoc) redoc {
  display: block;
  max-width: var(--suite-content-max);
  margin-inline: auto;
  padding: var(--suite-space-4) var(--suite-page-gutter) var(--suite-space-8);
  box-sizing: border-box;
}

/* Swagger opblock chrome — full skin lives in suite-apidocs.css */
:is(body.backend-swagger, body.suite-backend-docs) .swagger-ui .opblock {
  border-radius: var(--suite-radius);
  box-shadow: none;
}
