/*! ScyllaDB Design System v0.5.82 — built 2026-07-29T12:21:22.598Z
 * Bundle: tokens + elements + components + utilities + icon font.
 * Drop-in CSS; fonts in ./fonts/. See README.md. */
@charset "UTF-8";
:root {
  --color-gray-50: oklch(98% 0.007 250);
  --color-gray-100: oklch(95% 0.018 253);
  --color-gray-200: oklch(90% 0.031 256);
  --color-gray-300: oklch(80% 0.045 259);
  --color-gray-400: oklch(69% 0.052 262);
  --color-gray-500: oklch(58% 0.052 265);
  --color-gray-600: oklch(46% 0.053 268);
  --color-gray-700: oklch(32% 0.051 271);
  --color-gray-800: oklch(25% 0.046 274);
  --color-gray-900: oklch(21% 0.039 277);
  --color-gray-950: oklch(16% 0.031 280);
  --color-magenta-50: oklch(97% 0.049 4);
  --color-magenta-100: oklch(93% 0.115 3);
  --color-magenta-200: oklch(87% 0.169 1);
  --color-magenta-300: oklch(77% 0.213 0);
  --color-magenta-400: oklch(68% 0.233 -2);
  --color-magenta-500: oklch(58% 0.245 -3);
  --color-magenta-600: oklch(48% 0.233 -5);
  --color-magenta-700: oklch(40% 0.208 -6);
  --color-magenta-800: oklch(33% 0.171 -8);
  --color-magenta-900: oklch(27% 0.135 -9);
  --color-magenta-950: oklch(20% 0.098 -11);
  --color-purple-50: oklch(97% 0.042 330);
  --color-purple-100: oklch(93% 0.073 327);
  --color-purple-200: oklch(87% 0.116 324);
  --color-purple-300: oklch(78% 0.158 321);
  --color-purple-400: oklch(68% 0.189 318);
  --color-purple-500: oklch(58% 0.210 315);
  --color-purple-600: oklch(48% 0.199 312);
  --color-purple-700: oklch(39% 0.178 309);
  --color-purple-800: oklch(33% 0.147 306);
  --color-purple-900: oklch(27% 0.116 303);
  --color-purple-950: oklch(20% 0.084 300);
  --color-warning-50: oklch(97% 0.034 95);
  --color-warning-100: oklch(93% 0.075 91);
  --color-warning-200: oklch(87% 0.149 86);
  --color-warning-300: oklch(80% 0.203 82);
  --color-warning-400: oklch(74% 0.210 77);
  --color-warning-500: oklch(67% 0.203 73);
  --color-warning-600: oklch(58% 0.185 68);
  --color-warning-700: oklch(50% 0.168 64);
  --color-warning-800: oklch(42% 0.147 59);
  --color-warning-900: oklch(34% 0.116 55);
  --color-warning-950: oklch(27% 0.090 50);
  --color-info-50: oklch(97% 0.018 270);
  --color-info-100: oklch(92% 0.041 268);
  --color-info-200: oklch(84% 0.091 266);
  --color-info-300: oklch(74% 0.155 264);
  --color-info-400: oklch(62% 0.214 262);
  --color-info-500: oklch(52% 0.220 260);
  --color-info-600: oklch(45% 0.194 258);
  --color-info-700: oklch(38% 0.162 256);
  --color-info-800: oklch(32% 0.129 254);
  --color-info-900: oklch(25% 0.091 252);
  --color-info-950: oklch(20% 0.065 250);
  --color-error-50: oklch(97% 0.019 40);
  --color-error-100: oklch(92% 0.044 38);
  --color-error-200: oklch(84% 0.101 36);
  --color-error-300: oklch(73% 0.176 34);
  --color-error-400: oklch(62% 0.201 32);
  --color-error-500: oklch(52% 0.195 30);
  --color-error-600: oklch(44% 0.170 28);
  --color-error-700: oklch(38% 0.138 26);
  --color-error-800: oklch(31% 0.107 24);
  --color-error-900: oklch(25% 0.075 22);
  --color-error-950: oklch(20% 0.053 20);
  --color-success-50: oklch(97% 0.040 140);
  --color-success-100: oklch(93% 0.080 144);
  --color-success-200: oklch(85% 0.159 148);
  --color-success-300: oklch(77% 0.223 152);
  --color-success-400: oklch(69% 0.247 156);
  --color-success-500: oklch(61% 0.223 160);
  --color-success-600: oklch(53% 0.191 164);
  --color-success-700: oklch(45% 0.159 168);
  --color-success-800: oklch(37% 0.120 172);
  --color-success-900: oklch(30% 0.088 176);
  --color-success-950: oklch(24% 0.064 180);
  --color-primary-50: oklch(94% 0.052 210);
  --color-primary-100: oklch(91% 0.084 214);
  --color-primary-200: oklch(87% 0.118 218);
  --color-primary-300: oklch(84% 0.140 222);
  --color-primary-400: oklch(76% 0.125 226);
  --color-primary-500: oklch(64% 0.125 230);
  --color-primary-600: oklch(54% 0.111 234);
  --color-primary-700: oklch(44% 0.091 238);
  --color-primary-800: oklch(37% 0.071 242);
  --color-primary-900: oklch(29% 0.056 246);
  --color-primary-950: oklch(25% 0.038 250);
  --color-secondary-50: oklch(97% 0.012 275);
  --color-secondary-100: oklch(94% 0.032 278);
  --color-secondary-200: oklch(85% 0.064 281);
  --color-secondary-300: oklch(76% 0.099 284);
  --color-secondary-400: oklch(65% 0.098 287);
  --color-secondary-500: oklch(52% 0.108 290);
  --color-secondary-600: oklch(44% 0.098 293);
  --color-secondary-700: oklch(38% 0.086 296);
  --color-secondary-800: oklch(33% 0.077 299);
  --color-secondary-900: oklch(26% 0.050 302);
  --color-secondary-950: oklch(21% 0.036 305);
  --color-accent-50: oklch(97% 0.025 270);
  --color-accent-100: oklch(93% 0.044 270);
  --color-accent-200: oklch(87% 0.069 270);
  --color-accent-300: oklch(78% 0.094 270);
  --color-accent-400: oklch(68% 0.113 270);
  --color-accent-500: oklch(58% 0.125 270);
  --color-accent-600: oklch(45% 0.119 270);
  --color-accent-700: oklch(40% 0.106 270);
  --color-accent-800: oklch(33% 0.086 270);
  --color-accent-900: oklch(27% 0.069 270);
  --color-accent-950: oklch(20% 0.050 270);
  --color-white: oklch(100% 0 0);
  --color-black: oklch(27% 0.016 272);
  --status-todo: #f59e0b;
  --status-done: #10b981;
}

:root {
  --bg-page: var(--color-gray-50);
  --bg-surface: #fff;
  --bg-surface-alt: var(--color-gray-50);
  --bg-overlay: var(--color-gray-50);
  --bg-muted: var(--color-gray-100);
  --bg-accent: var(--color-primary-50);
  --bg-code: var(--color-secondary-50);
  --navigation-bg: transparent;
  --footer-bg: var(--color-gray-900);
  --shadow-color: var(--color-primary-800);
  --text-color: var(--color-gray-600);
  --text-emphasis: var(--color-gray-800);
  --text-muted: var(--color-gray-500);
  --text-disabled: var(--color-gray-400);
  --text-inverse: #fff;
  --text-link: var(--color-primary-600);
  --text-link-hover: var(--color-primary-700);
  --text-code: var(--color-secondary-600);
  --text-on-primary: #fff;
  --border-color: var(--color-gray-200);
  --border-strong: var(--color-gray-300);
  --border-faint: var(--color-gray-100);
  --border-focus: var(--color-primary-400);
  --ring-color: var(--color-primary-200);
  --section-outline-border: var(--color-secondary-300);
  --surface-bg-alt: var(--bg-surface-alt);
  --surface-bg-muted: var(--bg-muted);
  --surface-bg-code: var(--bg-code);
  --surface-text-emphasis: var(--text-emphasis);
  --surface-text-color: var(--text-color);
  --surface-text-muted: var(--text-muted);
  --surface-text-disabled: var(--text-disabled);
  --surface-text-code: var(--text-code);
  --surface-text-link: var(--text-link);
  --surface-text-link-hover: var(--text-link-hover);
  --surface-border-color: var(--border-color);
  --surface-border-strong: var(--border-strong);
  --surface-border-faint: var(--border-faint);
  --surface-section-outline-border: var(--surface-border-color);
  --surface-shadow-color: var(--shadow-color);
  --surface-tab-active-indicator: var(--tab-active-indicator);
  --surface-tab-hover-bg: var(--tab-hover-bg);
  --surface-light-bg: #fff;
  --surface-light-bg-alt: var(--color-gray-50);
  --surface-light-bg-muted: var(--color-gray-100);
  --surface-light-text-emphasis: var(--color-gray-900);
  --surface-light-text-color: var(--color-gray-800);
  --surface-light-text-muted: var(--color-gray-500);
  --surface-light-text-disabled: var(--color-gray-400);
  --surface-light-text-code: var(--color-primary-600);
  --surface-light-border-color: var(--color-gray-300);
  --surface-light-border-strong: var(--color-gray-400);
  --surface-light-border-faint: var(--color-gray-200);
  --surface-light-shadow-color: var(--color-secondary-800);
  --surface-dark-bg: var(--color-gray-900);
  --surface-dark-bg-alt: var(--color-gray-800);
  --surface-dark-bg-muted: var(--color-gray-800);
  --surface-dark-text-emphasis: var(--color-gray-50);
  --surface-dark-text-color: var(--color-gray-200);
  --surface-dark-text-muted: var(--color-gray-400);
  --surface-dark-text-disabled: var(--color-gray-600);
  --surface-dark-text-code: var(--color-secondary-200);
  --surface-dark-border-color: var(--color-gray-700);
  --surface-dark-border-strong: var(--color-gray-600);
  --surface-dark-border-faint: var(--color-gray-800);
  --surface-dark-shadow-color: var(--color-gray-950);
  --nav-text: var(--color-gray-800);
  --nav-text-faint: var(--color-gray-600);
  --nav-text-hover: var(--color-primary-500);
  --nav-hover-bg: var(--color-gray-50);
  --nav-active-bg: var(--color-primary-200);
  --nav-text-active: var(--color-primary-800);
  --nav-text-has-active: var(--color-primary-600);
  --topnav-bg: #fff;
  --topnav-border: var(--color-gray-200);
  --topnav-text: var(--color-gray-800);
  --topnav-text-hover: var(--color-primary-600);
  --topnav-hover-bg: var(--color-gray-100);
  --btn-primary-bg: var(--color-primary-400);
  --btn-primary-hover: var(--color-primary-700);
  --btn-primary-text: #fff;
  --btn-secondary-bg: var(--color-secondary-500);
  --btn-secondary-hover: var(--color-secondary-700);
  --btn-secondary-text: #fff;
  --btn-default-bg: var(--color-gray-200);
  --btn-default-hover: var(--color-gray-300);
  --btn-default-text: var(--color-gray-800);
  --btn-error-bg: var(--color-error-500);
  --btn-error-hover: var(--color-error-700);
  --btn-error-text: #fff;
  --btn-warning-bg: var(--color-warning-500);
  --btn-warning-hover: var(--color-warning-700);
  --btn-warning-text: #fff;
  --btn-info-bg: var(--color-info-500);
  --btn-info-hover: var(--color-info-700);
  --btn-info-text: #fff;
  --btn-success-bg: var(--color-success-500);
  --btn-success-hover: var(--color-success-700);
  --btn-success-text: #fff;
  --btn-light-bg: var(--color-gray-200);
  --btn-light-hover: var(--color-gray-300);
  --btn-light-text: var(--color-gray-800);
  --btn-dark-bg: var(--color-gray-800);
  --btn-dark-hover: var(--color-gray-900);
  --btn-dark-text: #fff;
  --btn-disabled-bg: var(--color-gray-200);
  --btn-disabled-text: var(--color-gray-400);
  --input-bg: var(--color-gray-50);
  --input-border: var(--color-gray-300);
  --input-text: var(--color-gray-900);
  --input-placeholder: var(--color-gray-400);
  --tab-active-indicator: var(--color-primary-300);
  --tab-hover-bg: var(--color-gray-50);
  --status-success: var(--color-success-600);
  --status-success-bg: var(--color-success-50);
  --status-warning: var(--color-warning-600);
  --status-warning-bg: var(--color-warning-50);
  --status-error: var(--color-error-600);
  --status-error-bg: var(--color-error-50);
  --status-info: var(--color-info-600);
  --status-info-bg: var(--color-info-50);
  --status-neutral: var(--color-gray-600);
  --status-neutral-bg: var(--color-gray-100);
  --chart-1: var(--color-primary-500);
  --chart-2: var(--color-secondary-400);
  --chart-3: var(--color-warning-400);
  --chart-4: var(--color-success-500);
  --chart-5: var(--color-info-500);
  --chart-6: var(--color-error-400);
  --chart-7: var(--color-secondary-700);
  --chart-8: var(--color-primary-300);
  --chart-status-success: var(--color-success-400);
  --chart-status-warning: var(--color-warning-400);
  --chart-status-error: var(--color-error-500);
  --chart-status-info: var(--color-info-500);
  --category-purple: var(--color-purple-600);
  --category-purple-bg: var(--color-purple-50);
  --category-magenta: var(--color-magenta-600);
  --category-magenta-bg: var(--color-magenta-50);
  --category-teal: var(--color-primary-600);
  --category-teal-bg: var(--color-primary-50);
  --category-indigo: var(--color-secondary-600);
  --category-indigo-bg: var(--color-secondary-50);
  --pagination-item-text: var(--color-gray-700);
  --pagination-item-hover-bg: var(--color-gray-100);
  --pagination-item-active-bg: var(--color-primary-500);
  --pagination-item-active-text: #fff;
  --icon-scylla-base: var(--glyph-scylla-outline);
  --icon-scylla-surface: var(--glyph-scylla-outline);
  --logo-base: url("./assets/logo/full-horizontal-color.svg");
  --logo-surface: url("./assets/logo/full-horizontal-color.svg");
  --logo-topnav: url("./assets/logo/full-horizontal-color.svg");
  --logo-footer: url("./assets/logo/full-horizontal-color-inv.svg");
}

[data-theme=dark] {
  --bg-page: var(--color-gray-900);
  --bg-surface: var(--color-gray-800);
  --bg-surface-alt: var(--color-gray-900);
  --bg-overlay: var(--color-accent-950);
  --bg-muted: var(--color-gray-900);
  --bg-accent: var(--color-primary-950);
  --bg-code: var(--color-secondary-900);
  --navigation-bg: var(--color-gray-950);
  --shadow-color: #000;
  --text-color: var(--color-gray-100);
  --text-emphasis: var(--color-gray-50);
  --text-muted: var(--color-gray-200);
  --text-disabled: var(--color-gray-600);
  --text-link: var(--color-primary-400);
  --text-link-hover: var(--color-primary-300);
  --text-code: var(--color-secondary-200);
  --border-color: var(--color-gray-700);
  --border-strong: var(--color-gray-600);
  --border-faint: var(--color-gray-800);
  --border-focus: var(--color-primary-500);
  --ring-color: var(--color-primary-800);
  --section-outline-border: var(--color-secondary-500);
  --surface-shadow-color: var(--color-gray-950);
  --nav-text: var(--color-gray-400);
  --nav-text-faint: var(--color-gray-500);
  --nav-text-hover: var(--color-gray-100);
  --nav-hover-bg: var(--color-gray-800);
  --nav-active-bg: var(--color-primary-600);
  --nav-text-active: #fff;
  --nav-text-has-active: var(--color-primary-400);
  --topnav-bg: var(--color-gray-900);
  --topnav-border: var(--color-gray-800);
  --topnav-text: var(--color-gray-200);
  --topnav-text-hover: #fff;
  --topnav-hover-bg: var(--color-gray-800);
  --btn-primary-bg: var(--color-primary-500);
  --btn-primary-hover: var(--color-primary-400);
  --btn-secondary-bg: var(--color-secondary-400);
  --btn-secondary-hover: var(--color-secondary-300);
  --btn-default-bg: var(--color-gray-700);
  --btn-default-hover: var(--color-gray-600);
  --btn-default-text: var(--color-gray-50);
  --btn-error-bg: var(--color-error-400);
  --btn-error-hover: var(--color-error-300);
  --btn-warning-bg: var(--color-warning-400);
  --btn-warning-hover: var(--color-warning-300);
  --btn-warning-text: var(--color-gray-900);
  --btn-info-bg: var(--color-info-400);
  --btn-info-hover: var(--color-info-300);
  --btn-success-bg: var(--color-success-400);
  --btn-success-hover: var(--color-success-300);
  --btn-light-hover: var(--color-gray-100);
  --btn-dark-bg: var(--color-gray-700);
  --btn-dark-hover: var(--color-gray-600);
  --btn-disabled-bg: var(--color-gray-700);
  --btn-disabled-text: var(--color-gray-500);
  --input-bg: var(--color-gray-800);
  --input-border: var(--color-gray-700);
  --input-text: var(--color-gray-100);
  --input-placeholder: var(--color-gray-600);
  --tab-active-indicator: var(--color-secondary-400);
  --tab-hover-bg: var(--color-gray-900);
  --status-success: var(--color-success-400);
  --status-success-bg: var(--color-success-950);
  --status-warning: var(--color-warning-400);
  --status-warning-bg: var(--color-warning-950);
  --status-error: var(--color-error-400);
  --status-error-bg: var(--color-error-950);
  --status-info: var(--color-info-400);
  --status-info-bg: var(--color-info-950);
  --status-neutral: var(--color-gray-400);
  --status-neutral-bg: var(--color-gray-800);
  --chart-1: var(--color-primary-600);
  --chart-2: var(--color-secondary-600);
  --chart-3: var(--color-warning-600);
  --chart-4: var(--color-success-600);
  --chart-5: var(--color-info-600);
  --chart-6: var(--color-error-500);
  --chart-7: var(--color-magenta-500);
  --chart-8: var(--color-purple-500);
  --chart-status-success: var(--color-success-600);
  --chart-status-warning: var(--color-warning-600);
  --chart-status-error: var(--color-error-600);
  --chart-status-info: var(--color-info-600);
  --category-purple: var(--color-purple-400);
  --category-purple-bg: var(--color-purple-950);
  --category-magenta: var(--color-magenta-400);
  --category-magenta-bg: var(--color-magenta-950);
  --category-teal: var(--color-primary-400);
  --category-teal-bg: var(--color-primary-950);
  --category-indigo: var(--color-secondary-400);
  --category-indigo-bg: var(--color-secondary-900);
  --pagination-item-text: var(--color-gray-300);
  --pagination-item-hover-bg: var(--color-gray-800);
  --icon-scylla-base: var(--glyph-scylla-filled);
  --icon-scylla-surface: var(--glyph-scylla-filled);
  --logo-base: url("./assets/logo/full-horizontal-color-inv.svg");
  --logo-topnav: url("./assets/logo/full-horizontal-color-inv.svg");
}

[data-theme=scylla] {
  --bg-page: var(--color-gray-900);
  --bg-surface-alt: var(--color-primary-900);
  --bg-overlay: var(--color-primary-950);
  --bg-muted: var(--color-primary-900);
  --bg-code: var(--color-accent-800);
  --navigation-bg: var(--color-gray-950);
  --text-color: var(--color-gray-100);
  --text-emphasis: #fff;
  --text-muted: var(--color-gray-200);
  --text-disabled: var(--color-primary-500);
  --text-link: var(--color-primary-300);
  --text-code: var(--color-primary-400);
  --border-color: var(--color-gray-600);
  --border-strong: var(--color-gray-400);
  --border-faint: var(--color-gray-800);
  --surface-bg-alt: var(--color-gray-50);
  --surface-bg-muted: var(--color-gray-100);
  --surface-bg-code: var(--color-accent-50);
  --surface-text-emphasis: var(--color-gray-800);
  --surface-text-color: var(--color-gray-700);
  --surface-text-muted: var(--color-gray-500);
  --surface-text-disabled: var(--color-gray-400);
  --surface-text-code: var(--color-primary-600);
  --surface-border-color: var(--color-gray-300);
  --surface-border-strong: var(--color-gray-400);
  --surface-border-faint: var(--color-gray-200);
  --surface-shadow-color: var(--color-secondary-800);
  --surface-tab-hover-bg: var(--color-gray-50);
  --nav-text: var(--color-gray-200);
  --nav-text-faint: var(--color-gray-300);
  --nav-text-hover: var(--color-primary-300);
  --nav-hover-bg: var(--color-primary-800);
  --nav-active-bg: var(--color-primary-500);
  --nav-text-active: #fff;
  --nav-text-has-active: var(--color-primary-400);
  --topnav-border: transparent;
  --topnav-text: var(--color-gray-900);
  --topnav-text-hover: var(--color-accent-700);
  --topnav-hover-bg: var(--color-accent-100);
  --btn-primary-bg: var(--color-primary-300);
  --btn-primary-hover: var(--color-primary-400);
  --btn-primary-text: var(--color-primary-900);
  --tab-active-indicator: var(--color-primary-500);
  --tab-hover-bg: var(--color-primary-900);
  --chart-2: var(--color-secondary-500);
  --chart-3: var(--color-warning-500);
  --chart-6: var(--color-error-500);
  --chart-7: var(--color-magenta-400);
  --chart-status-success: var(--color-success-500);
  --chart-status-warning: var(--color-warning-500);
  --icon-scylla-base: var(--glyph-scylla-filled);
  --logo-base: url("./assets/logo/full-horizontal-color-inv.svg");
}

:root {
  --radius-none: 0;
  --radius-sm: 3px;
  --radius-md: 5px;
  --radius-lg: 7px;
  --radius-xl: 11px;
  --radius-2xl: 17px;
  --radius-full: 9999px;
  --border-w-none: 0;
  --border-w: 1px;
  --border-w-thick: 2px;
}

@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
  :root {
    --border-w: 1.5px;
    --border-w-thick: 3px;
  }
}
:root {
  --spacer-3xs: 0.2875rem;
  --spacer-3xs-px: 4.6px;
  --spacer-2xs: 0.4688rem;
  --spacer-2xs-px: 7.5px;
  --spacer-xs: 0.7625rem;
  --spacer-xs-px: 12.2px;
  --spacer-sm: 1.2375rem;
  --spacer-sm-px: 19.8px;
  --spacer-base: 2rem;
  --spacer-base-px: 32px;
  --spacer-md: 3.2375rem;
  --spacer-md-px: 51.8px;
  --spacer-lg: 5.2375rem;
  --spacer-lg-px: 83.8px;
  --spacer-xl: 8.475rem;
  --spacer-xl-px: 135.6px;
}

:root {
  --shadow-0: none;
  --shadow-1: 0px 1px 2px -1px color-mix(in oklch, var(--shadow-color) 50%, transparent);
  --shadow-2: 0px 2px 12px -4px color-mix(in oklch, var(--shadow-color) 20%, transparent),
            0px 2px 4px -2px color-mix(in oklch, var(--shadow-color) 35%, transparent);
  --shadow-3: 0px 4px 16px -10px color-mix(in oklch, var(--shadow-color) 80%, transparent),
            0px 2px 6px -3px color-mix(in oklch, var(--shadow-color) 40%, transparent);
  --shadow-4: 0px 8px 30px -12px color-mix(in oklch, var(--shadow-color) 25%, transparent),
            0px 4px 12px -6px color-mix(in oklch, var(--shadow-color) 50%, transparent);
  --shadow-5: 0px 10px 30px -12px color-mix(in oklch, var(--shadow-color) 64%, transparent),
            0px 6px 8px -8px color-mix(in oklch, var(--shadow-color) 43%, transparent);
  --shadow-inset: inset 0px 2px 4px -1px color-mix(in oklch, var(--shadow-color) 30%, transparent);
}

.surface, .card, .section, .dropdown, .morph-box, .modal {
  --shadow-0: none;
  --shadow-1: 0px 1px 2px -1px color-mix(in oklch, var(--surface-shadow-color) 50%, transparent);
  --shadow-2: 0px 2px 12px -4px color-mix(in oklch, var(--surface-shadow-color) 20%, transparent),
            0px 2px 4px -2px color-mix(in oklch, var(--surface-shadow-color) 35%, transparent);
  --shadow-3: 0px 4px 16px -10px color-mix(in oklch, var(--surface-shadow-color) 80%, transparent),
            0px 2px 6px -3px color-mix(in oklch, var(--surface-shadow-color) 40%, transparent);
  --shadow-4: 0px 8px 30px -12px color-mix(in oklch, var(--surface-shadow-color) 25%, transparent),
            0px 4px 12px -6px color-mix(in oklch, var(--surface-shadow-color) 50%, transparent);
  --shadow-5: 0px 10px 30px -12px color-mix(in oklch, var(--surface-shadow-color) 64%, transparent),
            0px 6px 8px -8px color-mix(in oklch, var(--surface-shadow-color) 43%, transparent);
  --shadow-inset: inset 0px 2px 4px -1px color-mix(in oklch, var(--surface-shadow-color) 30%, transparent);
}

.shadow-0 {
  box-shadow: var(--shadow-0);
}

.shadow-1 {
  box-shadow: var(--shadow-1);
}

.shadow-2 {
  box-shadow: var(--shadow-2);
}

.shadow-3 {
  box-shadow: var(--shadow-3);
}

.shadow-4 {
  box-shadow: var(--shadow-4);
}

.shadow-5 {
  box-shadow: var(--shadow-5);
}

.shadow-inset {
  box-shadow: var(--shadow-inset);
}

.bg-depth-light {
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'140'%20height%3D'140'%3E%3Cfilter%20id%3D'n'%3E%3CfeTurbulence%20type%3D'fractalNoise'%20baseFrequency%3D'0.65'%20numOctaves%3D'2'%20stitchTiles%3D'stitch'%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D'100%25'%20height%3D'100%25'%20filter%3D'url(%23n)'%20opacity%3D'0.040'%2F%3E%3C%2Fsvg%3E") 0 0/140px 140px repeat, radial-gradient(1400px 800px at 50% 0%, color-mix(in oklch, var(--color-accent-50) 70%, transparent), transparent 85%) center/cover no-repeat fixed, radial-gradient(1600px 900px at 50% 100%, color-mix(in oklch, var(--color-secondary-200) 65%, transparent), transparent 80%) center/cover no-repeat fixed, linear-gradient(180deg, #e8eaf2 0%, #eee9f3 100%) center/cover no-repeat fixed;
}

.bg-depth-dark {
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'140'%20height%3D'140'%3E%3Cfilter%20id%3D'n'%3E%3CfeTurbulence%20type%3D'fractalNoise'%20baseFrequency%3D'0.65'%20numOctaves%3D'2'%20stitchTiles%3D'stitch'%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D'100%25'%20height%3D'100%25'%20filter%3D'url(%23n)'%20opacity%3D'0.060'%2F%3E%3C%2Fsvg%3E") 0 0/140px 140px repeat, radial-gradient(1400px 800px at 50% 0%, color-mix(in oklch, var(--color-accent-900) 95%, transparent), transparent 90%) center/cover no-repeat fixed, radial-gradient(1600px 900px at 50% 100%, color-mix(in oklch, var(--color-secondary-950) 95%, transparent), transparent 85%) center/cover no-repeat fixed, linear-gradient(180deg, #0d0f1e 0%, #0c0a20 100%) center/cover no-repeat fixed;
}

.bg-depth-scylla {
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'140'%20height%3D'140'%3E%3Cfilter%20id%3D'n'%3E%3CfeTurbulence%20type%3D'fractalNoise'%20baseFrequency%3D'0.65'%20numOctaves%3D'2'%20stitchTiles%3D'stitch'%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D'100%25'%20height%3D'100%25'%20filter%3D'url(%23n)'%20opacity%3D'0.060'%2F%3E%3C%2Fsvg%3E") 0 0/140px 140px repeat, radial-gradient(1400px 800px at 50% 0%, color-mix(in oklch, var(--color-info-700) 40%, transparent), transparent 85%) center/cover no-repeat fixed, radial-gradient(1600px 900px at 50% 100%, color-mix(in oklch, var(--color-gray-950) 77%, transparent), transparent 80%) center/cover no-repeat fixed, linear-gradient(180deg, #0a1520 0%, #0d0e2a 100%) center/cover no-repeat fixed;
}

@media (prefers-reduced-motion: reduce) {
  .bg-depth-light {
    background-attachment: scroll;
  }
  .bg-depth-dark {
    background-attachment: scroll;
  }
  .bg-depth-scylla {
    background-attachment: scroll;
  }
}
.bg-page-themed {
  background: var(--page-bg, var(--bg-page));
}

:root {
  --gradient-amber: linear-gradient(160deg, var(--color-warning-300), var(--color-error-400));
  --gradient-ember: linear-gradient(160deg, var(--color-warning-300), var(--color-magenta-500));
  --gradient-sky: linear-gradient(160deg, var(--color-primary-400), var(--color-info-500));
  --gradient-navy: linear-gradient(160deg, var(--color-info-500), var(--color-info-800));
  --gradient-purple: linear-gradient(160deg, var(--color-purple-600), var(--color-info-500));
  --gradient-violet: linear-gradient(160deg, var(--color-magenta-500), var(--color-purple-600));
}

.gradient-amber {
  background: var(--gradient-amber);
}

.gradient-ember {
  background: var(--gradient-ember);
}

.gradient-sky {
  background: var(--gradient-sky);
}

.gradient-navy {
  background: var(--gradient-navy);
}

.gradient-purple {
  background: var(--gradient-purple);
}

.gradient-violet {
  background: var(--gradient-violet);
}

:root {
  interpolate-size: allow-keywords;
  --layout-max-width: 1600px;
  --layout-gutter: var(--spacer-md);
  --layout-col-gap: var(--spacer-base);
  --sidebar-width: 260px;
  --sidebar-width-min: 200px;
  --sidebar-width-max: 420px;
  --sidebar-width-collapsed: 56px;
  --topbar-h: 64px;
  --motion-duration-fast: 140ms;
  --motion-duration-base: 220ms;
  --motion-ease: cubic-bezier(0.2, 0, 0, 1);
  --motion-ease-bounce: cubic-bezier(0.2, 0.9, 0.3, 1.25);
  --scrim: color-mix(in srgb, var(--color-black) 55%, transparent);
  --z-raised: 10;
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-chrome: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1070;
  --z-tooltip: 1080;
  --z-toast: 1090;
  --graph-node: var(--color-primary-500);
  --graph-node-ring: var(--color-primary-200);
  --graph-db: var(--color-secondary-500);
  --graph-cluster-border: var(--border-strong);
  --graph-zone-border: var(--border-color);
  --graph-zone-bg: var(--bg-surface-alt);
  --graph-edge-gossip: var(--border-strong);
  --graph-edge-replication: var(--color-primary-500);
  --graph-edge-client: var(--color-info-500);
  --graph-edge-crossdc: var(--color-secondary-500);
  --graph-edge-private: var(--color-secondary-600);
  --graph-w-thin: 1px;
  --graph-w-base: 1.5px;
  --graph-w-thick: 2.5px;
  --graph-dash-logical: 6 4;
  --graph-dash-optional: 2 4;
  --graph-state-healthy: var(--status-success);
  --graph-state-degraded: var(--status-warning);
  --graph-state-down: var(--status-error);
  --graph-state-joining: var(--status-info);
}

*, *::before, *::after {
  box-sizing: border-box;
}

strong {
  color: var(--text-emphasis);
}

h1 {
  font-size: var(--type-h1-size);
  line-height: var(--type-h1-line-height);
  font-weight: var(--type-h1-weight);
  font-variation-settings: var(--type-h1-fvs);
  margin: 0 0 var(--spacer-2xs);
  color: var(--text-emphasis);
}

h2 {
  font-size: var(--type-h2-size);
  line-height: var(--type-h2-line-height);
  font-weight: var(--type-h2-weight);
  font-variation-settings: var(--type-h2-fvs);
  margin: var(--spacer-base) 0 var(--spacer-xs);
  color: var(--text-emphasis);
}

h3 {
  font-size: var(--type-h3-size);
  line-height: var(--type-h3-line-height);
  font-weight: var(--type-h3-weight);
  font-variation-settings: var(--type-h3-fvs);
  margin: var(--spacer-base) 0 var(--spacer-xs);
  color: var(--text-color);
}

h4 {
  font-size: var(--type-h4-size);
  line-height: var(--type-h4-line-height);
  font-weight: var(--type-h4-weight);
  font-variation-settings: var(--type-h4-fvs);
  margin: var(--spacer-sm) 0 var(--spacer-2xs);
  color: var(--text-color);
}

h5 {
  font-size: var(--type-h5-size);
  line-height: var(--type-h5-line-height);
  font-weight: var(--type-h5-weight);
  font-variation-settings: var(--type-h5-fvs);
  margin: var(--spacer-xs) 0 var(--spacer-3xs);
  color: var(--text-color);
}

h6 {
  font-size: var(--type-h6-size);
  line-height: var(--type-h6-line-height);
  font-weight: var(--type-h6-weight);
  font-variation-settings: var(--type-h6-fvs);
  margin: var(--spacer-xs) 0 var(--spacer-3xs);
  color: var(--text-muted);
}

p {
  color: var(--text-color);
  margin: 0 0 var(--spacer-sm);
}

a {
  color: var(--text-link);
  transition: color var(--motion-duration-fast) ease;
}
a:hover {
  color: var(--text-link-hover);
}

code {
  background: var(--bg-code);
  color: var(--text-code);
  padding: 2px var(--spacer-3xs);
  border-radius: var(--radius-sm);
  font-family: var(--font-mono);
  font-size: var(--type-code-size);
  line-height: var(--type-code-line-height);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

pre code {
  background: none;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
  line-height: inherit;
}

ul, ol {
  padding-left: var(--spacer-sm);
}
ul li, ol li {
  margin-bottom: var(--spacer-xs);
}
ul li:last-child, ol li:last-child {
  margin-bottom: 0;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--spacer-base);
  font-size: var(--type-body-size);
}

th, td {
  text-align: left;
  padding: var(--spacer-xs);
  border-bottom: var(--border-w) solid var(--border-color);
}

th {
  color: var(--text-muted);
  background: var(--bg-muted);
}

th:where(:not(.table-header-cell)) {
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  font-variation-settings: var(--type-small-label-fvs);
  text-transform: var(--type-small-label-text-transform);
  letter-spacing: var(--type-small-label-letter-spacing);
}

td {
  color: var(--text-color);
}

.table-striped tbody tr:nth-child(even) {
  background: var(--bg-surface-alt);
}

.table-hover tbody tr {
  transition: background var(--motion-duration-fast) var(--motion-ease);
}
.table-hover tbody tr:hover {
  background: var(--bg-muted);
}

.table-grid th, .table-grid td {
  border: var(--border-w) solid var(--border-color);
}

.table-surface {
  background: var(--bg-surface);
  color: var(--text-color);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: auto;
  margin-bottom: var(--spacer-base);
}
.table-surface table {
  margin-bottom: 0;
}
.table-surface tr:last-child td {
  border-bottom: none;
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: var(--spacer-base);
}
.table-responsive table {
  margin-bottom: 0;
}

hr {
  border: none;
  border-top: var(--border-w) solid var(--border-color);
  margin: var(--spacer-base) 0;
}

pre.code-block {
  display: block;
  white-space: pre-wrap;
  background: var(--bg-code);
  color: var(--text-code);
  padding: var(--spacer-sm);
  border-radius: var(--radius-md);
  font-family: var(--font-mono);
  font-size: var(--type-code-size);
  line-height: var(--type-code-line-height);
  overflow-x: auto;
  margin-bottom: var(--spacer-base);
}
pre.code-block .c {
  color: color-mix(in oklch, var(--text-code) 55%, transparent);
}
pre.code-block .p {
  color: var(--color-primary-300);
}
pre.code-block .v {
  color: var(--color-warning-300);
}

.info-box {
  background: var(--color-info-50);
  border: var(--border-w) solid var(--color-info-200);
  border-radius: var(--radius-md);
  padding: var(--spacer-sm);
  font-size: var(--type-body-size);
  color: var(--color-info-800);
  margin-bottom: var(--spacer-base);
  line-height: var(--type-body-line-height);
}
.info-box.teal {
  background: var(--color-primary-50);
  border-color: var(--color-primary-200);
  color: var(--color-primary-800);
}

.copied-toast {
  position: fixed;
  bottom: var(--spacer-base);
  left: 50%;
  transform: translateX(-50%) translateY(60px);
  background: var(--color-gray-900);
  color: var(--text-inverse);
  padding: var(--spacer-2xs) var(--spacer-sm);
  border-radius: var(--radius-md);
  font-size: var(--type-body-size);
  font-weight: 500;
  opacity: 0;
  transition: transform var(--motion-duration-base) ease, opacity var(--motion-duration-base) ease;
  z-index: var(--z-toast);
  pointer-events: none;
}
.copied-toast.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

.toast-stack {
  position: fixed;
  bottom: var(--spacer-base);
  right: var(--spacer-base);
  z-index: var(--z-toast);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--spacer-2xs);
  pointer-events: none;
}

.toast-item {
  background: var(--color-gray-900);
  border: var(--border-w) solid var(--color-gray-700);
  border-radius: var(--radius-md);
  padding: var(--spacer-xs) var(--spacer-sm);
  font-size: var(--type-body-size);
  font-weight: 500;
  color: var(--color-white);
  pointer-events: auto;
  animation: toast-in var(--motion-duration-base) var(--motion-ease);
}
.toast-item.leaving {
  animation: toast-out var(--motion-duration-base) var(--motion-ease) forwards;
}

@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateY(60%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes toast-out {
  to {
    opacity: 0;
    transform: translateY(40%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .toast-item, .toast-item.leaving {
    animation: none;
  }
}
.toast, .pg-toast, .te-toast {
  position: fixed;
  bottom: var(--spacer-base);
  right: var(--spacer-base);
  background: var(--color-gray-900);
  border: var(--border-w) solid var(--color-gray-700);
  border-radius: var(--radius-md);
  padding: var(--spacer-xs) var(--spacer-sm);
  font-size: var(--type-body-size);
  color: var(--text-inverse);
  opacity: 0;
  transform: translateY(var(--spacer-2xs));
  transition: all var(--motion-duration-base);
  z-index: var(--z-tooltip);
  pointer-events: none;
}
.toast.show, .pg-toast.show, .te-toast.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

:root {
  --scrollbar-size: 10px;
  --scrollbar-radius: 8px;
  --scrollbar-track: transparent;
  --scrollbar-thumb: var(--border-strong);
  --scrollbar-thumb-hover: var(--color-primary-300);
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

*::-webkit-scrollbar {
  width: var(--scrollbar-size);
  height: var(--scrollbar-size);
}

*::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}

*::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: var(--scrollbar-radius);
  border: 2px solid transparent;
  background-clip: padding-box;
}
*::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
  background-clip: padding-box;
}

*::-webkit-scrollbar-corner {
  background: transparent;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacer-2xs);
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-family: var(--font-family);
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  transition: background var(--motion-duration-fast) var(--motion-ease), color var(--motion-duration-fast) var(--motion-ease), border-color var(--motion-duration-fast) var(--motion-ease), box-shadow var(--motion-duration-fast) var(--motion-ease), opacity var(--motion-duration-fast) var(--motion-ease);
}
.btn:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}
.btn {
  font-size: var(--type-btn-md-size);
  line-height: var(--type-btn-md-line-height);
  font-weight: var(--type-btn-md-weight);
  font-variation-settings: var(--type-btn-md-fvs);
  padding: var(--spacer-2xs) var(--spacer-sm);
}
.btn--lg {
  font-size: var(--type-btn-lg-size);
  line-height: var(--type-btn-lg-line-height);
  font-weight: var(--type-btn-lg-weight);
  font-variation-settings: var(--type-btn-lg-fvs);
  padding: var(--spacer-2xs) var(--spacer-base);
}
.btn--sm {
  font-size: var(--type-btn-sm-size);
  line-height: var(--type-btn-sm-line-height);
  font-weight: var(--type-btn-sm-weight);
  font-variation-settings: var(--type-btn-sm-fvs);
  padding: var(--spacer-2xs) var(--spacer-xs);
}
.btn--xs {
  font-size: var(--type-btn-xs-size);
  line-height: var(--type-btn-xs-line-height);
  font-weight: var(--type-btn-xs-weight);
  font-variation-settings: var(--type-btn-xs-fvs);
  padding: var(--spacer-3xs) var(--spacer-2xs);
}
.btn--icon {
  gap: 0;
  aspect-ratio: 1;
  padding: var(--spacer-2xs);
}
.btn--icon .sb-item-icon, .btn--icon .btn-icon, .btn--icon [class^=icon-], .btn--icon [class*=" icon-"] {
  font-size: 1.15em;
}
.btn--fab {
  gap: 0;
  aspect-ratio: 1;
  padding: var(--spacer-xs);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-3);
}
.btn--fab:hover {
  box-shadow: var(--shadow-4);
}
.btn--fab [class^=icon-], .btn--fab [class*=" icon-"] {
  font-size: 1.25em;
}
.btn .btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
}
.btn .btn-icon svg {
  width: 100%;
  height: 100%;
}

.btn {
  background: var(--btn-default-bg);
  color: var(--btn-default-text);
}
.btn:hover {
  background: var(--btn-default-hover);
  color: var(--btn-default-text);
}

.btn--primary {
  background: var(--btn-primary-bg);
  color: var(--btn-primary-text);
}
.btn--primary:hover {
  background: var(--btn-primary-hover);
  color: var(--btn-primary-text);
}

.btn--default {
  background: var(--btn-default-bg);
  color: var(--btn-default-text);
}
.btn--default:hover {
  background: var(--btn-default-hover);
  color: var(--btn-default-text);
}

.btn--secondary {
  background: var(--btn-secondary-bg);
  color: var(--btn-secondary-text);
}
.btn--secondary:hover {
  background: var(--btn-secondary-hover);
  color: var(--btn-secondary-text);
}

.btn--error {
  background: var(--btn-error-bg);
  color: var(--btn-error-text);
}
.btn--error:hover {
  background: var(--btn-error-hover);
  color: var(--btn-error-text);
}

.btn--warning {
  background: var(--btn-warning-bg);
  color: var(--btn-warning-text);
}
.btn--warning:hover {
  background: var(--btn-warning-hover);
  color: var(--btn-warning-text);
}

.btn--info {
  background: var(--btn-info-bg);
  color: var(--btn-info-text);
}
.btn--info:hover {
  background: var(--btn-info-hover);
  color: var(--btn-info-text);
}

.btn--success {
  background: var(--btn-success-bg);
  color: var(--btn-success-text);
}
.btn--success:hover {
  background: var(--btn-success-hover);
  color: var(--btn-success-text);
}

.btn--light {
  background: var(--btn-light-bg);
  color: var(--btn-light-text);
}
.btn--light:hover {
  background: var(--btn-light-hover);
  color: var(--btn-light-text);
}

.btn--dark {
  background: var(--btn-dark-bg);
  color: var(--btn-dark-text);
}
.btn--dark:hover {
  background: var(--btn-dark-hover);
  color: var(--btn-dark-text);
}

.btn--outlined,
.btn--outlined.btn--default {
  background: transparent;
  border: var(--border-w) solid var(--btn-default-bg);
  color: var(--btn-default-bg);
}
.btn--outlined:hover,
.btn--outlined.btn--default:hover {
  background: color-mix(in oklch, var(--btn-default-bg) 8%, transparent);
  border-color: var(--btn-default-hover);
  color: var(--btn-default-hover);
}
.btn--outlined,
.btn--outlined.btn--default {
  color: var(--btn-default-text);
}
.btn--outlined:hover,
.btn--outlined.btn--default:hover {
  color: var(--btn-default-text);
}

.btn--outlined.btn--primary {
  background: transparent;
  border: var(--border-w) solid var(--btn-primary-bg);
  color: var(--btn-primary-bg);
}
.btn--outlined.btn--primary:hover {
  background: color-mix(in oklch, var(--btn-primary-bg) 8%, transparent);
  border-color: var(--btn-primary-hover);
  color: var(--btn-primary-hover);
}

.btn--outlined.btn--secondary {
  background: transparent;
  border: var(--border-w) solid var(--btn-secondary-bg);
  color: var(--btn-secondary-bg);
}
.btn--outlined.btn--secondary:hover {
  background: color-mix(in oklch, var(--btn-secondary-bg) 8%, transparent);
  border-color: var(--btn-secondary-hover);
  color: var(--btn-secondary-hover);
}

.btn--outlined.btn--error {
  background: transparent;
  border: var(--border-w) solid var(--btn-error-bg);
  color: var(--btn-error-bg);
}
.btn--outlined.btn--error:hover {
  background: color-mix(in oklch, var(--btn-error-bg) 8%, transparent);
  border-color: var(--btn-error-hover);
  color: var(--btn-error-hover);
}

.btn--outlined.btn--warning {
  background: transparent;
  border: var(--border-w) solid var(--btn-warning-bg);
  color: var(--btn-warning-bg);
}
.btn--outlined.btn--warning:hover {
  background: color-mix(in oklch, var(--btn-warning-bg) 8%, transparent);
  border-color: var(--btn-warning-hover);
  color: var(--btn-warning-hover);
}

.btn--outlined.btn--info {
  background: transparent;
  border: var(--border-w) solid var(--btn-info-bg);
  color: var(--btn-info-bg);
}
.btn--outlined.btn--info:hover {
  background: color-mix(in oklch, var(--btn-info-bg) 8%, transparent);
  border-color: var(--btn-info-hover);
  color: var(--btn-info-hover);
}

.btn--outlined.btn--success {
  background: transparent;
  border: var(--border-w) solid var(--btn-success-bg);
  color: var(--btn-success-bg);
}
.btn--outlined.btn--success:hover {
  background: color-mix(in oklch, var(--btn-success-bg) 8%, transparent);
  border-color: var(--btn-success-hover);
  color: var(--btn-success-hover);
}

.btn--outlined.btn--light {
  background: transparent;
  border: var(--border-w) solid var(--btn-light-bg);
  color: var(--btn-light-bg);
}
.btn--outlined.btn--light:hover {
  background: color-mix(in oklch, var(--btn-light-bg) 8%, transparent);
  border-color: var(--btn-light-hover);
  color: var(--btn-light-hover);
}

.btn--outlined.btn--dark {
  background: transparent;
  border: var(--border-w) solid var(--btn-dark-bg);
  color: var(--btn-dark-bg);
}
.btn--outlined.btn--dark:hover {
  background: color-mix(in oklch, var(--btn-dark-bg) 8%, transparent);
  border-color: var(--btn-dark-hover);
  color: var(--btn-dark-hover);
}

.btn--text {
  background: transparent;
  border: none;
  color: var(--btn-default-text);
}
.btn--text:hover {
  background: color-mix(in oklch, var(--btn-default-text) 8%, transparent);
  color: var(--btn-default-text);
}

.btn--text.btn--primary {
  background: transparent;
  border: none;
  color: var(--btn-primary-bg);
}
.btn--text.btn--primary:hover {
  background: color-mix(in oklch, var(--btn-primary-bg) 8%, transparent);
  color: var(--btn-primary-hover);
}

.btn--text.btn--default {
  background: transparent;
  border: none;
  color: var(--btn-default-text);
}
.btn--text.btn--default:hover {
  background: color-mix(in oklch, var(--btn-default-text) 8%, transparent);
  color: var(--btn-default-text);
}

.btn--text.btn--secondary {
  background: transparent;
  border: none;
  color: var(--btn-secondary-bg);
}
.btn--text.btn--secondary:hover {
  background: color-mix(in oklch, var(--btn-secondary-bg) 8%, transparent);
  color: var(--btn-secondary-hover);
}

.btn--text.btn--error {
  background: transparent;
  border: none;
  color: var(--btn-error-bg);
}
.btn--text.btn--error:hover {
  background: color-mix(in oklch, var(--btn-error-bg) 8%, transparent);
  color: var(--btn-error-hover);
}

.btn--text.btn--warning {
  background: transparent;
  border: none;
  color: var(--btn-warning-bg);
}
.btn--text.btn--warning:hover {
  background: color-mix(in oklch, var(--btn-warning-bg) 8%, transparent);
  color: var(--btn-warning-hover);
}

.btn--text.btn--info {
  background: transparent;
  border: none;
  color: var(--btn-info-bg);
}
.btn--text.btn--info:hover {
  background: color-mix(in oklch, var(--btn-info-bg) 8%, transparent);
  color: var(--btn-info-hover);
}

.btn--text.btn--success {
  background: transparent;
  border: none;
  color: var(--btn-success-bg);
}
.btn--text.btn--success:hover {
  background: color-mix(in oklch, var(--btn-success-bg) 8%, transparent);
  color: var(--btn-success-hover);
}

.btn--text.btn--light {
  background: transparent;
  border: none;
  color: var(--btn-light-bg);
}
.btn--text.btn--light:hover {
  background: color-mix(in oklch, var(--btn-light-bg) 8%, transparent);
  color: var(--btn-light-hover);
}

.btn--text.btn--dark {
  background: transparent;
  border: none;
  color: var(--btn-dark-bg);
}
.btn--text.btn--dark:hover {
  background: color-mix(in oklch, var(--btn-dark-bg) 8%, transparent);
  color: var(--btn-dark-hover);
}

.btn:disabled,
.btn[aria-disabled=true] {
  background: var(--btn-disabled-bg);
  color: var(--btn-disabled-text);
  border-color: transparent;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}
.btn:disabled.btn--outlined,
.btn[aria-disabled=true].btn--outlined {
  background: transparent;
  border-color: var(--btn-disabled-bg);
  color: var(--btn-disabled-text);
}
.btn:disabled.btn--text,
.btn[aria-disabled=true].btn--text {
  background: transparent;
  border: none;
  color: var(--btn-disabled-text);
}

.btn--loading {
  color: transparent !important;
  pointer-events: none;
}
.btn--loading::after {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: var(--radius-full);
  animation: btn-spin 600ms linear infinite;
}
.btn--loading::after {
  border-color: var(--btn-default-text);
  border-right-color: transparent;
}
.btn--loading.btn--primary::after {
  border-color: var(--btn-primary-text);
  border-right-color: transparent;
}
.btn--loading.btn--outlined::after, .btn--loading.btn--text::after {
  border-color: var(--btn-primary-bg);
  border-right-color: transparent;
}

@keyframes btn-spin {
  to {
    transform: rotate(360deg);
  }
}
.btn-demo-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacer-2xs);
}

.btn-demo-grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-xs);
}

.btn-matrix th, .btn-matrix td {
  vertical-align: middle;
}
.btn-matrix th:not(:first-child),
.btn-matrix td:not(:first-child) {
  text-align: center;
}

.form-field {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.form-input {
  background: var(--input-bg);
  border: none;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-inset);
  font-family: var(--font-family);
  color: var(--input-text);
  outline: none;
  transition: box-shadow 150ms ease;
  width: 100%;
  padding: 22px var(--spacer-xs) var(--spacer-2xs);
  font-size: var(--type-input-value-size);
  line-height: var(--type-input-value-line-height);
  font-weight: var(--type-input-value-weight);
  font-variation-settings: var(--type-input-value-fvs);
  appearance: none;
}
.form-input::placeholder {
  color: transparent;
}
.form-input:focus {
  box-shadow: 0 0 0 2px var(--border-focus), var(--shadow-inset);
}
.form-input--textarea {
  resize: vertical;
  min-height: 100px;
}

.form-label {
  position: absolute;
  left: var(--spacer-xs);
  top: 50%;
  transform: translateY(-50%);
  transform-origin: left top;
  font-family: var(--font-family);
  font-size: var(--type-input-value-size);
  line-height: 1;
  color: var(--text-muted);
  pointer-events: none;
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1), font-size 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.form-input--textarea ~ .form-label {
  top: 16px;
  transform: translateY(0);
}

.form-input:focus + .form-label,
.form-input:not(:placeholder-shown) + .form-label {
  top: 8px;
  transform: translateY(0);
  font-size: var(--type-input-label-size);
  font-weight: var(--type-input-label-weight);
  font-variation-settings: var(--type-input-label-fvs);
}

.form-input:focus + .form-label {
  color: var(--text-link);
}

.form-input:not(:placeholder-shown) + .form-label {
  color: var(--text-muted);
}

select.form-input {
  padding-right: calc(var(--spacer-xs) + 24px);
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%234b546f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--spacer-xs) center;
}

select.form-input + .form-label {
  top: 8px;
  transform: translateY(0);
  font-size: var(--type-input-label-size);
  font-weight: var(--type-input-label-weight);
  font-variation-settings: var(--type-input-label-fvs);
  color: var(--text-muted);
}

select.form-input:focus + .form-label {
  color: var(--text-link);
}

.form-helper {
  display: block;
  padding: 3px var(--spacer-xs) 0;
  font-family: var(--font-family);
  font-size: var(--type-body-small-size);
  line-height: 1.66;
  color: var(--text-muted);
}

.form-field--sm .form-input {
  padding: 18px var(--spacer-xs) var(--spacer-3xs);
}

.form-field--sm .form-label {
  top: 50%;
}

.form-field--sm .form-input:focus + .form-label,
.form-field--sm .form-input:not(:placeholder-shown) + .form-label,
.form-field--sm select.form-input + .form-label {
  top: 6px;
}

.form-field--compact {
  gap: var(--spacer-3xs);
}

.form-input--compact {
  padding: var(--spacer-3xs) var(--spacer-2xs);
  font-size: var(--type-body-size);
  line-height: var(--type-body-line-height);
}

select.form-input--compact {
  padding-right: calc(var(--spacer-2xs) + 20px);
}

.form-label-static {
  font-family: var(--font-family);
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  font-variation-settings: var(--type-small-label-fvs);
  text-transform: var(--type-small-label-text-transform);
  letter-spacing: var(--type-small-label-letter-spacing);
  color: var(--text-muted);
}

.form-field--error .form-input {
  box-shadow: 0 0 0 2px var(--status-error), var(--shadow-inset);
}

.form-field--error .form-input + .form-label,
.form-field--error .form-input:focus + .form-label {
  color: var(--status-error);
}

.form-field--error .form-helper {
  color: var(--status-error);
}

.form-field--disabled .form-input,
.form-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  box-shadow: var(--shadow-inset);
}

.form-input:disabled + .form-label {
  color: var(--text-disabled);
}

.form-input[type=search]::-webkit-search-cancel-button,
.form-input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.input-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  padding: 0;
  color: var(--text-muted);
  transition: color var(--motion-duration-fast) var(--motion-ease), background-color var(--motion-duration-fast) var(--motion-ease);
}
.input-clear:hover {
  color: var(--status-error);
  background-color: color-mix(in srgb, var(--status-error) 8%, transparent);
}

.input-demo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--spacer-xs);
  align-items: start;
}

.input-demo-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacer-xs);
  align-items: start;
}

.checkbox,
.radio,
.toggle {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--spacer-2xs);
  cursor: pointer;
  color: var(--text-color);
  font-size: var(--type-body-size);
  line-height: var(--type-body-line-height);
}
.checkbox input,
.radio input,
.toggle input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.checkbox:has(input:disabled),
.radio:has(input:disabled),
.toggle:has(input:disabled) {
  cursor: not-allowed;
  opacity: 0.55;
}

.choice-label {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.choice-desc {
  font-size: var(--type-body-small-size);
  color: var(--text-muted);
}

.checkbox-box {
  flex-shrink: 0;
  width: var(--spacer-sm);
  height: var(--spacer-sm);
  margin-top: 2px;
  border-radius: var(--radius-sm);
  background: var(--input-bg);
  box-shadow: var(--shadow-inset);
  position: relative;
  transition: background var(--motion-duration-fast) var(--motion-ease);
}
.checkbox-box::after {
  content: "";
  position: absolute;
  opacity: 0;
  transition: opacity var(--motion-duration-fast) var(--motion-ease), transform var(--motion-duration-fast) cubic-bezier(0.22, 0.61, 0.36, 1);
}

.checkbox input:checked + .checkbox-box {
  background: var(--btn-primary-bg);
  box-shadow: none;
}
.checkbox input:checked + .checkbox-box::after {
  opacity: 1;
  left: 50%;
  top: 46%;
  width: 30%;
  height: 55%;
  border: solid var(--btn-primary-text);
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.checkbox input:indeterminate + .checkbox-box {
  background: var(--btn-primary-bg);
  box-shadow: none;
}
.checkbox input:indeterminate + .checkbox-box::after {
  opacity: 1;
  left: 25%;
  top: calc(50% - 1px);
  width: 50%;
  height: 2px;
  background: var(--btn-primary-text);
  transform: none;
}

.radio-dot {
  flex-shrink: 0;
  width: var(--spacer-sm);
  height: var(--spacer-sm);
  margin-top: 2px;
  border-radius: 50%;
  background: var(--input-bg);
  box-shadow: var(--shadow-inset);
  position: relative;
  transition: background var(--motion-duration-fast) var(--motion-ease);
}
.radio-dot::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 40%;
  height: 40%;
  border-radius: 50%;
  background: var(--btn-primary-text);
  transform: scale(0);
  transition: transform var(--motion-duration-fast) cubic-bezier(0.22, 0.61, 0.36, 1);
}

.radio input:checked + .radio-dot {
  background: var(--btn-primary-bg);
  box-shadow: none;
}
.radio input:checked + .radio-dot::after {
  transform: scale(1);
}

.toggle {
  align-items: center;
}

.toggle-track {
  flex-shrink: 0;
  width: calc(var(--spacer-sm) * 2.2);
  height: calc(var(--spacer-sm) + 4px);
  border-radius: var(--spacer-sm);
  background: var(--input-bg);
  box-shadow: var(--shadow-inset);
  position: relative;
  transition: background var(--motion-duration-fast) var(--motion-ease);
}
.toggle-track::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: var(--spacer-sm);
  height: var(--spacer-sm);
  border-radius: 50%;
  background: var(--color-secondary-600);
  transform: scale(0.85);
  transition: transform var(--motion-duration-fast) cubic-bezier(0.22, 0.61, 0.36, 1), left var(--motion-duration-fast) cubic-bezier(0.22, 0.61, 0.36, 1), background var(--motion-duration-fast) var(--motion-ease);
}

.toggle:hover input:not(:disabled) + .toggle-track::after {
  transform: scale(1);
}

.toggle input:active:not(:disabled) + .toggle-track::after {
  background: var(--color-secondary-400);
}

.toggle input:checked + .toggle-track {
  background: color-mix(in srgb, var(--btn-primary-bg) 30%, var(--input-bg));
}
.toggle input:checked + .toggle-track::after {
  left: calc(100% - var(--spacer-sm) - 2px);
}

.toggle input:disabled + .toggle-track::after {
  background: var(--text-disabled);
  transform: scale(0.7);
}

.checkbox input:focus-visible + .checkbox-box,
.radio input:focus-visible + .radio-dot,
.toggle input:focus-visible + .toggle-track {
  outline: 2px solid var(--border-focus);
  outline-offset: 2px;
}

.choice-group {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-2xs);
}
.choice-group--row {
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--spacer-sm);
}
.choice-group--error .checkbox-box,
.choice-group--error .radio-dot,
.choice-group--error .toggle-track {
  box-shadow: var(--shadow-inset), 0 0 0 1px var(--status-error);
}

.choice-group-error {
  font-size: var(--type-body-small-size);
  color: var(--status-error);
}

.alert {
  --alert-accent: var(--status-info);
  --alert-bg: var(--status-info-bg);
}
.alert[hidden] {
  display: none;
}
.alert {
  display: flex;
  align-items: flex-start;
  gap: var(--spacer-2xs);
  padding: var(--spacer-xs) var(--spacer-sm);
  border: var(--border-w) solid color-mix(in oklch, var(--alert-accent) 35%, transparent);
  border-radius: var(--radius-md);
  background: var(--alert-bg);
  color: var(--alert-accent);
  font-size: var(--type-body-size);
  line-height: var(--type-body-line-height);
  margin-bottom: var(--spacer-base);
}
.alert a {
  color: inherit;
  text-decoration: underline;
}
.alert strong, .alert .alert-title {
  color: inherit;
}

.alert--info {
  --alert-accent: var(--status-info);
  --alert-bg: var(--status-info-bg);
}

.alert--success {
  --alert-accent: var(--status-success);
  --alert-bg: var(--status-success-bg);
}

.alert--warning {
  --alert-accent: var(--status-warning);
  --alert-bg: var(--status-warning-bg);
}

.alert--error {
  --alert-accent: var(--status-error);
  --alert-bg: var(--status-error-bg);
}

.alert--primary {
  --alert-accent: var(--color-primary-600);
  --alert-bg: color-mix(in oklch, var(--color-primary-600) 10%, transparent);
}

.alert-icon {
  flex-shrink: 0;
  margin-top: 2px;
}

.alert-body {
  flex: 1;
  min-width: 0;
}

.alert-title {
  font-weight: 600;
  margin-bottom: 2px;
}

.alert-close {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 2px;
  margin: 0 calc(var(--spacer-3xs) * -1);
  border-radius: var(--radius-sm);
  line-height: 0;
  opacity: 0.7;
  transition: opacity var(--motion-duration-fast) var(--motion-ease), background var(--motion-duration-fast) var(--motion-ease);
}
.alert-close:hover {
  opacity: 1;
  background: color-mix(in oklch, var(--alert-accent) 14%, transparent);
}

.tooltip-wrap {
  position: relative;
  display: inline-flex;
}

.tooltip {
  position: absolute;
  z-index: var(--z-tooltip);
  background: var(--color-gray-900);
  border: var(--border-w) solid var(--color-gray-700);
  border-radius: var(--radius-sm);
  padding: var(--spacer-3xs) var(--spacer-2xs);
  font-size: var(--type-body-small-size);
  line-height: var(--type-body-small-line-height, 1.3);
  font-weight: 500;
  color: var(--color-white);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--motion-duration-fast) var(--motion-ease), transform var(--motion-duration-fast) var(--motion-ease);
}
.tooltip, .tooltip--top {
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translate(-50%, 4px);
}
.tooltip--bottom {
  bottom: auto;
  top: calc(100% + 6px);
  left: 50%;
  transform: translate(-50%, -4px);
}
.tooltip--left {
  bottom: auto;
  left: auto;
  right: calc(100% + 6px);
  top: 50%;
  transform: translate(4px, -50%);
}
.tooltip--right {
  bottom: auto;
  left: calc(100% + 6px);
  top: 50%;
  transform: translate(-4px, -50%);
}

.tooltip-wrap:hover > .tooltip,
.tooltip-wrap:focus-within > .tooltip {
  opacity: 1;
}
.tooltip-wrap:hover > .tooltip, .tooltip-wrap:hover > .tooltip--top,
.tooltip-wrap:focus-within > .tooltip,
.tooltip-wrap:focus-within > .tooltip--top {
  transform: translate(-50%, 0);
}
.tooltip-wrap:hover > .tooltip--bottom,
.tooltip-wrap:focus-within > .tooltip--bottom {
  transform: translate(-50%, 0);
}
.tooltip-wrap:hover > .tooltip--left, .tooltip-wrap:hover > .tooltip--right,
.tooltip-wrap:focus-within > .tooltip--left,
.tooltip-wrap:focus-within > .tooltip--right {
  transform: translate(0, -50%);
}

@media (prefers-reduced-motion: reduce) {
  .tooltip {
    transition: opacity var(--motion-duration-fast) var(--motion-ease);
  }
}
.tooltip--floating {
  position: fixed;
  inset: auto;
  display: block;
  opacity: 1;
  padding: var(--spacer-2xs) var(--spacer-sm);
  transform: var(--tt-t) scale(1);
  transform-origin: var(--tt-o, center);
  animation: tooltip-pop var(--motion-duration-fast) var(--motion-ease);
}

.tooltip--floating.tooltip--top {
  --tt-t: translate(-50%, -100%);
  --tt-o: bottom center;
}

.tooltip--floating.tooltip--bottom {
  --tt-t: translate(-50%, 0);
  --tt-o: top center;
}

.tooltip--floating.tooltip--left {
  --tt-t: translate(-100%, -50%);
  --tt-o: right center;
}

.tooltip--floating.tooltip--right {
  --tt-t: translate(0, -50%);
  --tt-o: left center;
}

@keyframes tooltip-pop {
  0% {
    opacity: 0;
    transform: var(--tt-t) scale(0.9);
  }
  60% {
    opacity: 1;
    transform: var(--tt-t) scale(1.02);
  }
  100% {
    opacity: 1;
    transform: var(--tt-t) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .tooltip--floating {
    animation: none;
  }
}
.card {
  text-decoration: none;
  background: var(--bg-surface);
  border: var(--border-w) solid transparent;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-2);
  display: flex;
  flex-direction: column;
}
.card > :first-child {
  border-top-left-radius: calc(var(--radius-md) - var(--border-w));
  border-top-right-radius: calc(var(--radius-md) - var(--border-w));
}
.card > :last-child {
  border-bottom-left-radius: calc(var(--radius-md) - var(--border-w));
  border-bottom-right-radius: calc(var(--radius-md) - var(--border-w));
}
.card-section {
  padding: var(--spacer-sm) var(--spacer-base);
  color: var(--text-color);
}
.card-section:last-of-type {
  flex-grow: 1;
}
.card-section--shaded {
  background: var(--bg-surface-alt);
}
.card-section + .card-section {
  border-top: var(--border-w) solid var(--border-faint);
}
.card-divider {
  height: 0;
  border: none;
  border-top: var(--border-w) solid var(--border-faint);
  margin: 0;
}
.card--xs .card-section {
  padding: var(--spacer-2xs) var(--spacer-xs);
}
.card--sm .card-section {
  padding: var(--spacer-xs) var(--spacer-sm);
}
.card--lg .card-section {
  padding: var(--spacer-base) var(--spacer-md);
}
.card--flush .card-section {
  padding: 0;
}
.card--dashed {
  border-style: dashed;
  border-color: var(--border-color);
}
.card--gradient-border {
  border-color: transparent;
  background: linear-gradient(var(--bg-surface) 0 0) padding-box, var(--surface-gradient, var(--gradient-sky)) border-box;
}
.card--gradient-glow {
  position: relative;
  isolation: isolate;
  box-shadow: none;
}
.card--gradient-glow::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  border-radius: inherit;
  background: var(--surface-gradient, var(--gradient-sky));
  filter: blur(var(--spacer-xs));
  opacity: 0.6;
}
.card--gradient-glow::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: inherit;
  border-radius: inherit;
  background: var(--bg-surface);
}
.card .card-section--fill {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.card .card-section--fill > :last-child {
  margin-top: auto;
}
.card--success {
  border-color: var(--color-success-400);
  background: var(--color-success-50);
}
.card--success .card-section--shaded {
  background: var(--color-success-100);
}
.card--warning {
  border-color: var(--color-warning-400);
  background: var(--color-warning-50);
}
.card--warning .card-section--shaded {
  background: var(--color-warning-100);
}
.card--error {
  border-color: var(--color-error-400);
  background: var(--color-error-50);
}
.card--error .card-section--shaded {
  background: var(--color-error-100);
}
.card--info {
  border-color: var(--color-info-400);
  background: var(--color-info-50);
}
.card--info .card-section--shaded {
  background: var(--color-info-100);
}
.card--primary {
  border-color: var(--color-primary-400);
  background: var(--color-primary-50);
}
.card--primary .card-section--shaded {
  background: var(--color-primary-100);
}
.card--hoverable {
  transition: box-shadow var(--motion-duration-fast) var(--motion-ease), border-color var(--motion-duration-fast) var(--motion-ease), transform var(--motion-duration-fast) var(--motion-ease);
  cursor: pointer;
}
.card--hoverable:hover {
  border-color: var(--border-focus);
  box-shadow: var(--shadow-2);
  transform: scale(1.02);
  z-index: var(--z-raised);
}
.card--hoverable:active {
  transform: scale(0.98);
  box-shadow: var(--shadow-1);
}

.card-demo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--spacer-sm);
  margin-block: var(--spacer-sm);
}

.card-demo-add {
  display: grid;
  place-items: center;
  min-height: 120px;
  font: inherit;
  color: var(--text-muted);
  cursor: pointer;
}
.card-demo-add:hover {
  color: var(--text-color);
  border-color: var(--border-strong);
}

.card-demo-placeholder {
  font-size: var(--type-body-size);
  color: var(--text-muted);
  line-height: 1.5;
}

.cover {
  position: relative;
  height: var(--cover-h, auto);
  background-size: cover;
  background-position: center;
  background-color: var(--bg-surface-alt);
}

.cover--mascot {
  display: grid;
  place-items: center;
  background: var(--cover-bg, linear-gradient(160deg, var(--color-secondary-400), var(--color-secondary-700)));
}

.cover-hex {
  --cover-hex: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20100%20100'%3E%3Cpath%20d='M45%205%20Q50%202%2055%205%20L88%2024%20Q91%2026%2091%2031%20L91%2069%20Q91%2074%2088%2076%20L55%2095%20Q50%2098%2045%2095%20L12%2076%20Q9%2074%209%2069%20L9%2031%20Q9%2026%2012%2024%20Z'%20fill='%23000'/%3E%3C/svg%3E");
  display: grid;
  place-items: center;
  width: 98px;
  height: 98px;
  background: rgba(255, 255, 255, 0.16);
  -webkit-mask: var(--cover-hex) center/contain no-repeat;
  mask: var(--cover-hex) center/contain no-repeat;
}
.cover-hex img {
  width: 60%;
  height: auto;
  transform: translateY(-6%);
}

.cover-pin {
  position: absolute;
  top: var(--spacer-2xs);
  right: var(--spacer-2xs);
  z-index: 1;
}

.cover-pin--left {
  right: auto;
  left: var(--spacer-2xs);
}

.cover-grad-amber {
  --cover-bg: linear-gradient(160deg, var(--color-warning-300), var(--color-error-400));
}

.cover-grad-ember {
  --cover-bg: linear-gradient(160deg, var(--color-warning-300), var(--color-magenta-500));
}

.cover-grad-sky {
  --cover-bg: linear-gradient(160deg, var(--color-primary-400), var(--color-info-500));
}

.cover-grad-navy {
  --cover-bg: linear-gradient(160deg, var(--color-info-500), var(--color-info-800));
}

.cover-grad-purple {
  --cover-bg: linear-gradient(160deg, var(--color-purple-600), var(--color-info-500));
}

.cover-grad-violet {
  --cover-bg: linear-gradient(160deg, var(--color-magenta-500), var(--color-purple-600));
}

.cover-grad-iris {
  --cover-bg: linear-gradient(160deg, var(--color-purple-500), var(--color-secondary-800));
}

.cover-grad-crimson {
  --cover-bg: linear-gradient(160deg, var(--color-error-400), var(--color-magenta-800));
}

.cover-grad-fresh {
  --cover-bg: linear-gradient(160deg, var(--color-success-300), var(--color-primary-600));
}

.cover-grad-sandy {
  --cover-bg: linear-gradient(160deg, var(--color-warning-200), var(--color-warning-50));
}

.surface, .card, .section, .dropdown, .morph-box, .modal, .collapsible, .accordion, .sl, .tl, .table-surface, .hero--panel {
  --text-emphasis: var(--surface-text-emphasis);
  --text-color: var(--surface-text-color);
  --text-muted: var(--surface-text-muted);
  --text-disabled: var(--surface-text-disabled);
  --text-code: var(--surface-text-code);
  --text-link: var(--surface-text-link);
  --text-link-hover: var(--surface-text-link-hover);
  --bg-muted: var(--surface-bg-muted);
  --bg-code: var(--surface-bg-code);
  --bg-surface-alt: var(--surface-bg-alt);
  --border-color: var(--surface-border-color);
  --border-faint: var(--surface-border-faint);
  --border-strong: var(--surface-border-strong);
  --section-outline-border: var(--surface-section-outline-border);
  --tab-active-indicator: var(--surface-tab-active-indicator);
  --tab-hover-bg: var(--surface-tab-hover-bg);
  --icon-scylla-content: var(--icon-scylla-surface);
  color: var(--text-color);
}

.surface {
  background: var(--bg-surface);
}

.section {
  background: var(--bg-surface);
  border: var(--border-w) solid transparent;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-2);
  padding: var(--spacer-sm);
  margin-bottom: var(--spacer-sm);
}
.section--gradient-border {
  border-color: transparent;
  background: linear-gradient(var(--bg-surface) 0 0) padding-box, var(--surface-gradient, var(--gradient-sky)) border-box;
}
.section--gradient-glow {
  position: relative;
  isolation: isolate;
  box-shadow: none;
}
.section--gradient-glow::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  border-radius: inherit;
  background: var(--surface-gradient, var(--gradient-sky));
  filter: blur(var(--spacer-xs));
  opacity: 0.6;
}
.section--gradient-glow::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: inherit;
  border-radius: inherit;
  background: var(--bg-surface);
}

.section--outline {
  background: none;
  box-shadow: none;
  border-color: var(--section-outline-border);
  min-inline-size: 0;
  --text-emphasis: inherit;
  --text-color: inherit;
  --text-muted: inherit;
  --text-disabled: inherit;
  --text-code: inherit;
  --text-link: inherit;
  --text-link-hover: inherit;
  --bg-muted: inherit;
  --bg-code: inherit;
  --bg-surface-alt: inherit;
  --border-color: inherit;
  --border-faint: inherit;
  --border-strong: inherit;
  --section-outline-border: inherit;
  --tab-active-indicator: inherit;
  --tab-hover-bg: inherit;
  --icon-scylla-content: inherit;
  color: inherit;
}

.section-legend {
  padding-inline: var(--spacer-2xs);
  font-weight: 600;
  color: var(--text-emphasis);
}

.surface-light, .card--light, .section--light {
  --text-emphasis: var(--surface-light-text-emphasis);
  --text-color: var(--surface-light-text-color);
  --text-muted: var(--surface-light-text-muted);
  --text-disabled: var(--surface-light-text-disabled);
  --text-code: var(--surface-light-text-code);
  --border-color: var(--surface-light-border-color);
  --border-strong: var(--surface-light-border-strong);
  --border-faint: var(--surface-light-border-faint);
  --bg-surface: var(--surface-light-bg);
  --bg-surface-alt: var(--surface-light-bg-alt);
  --bg-muted: var(--surface-light-bg-muted);
  --surface-text-emphasis: var(--surface-light-text-emphasis);
  --surface-text-color: var(--surface-light-text-color);
  --surface-text-muted: var(--surface-light-text-muted);
  --surface-text-disabled: var(--surface-light-text-disabled);
  --surface-text-code: var(--surface-light-text-code);
  --surface-border-color: var(--surface-light-border-color);
  --surface-border-strong: var(--surface-light-border-strong);
  --surface-border-faint: var(--surface-light-border-faint);
  --surface-bg-alt: var(--surface-light-bg-alt);
  --surface-bg-muted: var(--surface-light-bg-muted);
  --surface-shadow-color: var(--surface-light-shadow-color);
  color: var(--text-color);
}

.surface-dark, .card--dark, .section--dark {
  --text-emphasis: var(--surface-dark-text-emphasis);
  --text-color: var(--surface-dark-text-color);
  --text-muted: var(--surface-dark-text-muted);
  --text-disabled: var(--surface-dark-text-disabled);
  --text-code: var(--surface-dark-text-code);
  --border-color: var(--surface-dark-border-color);
  --border-strong: var(--surface-dark-border-strong);
  --border-faint: var(--surface-dark-border-faint);
  --bg-surface: var(--surface-dark-bg);
  --bg-surface-alt: var(--surface-dark-bg-alt);
  --bg-muted: var(--surface-dark-bg-muted);
  --surface-text-emphasis: var(--surface-dark-text-emphasis);
  --surface-text-color: var(--surface-dark-text-color);
  --surface-text-muted: var(--surface-dark-text-muted);
  --surface-text-disabled: var(--surface-dark-text-disabled);
  --surface-text-code: var(--surface-dark-text-code);
  --surface-border-color: var(--surface-dark-border-color);
  --surface-border-strong: var(--surface-dark-border-strong);
  --surface-border-faint: var(--surface-dark-border-faint);
  --surface-bg-alt: var(--surface-dark-bg-alt);
  --surface-bg-muted: var(--surface-dark-bg-muted);
  --surface-shadow-color: var(--surface-dark-shadow-color);
  color: var(--text-color);
}

.backdrop {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.backdrop > * {
  position: relative;
  z-index: 1;
}

.backdrop::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--backdrop-art, none);
  background-position: var(--backdrop-pos, bottom center);
  background-repeat: var(--backdrop-repeat, no-repeat);
  background-size: var(--backdrop-size, 100% auto);
}

.backdrop--overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: var(--backdrop-overlay, linear-gradient(180deg, transparent 40%, var(--bg-page)));
}

.backdrop--glow {
  --backdrop-art:
    radial-gradient(130% 95% at 50% 120%,
      color-mix(in srgb, var(--color-primary-500) 26%, transparent) 0%,
      color-mix(in srgb, var(--color-info-500) 13%, transparent) 38%,
      transparent 70%);
  --backdrop-size: 100% 100%;
}

.backdrop--grid {
  --backdrop-art:
    linear-gradient(var(--border-faint) 1px, transparent 1px),
    linear-gradient(90deg, var(--border-faint) 1px, transparent 1px);
  --backdrop-size: 44px 44px, 44px 44px;
  --backdrop-pos: center top;
  --backdrop-repeat: repeat, repeat;
}

.backdrop--grid::before {
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 78%);
  mask-image: linear-gradient(180deg, #000 0%, transparent 78%);
}

.backdrop--wave {
  --backdrop-art: url('./assets/backgrounds/hero-wave.svg');
  --backdrop-pos: bottom center;
  --backdrop-size: 100% auto;
}

.ds-footer {
  background: var(--footer-bg);
  color: var(--text-muted);
  font-family: var(--font-family);
  border-top: var(--border-w) solid var(--border-color);
  padding: var(--spacer-xl) var(--spacer-md) var(--spacer-md);
}

.ds-footer__top {
  max-width: var(--layout-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(16rem, 1fr) 3fr;
  gap: var(--spacer-lg);
}
@media (max-width: 900px) {
  .ds-footer__top {
    grid-template-columns: 1fr;
    gap: var(--spacer-base);
  }
}

.ds-footer__logo-link {
  display: inline-block;
}

.ds-footer__logo {
  display: block;
  width: 160px;
  height: 40px;
  background: var(--logo-footer) no-repeat left center;
  background-size: contain;
}

.ds-footer__tagline {
  color: var(--text-muted);
  margin: var(--spacer-xs) 0 var(--spacer-sm);
  max-width: 22rem;
}

.ds-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacer-2xs);
}

.ds-footer__social-link {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  border: var(--border-w) solid var(--border-color);
  color: var(--text-muted);
  transition: color var(--motion-duration-fast) ease, border-color var(--motion-duration-fast) ease, background var(--motion-duration-fast) ease, transform var(--motion-duration-fast) ease;
}
.ds-footer__social-link:hover {
  color: var(--text-link);
  border-color: var(--text-link);
  background: var(--bg-muted);
  transform: translateY(-1px);
}

.ds-footer__cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: var(--spacer-base) var(--spacer-md);
}

.ds-footer__col-head {
  font-family: var(--font-mono);
  font-size: var(--type-body-small-size);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-link);
  margin: 0 0 var(--spacer-xs);
}

.ds-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ds-footer__col li {
  margin: 0 0 var(--spacer-3xs);
}

.ds-footer__col a {
  color: var(--text-muted);
  font-size: var(--type-body-size);
  text-decoration: none;
  transition: color var(--motion-duration-fast) ease;
}
.ds-footer__col a:hover {
  color: var(--text-link);
}

.ds-footer__bottom {
  max-width: var(--layout-max-width);
  margin: var(--spacer-lg) auto 0;
  padding-top: var(--spacer-md);
  border-top: var(--border-w) solid var(--border-faint);
  font-size: var(--type-body-small-size);
  color: var(--text-muted);
  text-align: center;
}

.ds-footer__copy {
  margin: 0;
}

.ds-footer__legal-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--spacer-3xs) var(--spacer-sm);
  margin: 0 0 var(--spacer-xs);
}
.ds-footer__legal-links a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color var(--motion-duration-fast) ease;
}
.ds-footer__legal-links a:hover {
  color: var(--text-link);
}

.code-block {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: var(--spacer-xs);
  background: var(--bg-code);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-sm);
  padding: var(--spacer-xs) var(--spacer-sm);
  margin-block: 0 var(--spacer-sm);
  font-family: var(--font-mono);
  font-size: var(--type-code-size);
  line-height: var(--type-code-line-height);
  color: var(--text-code);
  overflow-x: auto;
}
.code-block pre {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: none;
  font: inherit;
  color: inherit;
  white-space: pre-wrap;
  word-break: break-word;
}
.code-block .c {
  color: color-mix(in oklch, var(--text-code) 55%, transparent);
}
.code-block .p {
  color: var(--color-primary-300);
}
.code-block .v {
  color: var(--color-warning-300);
}

.code-block--light {
  background: var(--color-gray-50);
  color: var(--color-primary-800);
}
.code-block--light .c {
  color: var(--color-gray-400);
}
.code-block--light .p {
  color: var(--color-primary-600);
}
.code-block--light .v {
  color: var(--color-warning-600);
}

.code-lang {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: calc(var(--radius-sm) - var(--border-w)) 0 var(--radius-sm) 0;
  pointer-events: none;
  user-select: none;
}

.code-block .highlight {
  flex: 1;
  min-width: 0;
  margin: 0;
}
.code-block .highlight pre {
  margin: 0;
  padding: 0;
  background: none;
  font: inherit;
  color: inherit;
  white-space: pre-wrap;
  word-break: break-word;
}

.code-block .code-lang + * {
  margin-top: var(--spacer-sm);
}

.code-copy {
  flex-shrink: 0;
  padding: var(--spacer-3xs);
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  color: inherit;
  opacity: 0.5;
  cursor: pointer;
  transition: opacity var(--motion-duration-fast), background var(--motion-duration-fast);
}
.code-copy:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
}
.code-copy svg {
  display: block;
  width: 16px;
  height: 16px;
}

.code-block--light .code-copy:hover {
  background: var(--color-gray-200);
}

.code-inline {
  display: inline-flex;
  align-items: center;
  background: var(--bg-code);
  border-radius: var(--radius-sm);
  padding: var(--spacer-3xs) var(--spacer-2xs);
  font-family: var(--font-mono);
  font-size: var(--type-code-size);
  line-height: var(--type-code-line-height);
  color: var(--text-code);
  white-space: nowrap;
}

.code-inline--light {
  background: var(--color-gray-50);
  color: var(--color-primary-800);
}

.tl {
  --tl-pad: 0;
  --tl-row-pad-block: var(--spacer-3xs);
  --tl-row-pad-inline: var(--spacer-xs);
  background: var(--bg-surface);
  color: var(--text-color);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: hidden;
  padding: var(--tl-pad);
}

.tl-row {
  display: grid;
  align-items: center;
  gap: var(--spacer-xs);
  padding: var(--tl-row-pad-block) var(--tl-row-pad-inline);
  border-bottom: var(--border-w) solid var(--border-faint);
  transition: background var(--motion-duration-fast) var(--motion-ease);
}
.tl-row:last-child {
  border-bottom: none;
}
.tl-row:hover {
  background: var(--bg-surface-alt);
}

a.tl-row {
  color: inherit;
  text-decoration: none;
}
a.tl-row:hover {
  color: inherit;
}

.tl--sm {
  --tl-row-pad-block: var(--spacer-2xs);
}

.tl--base {
  --tl-row-pad-block: var(--spacer-xs);
  --tl-row-pad-inline: var(--spacer-sm);
  --tl-pad: var(--spacer-2xs);
}

.tl--md {
  --tl-row-pad-block: var(--spacer-xs);
  --tl-row-pad-inline: var(--spacer-sm);
  --tl-pad: var(--spacer-sm);
}

.tl--no-dividers .tl-row {
  border-bottom: none;
  border-radius: var(--radius-md);
}

.tl-header {
  display: flex;
  align-items: center;
  gap: var(--spacer-sm);
  padding: var(--tl-row-pad-block) var(--tl-row-pad-inline) var(--spacer-2xs);
  margin-bottom: var(--spacer-3xs);
  border-bottom: var(--border-w) solid var(--border-faint);
}

.tl-header-aside {
  font-family: var(--font-mono);
  font-size: var(--type-h2-size);
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--text-link);
  flex-shrink: 0;
}

.tl-header-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.tl-header-title {
  margin: 0;
  font-size: var(--type-h4-size);
  line-height: var(--type-h4-line-height);
  font-weight: 500;
  color: var(--text-emphasis);
}
.tl-header-title a {
  color: inherit;
  text-decoration: none;
}
.tl-header-title a:hover {
  color: var(--text-link-hover);
}

.tl-header-desc {
  font-size: var(--type-body-small-size);
  color: var(--text-muted);
}

.tl-title {
  font-weight: 500;
  color: var(--text-emphasis);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tl-chev {
  color: var(--text-muted);
  font-size: var(--type-body-size);
}

.tl-swatch {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  border: var(--border-w) solid var(--border-color);
  flex-shrink: 0;
}

.tl-swatch--on-surface {
  box-shadow: inset 0 0 0 4px var(--bg-surface);
}

.tl-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.tl-name {
  font-family: var(--font-mono);
  font-size: var(--type-body-small-size);
  font-weight: 600;
  color: var(--text-code);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tl-desc {
  font-size: var(--type-body-small-size);
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tl-value {
  font-family: var(--font-mono);
  font-size: var(--type-body-small-size);
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sl {
  list-style: none;
  color: var(--text-color);
  background: var(--bg-surface);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin: 0;
  padding: 0;
  counter-reset: sl-counter;
}
.sl li {
  margin: 0;
  padding: var(--spacer-xs) var(--spacer-sm);
  font-size: var(--type-body-size);
  line-height: var(--type-body-line-height);
  border-bottom: var(--border-w) solid var(--border-faint);
  display: flex;
  align-items: flex-start;
  gap: var(--spacer-xs);
}
.sl li:last-child {
  border-bottom: none;
}

.sl-check li::before {
  content: "☐";
  color: var(--text-disabled);
  flex-shrink: 0;
  margin-top: 1px;
}
.sl-check li.done::before {
  content: "☑";
  color: var(--color-success-600);
}

.sl-bullet li::before {
  content: "•";
  color: var(--text-disabled);
  flex-shrink: 0;
  font-size: 1.2em;
  line-height: 1.2;
}

.sl-numbered li {
  counter-increment: sl-counter;
}
.sl-numbered li::before {
  content: counter(sl-counter) ".";
  color: var(--text-disabled);
  flex-shrink: 0;
  min-width: 1.5em;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  font-size: var(--type-body-small-size);
  margin-top: 2px;
}

.tree {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tree-node {
  position: relative;
}

.tree-row {
  display: flex;
  align-items: flex-start;
  padding: var(--spacer-3xs) 0;
}

.tree-bullet {
  flex-shrink: 0;
  width: var(--spacer-base);
  display: inline-flex;
  justify-content: center;
  margin-top: 2px;
}

.tree-icon {
  color: var(--text-muted);
}

.tree-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.tree-head {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
  flex-wrap: wrap;
}

.tree-label {
  color: var(--text-color);
}

.tree-desc {
  margin: 0;
}

.tree--nested {
  padding-left: var(--spacer-base);
}

.tree--nested > .tree-node::before {
  content: "";
  position: absolute;
  left: calc(-0.5 * var(--spacer-base));
  top: 0;
  bottom: 0;
  border-left: var(--border-w) solid var(--border-faint);
}

.tree--nested > .tree-node:last-child::before {
  bottom: auto;
  height: 0.95em;
}

.tree--nested > .tree-node::after {
  content: "";
  position: absolute;
  left: calc(-0.5 * var(--spacer-base));
  top: 0.95em;
  width: calc(0.5 * var(--spacer-base));
  border-top: var(--border-w) solid var(--border-faint);
}

input[type=range] {
  -webkit-appearance: none;
  appearance: none;
  height: var(--spacer-md);
  border-radius: var(--radius-sm);
  padding: 0;
  background: transparent;
  outline: none;
  width: 100%;
}
input[type=range]:hover::-webkit-slider-thumb {
  transform: scale(1.2);
}
input[type=range]:hover::-webkit-slider-runnable-track {
  background: var(--color-secondary-200);
  box-shadow: 0 0 0 1px var(--color-secondary-200);
}
input[type=range]:hover::-moz-range-thumb {
  transform: scale(1.2);
}
input[type=range]:hover::-moz-range-track {
  background: var(--color-secondary-200);
  box-shadow: 0 0 0 1px var(--color-secondary-200);
}
input[type=range]:active::-webkit-slider-thumb {
  background: var(--color-secondary-400);
}
input[type=range]:active::-moz-range-thumb {
  background: var(--color-secondary-400);
}
input[type=range]:disabled {
  cursor: not-allowed;
}
input[type=range]:disabled::-webkit-slider-thumb {
  transform: scale(0.61) !important;
  background: var(--text-disabled);
  cursor: not-allowed;
}
input[type=range]:disabled::-webkit-slider-runnable-track {
  background: var(--bg-muted);
  box-shadow: none;
  cursor: not-allowed;
}
input[type=range]:disabled::-moz-range-thumb {
  transform: scale(0.61) !important;
  background: var(--text-disabled);
  cursor: not-allowed;
}
input[type=range]:disabled::-moz-range-track {
  background: var(--bg-muted);
  box-shadow: none;
  cursor: not-allowed;
}
input[type=range]::-moz-focus-outer {
  border: 0;
}
input[type=range]::-webkit-slider-runnable-track {
  background: var(--color-secondary-100);
  height: 3px;
  border-radius: 3px;
  transition: all var(--motion-duration-base) cubic-bezier(0.22, 0.61, 0.36, 1);
  cursor: pointer;
}
input[type=range]::-moz-range-track {
  background: var(--color-secondary-100);
  height: 3px;
  border-radius: 3px;
  transition: all var(--motion-duration-base) cubic-bezier(0.22, 0.61, 0.36, 1);
  cursor: pointer;
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: var(--spacer-sm);
  height: var(--spacer-sm);
  margin-top: calc((3px - var(--spacer-sm)) * 0.5);
  border-radius: var(--spacer-sm);
  border: 0;
  transform: scale(0.61);
  background: var(--color-secondary-600);
  cursor: pointer;
  transition: transform var(--motion-duration-base) cubic-bezier(0.22, 0.61, 0.36, 1);
}
input[type=range]::-moz-range-thumb {
  width: var(--spacer-sm);
  height: var(--spacer-sm);
  border-radius: var(--spacer-sm);
  border: 0;
  transform: scale(0.61);
  background: var(--color-secondary-600);
  cursor: pointer;
  transition: transform var(--motion-duration-base) cubic-bezier(0.22, 0.61, 0.36, 1);
}

input[type=range].range-vertical {
  writing-mode: vertical-lr;
  direction: rtl;
  width: var(--spacer-md);
  height: 100px;
}
input[type=range].range-vertical::-webkit-slider-runnable-track {
  width: 3px;
}
input[type=range].range-vertical::-moz-range-track {
  width: 3px;
}
input[type=range].range-vertical::-webkit-slider-thumb {
  margin-top: 0;
  margin-left: calc((3px - var(--spacer-sm)) * 0.5);
}

.slider-demo-section {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-xs);
}

.slider-demo-row {
  display: flex;
  align-items: center;
  gap: var(--spacer-sm);
}
.slider-demo-row input[type=range] {
  flex: 1;
  min-width: 0;
}

.slider-demo-label {
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  text-transform: var(--type-small-label-text-transform);
  letter-spacing: var(--type-small-label-letter-spacing);
  color: var(--text-muted);
  min-width: 90px;
  flex-shrink: 0;
}

.slider-demo-value {
  font-family: var(--font-mono);
  font-size: var(--type-body-small-size);
  color: var(--text-color);
  min-width: 50px;
  text-align: right;
  flex-shrink: 0;
}

.slider-demo-field {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-3xs);
}

.slider-demo-field-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.slider-demo-field-label {
  font-size: var(--type-body-size);
  font-weight: 600;
  color: var(--text-emphasis);
}

.slider-demo-field-value {
  font-family: var(--font-mono);
  font-size: var(--type-body-small-size);
  background: var(--color-secondary-50);
  color: var(--color-secondary-700);
  padding: 2px var(--spacer-2xs);
  border-radius: var(--radius-sm);
}

.slider-demo-field-range {
  display: flex;
  justify-content: space-between;
  font-size: var(--type-small-label-size);
  color: var(--text-muted);
  font-family: var(--font-mono);
}

.slider-demo-vertical-row {
  display: flex;
  gap: var(--spacer-xs);
  justify-content: center;
}

.slider-demo-vertical-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacer-3xs);
}
.slider-demo-vertical-item .slider-demo-label {
  min-width: 0;
  text-align: center;
}
.slider-demo-vertical-item .slider-demo-value {
  min-width: 0;
  text-align: center;
}

.tabs-nav {
  display: flex;
  margin-bottom: var(--spacer-sm);
  border-bottom: var(--border-w-thick) solid var(--border-color);
}

.tab-label {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: var(--spacer-3xs) var(--spacer-xs);
  padding: var(--spacer-xs);
  border: none;
  border-bottom: var(--border-w-thick) solid transparent;
  margin-bottom: calc(-1 * var(--border-w-thick));
  background: transparent;
  color: var(--text-muted);
  font-family: inherit;
  font-size: var(--type-body-size);
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: color var(--motion-duration-base) cubic-bezier(0.22, 0.61, 0.36, 1), border-color var(--motion-duration-base) cubic-bezier(0.22, 0.61, 0.36, 1), background var(--motion-duration-base) cubic-bezier(0.22, 0.61, 0.36, 1);
  flex-wrap: wrap;
  user-select: none;
}
.tab-label:hover {
  background: var(--tab-hover-bg);
  color: var(--text-color);
  transition-duration: var(--motion-duration-fast);
}
.tab-label.active {
  color: var(--text-emphasis);
  border-color: var(--tab-active-indicator);
  box-shadow: 0 -2px 0 0 var(--tab-active-indicator) inset;
}
.tab-label:disabled, .tab-label[aria-disabled=true] {
  color: var(--text-disabled);
  cursor: not-allowed;
}
.tab-label:disabled:hover, .tab-label[aria-disabled=true]:hover {
  background: transparent;
}

.tab-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.tab-icon svg {
  width: 100%;
  height: 100%;
}

.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}

.tabs-fill .tab-label {
  flex: 1 1 10px;
}

.tabs-compact .tab-label {
  padding: var(--spacer-3xs) var(--spacer-xs);
}

.tabs-contained {
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.tabs-contained .tabs-nav {
  margin-bottom: 0;
  background: var(--bg-surface-alt);
  border-bottom: var(--border-w) solid var(--border-color);
}
.tabs-contained .tab-label {
  flex: 1 1 10px;
  border-bottom: 2px solid transparent;
}
.tabs-contained .tab-label.active {
  background: var(--bg-surface);
  border-color: var(--tab-active-indicator);
}
.tabs-contained .tab-content.active {
  padding: var(--spacer-sm);
}

.tabs-pill .tabs-nav {
  gap: var(--spacer-3xs);
  border-bottom: none;
}
.tabs-pill .tab-label {
  border-bottom: none;
  margin-bottom: 0;
  border-radius: var(--radius-sm);
  padding: var(--spacer-3xs) var(--spacer-xs);
  font-weight: 600;
  box-shadow: none;
}
.tabs-pill .tab-label:hover {
  background: var(--bg-muted);
}
.tabs-pill .tab-label.active {
  background: var(--tab-active-indicator);
  color: var(--text-inverse);
  box-shadow: none;
}

.tabs-demo-placeholder {
  padding: var(--spacer-sm);
  color: var(--text-muted);
  font-size: var(--type-body-size);
  line-height: 1.6;
}

.tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacer-2xs);
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-3xs);
  font-family: var(--font-mono);
  font-size: var(--type-body-small-size);
  letter-spacing: 0.04em;
  padding: var(--spacer-3xs) var(--spacer-xs);
  border-radius: var(--radius-full);
  background: var(--bg-surface-alt);
  border: var(--border-w) solid var(--border-color);
  color: var(--text-muted);
  transition: background var(--motion-duration-fast), color var(--motion-duration-fast), border-color var(--motion-duration-fast);
}

a.tag {
  text-decoration: none;
  cursor: pointer;
}

a.tag:hover {
  color: var(--text-color);
  border-color: var(--border-strong);
}

.chip-set {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacer-2xs);
}

.chip {
  --chip-bg: var(--bg-surface-alt);
  --chip-bg-hover: var(--bg-muted);
  --chip-fg: var(--text-color);
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-3xs);
  height: 28px;
  max-width: 100%;
  padding: 0 var(--spacer-xs);
  border: 0;
  border-radius: var(--radius-full);
  background: var(--chip-bg);
  color: var(--chip-fg);
  font-family: var(--font-family);
  font-size: var(--type-body-size);
  line-height: 1;
  transition: background var(--motion-duration-fast);
}

.chip-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chip-icon {
  flex-shrink: 0;
  margin-left: -2px;
  font-size: 16px;
  color: var(--chip-fg);
}

.chip-spinner {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  border: 2px solid currentcolor;
  border-top-color: transparent;
  border-radius: 50%;
  opacity: 0.7;
  animation: chip-spin 0.7s linear infinite;
}

@keyframes chip-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .chip-spinner {
    animation: none;
  }
}
.chip-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-right: -4px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-full);
  background: transparent;
  color: var(--chip-fg);
  font-size: 16px;
  opacity: 0.55;
  cursor: pointer;
  transition: opacity var(--motion-duration-fast), background var(--motion-duration-fast);
}

.chip:hover .chip-close {
  opacity: 0.8;
}

.chip-close:hover {
  opacity: 1;
  background: color-mix(in oklch, currentcolor 18%, transparent);
}

.chip--clickable {
  cursor: pointer;
}
.chip--clickable:hover {
  background: var(--chip-bg-hover);
}
.chip--clickable:focus-visible {
  outline: 2px solid var(--border-focus, var(--color-primary-500));
  outline-offset: 1px;
}

.chip.is-active,
.chip[aria-pressed=true] {
  --chip-bg: var(--btn-primary-bg);
  --chip-bg-hover: var(--btn-primary-hover);
  --chip-fg: var(--btn-primary-text);
}

.chip--sm {
  height: 22px;
  gap: 3px;
  padding: 0 var(--spacer-2xs);
  font-size: var(--type-body-small-size);
}
.chip--sm .chip-icon {
  font-size: 13px;
}
.chip--sm .chip-spinner {
  width: 11px;
  height: 11px;
}
.chip--sm .chip-close {
  width: 15px;
  height: 15px;
  font-size: 13px;
}

.chip--primary {
  --chip-bg: var(--color-primary-100);
  --chip-bg-hover: var(--color-primary-200);
  --chip-fg: var(--color-primary-700);
}

.chip--secondary {
  --chip-bg: var(--color-secondary-100);
  --chip-bg-hover: var(--color-secondary-200);
  --chip-fg: var(--color-secondary-700);
}

.chip--success {
  --chip-bg: var(--color-success-100);
  --chip-bg-hover: var(--color-success-200);
  --chip-fg: var(--color-success-700);
}

.chip--info {
  --chip-bg: var(--color-info-100);
  --chip-bg-hover: var(--color-info-200);
  --chip-fg: var(--color-info-700);
}

.chip--warning {
  --chip-bg: var(--color-warning-100);
  --chip-bg-hover: var(--color-warning-200);
  --chip-fg: var(--color-warning-800);
}

.chip--error {
  --chip-bg: var(--color-error-100);
  --chip-bg-hover: var(--color-error-200);
  --chip-fg: var(--color-error-700);
}

.badge {
  --badge-bg: var(--bg-muted);
  --badge-fg: var(--text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacer-3xs);
  padding: var(--spacer-3xs) var(--spacer-2xs);
  border-radius: var(--radius-sm);
  text-align: center;
  background: var(--badge-bg);
  color: var(--badge-fg);
  font-family: var(--font-mono);
  font-size: var(--type-overline-size);
  font-weight: 600;
  line-height: var(--type-overline-line-height);
  letter-spacing: var(--type-overline-letter-spacing);
  text-transform: var(--type-overline-text-transform);
}

.badge--success {
  --badge-bg: var(--status-success-bg);
  --badge-fg: var(--status-success);
}

.badge--info {
  --badge-bg: var(--status-info-bg);
  --badge-fg: var(--status-info);
}

.badge--warning {
  --badge-bg: var(--status-warning-bg);
  --badge-fg: var(--status-warning);
}

.badge--error {
  --badge-bg: var(--status-error-bg);
  --badge-fg: var(--status-error);
}

.badge--teal {
  --badge-bg: var(--category-teal-bg);
  --badge-fg: var(--category-teal);
}

.badge--indigo {
  --badge-bg: var(--category-indigo-bg);
  --badge-fg: var(--category-indigo);
}

.badge--purple {
  --badge-bg: var(--category-purple-bg);
  --badge-fg: var(--category-purple);
}

.badge--magenta {
  --badge-bg: var(--category-magenta-bg);
  --badge-fg: var(--category-magenta);
}

.stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--stats-col-min, 140px), 1fr));
  gap: var(--border-w);
  background: var(--border-color);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.stat {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-3xs);
  padding: var(--spacer-sm) var(--spacer-base);
  background: var(--bg-surface);
}

.stat-value {
  display: flex;
  align-items: baseline;
  gap: var(--spacer-3xs);
  color: var(--text-emphasis);
}

.stat-unit {
  color: var(--text-muted);
}

.dropdown {
  background: var(--bg-surface);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-4);
  padding: var(--spacer-2xs) 0;
  overflow-y: auto;
  transform-origin: top;
  animation: dropdown-in var(--motion-duration-fast) var(--motion-ease);
}

@keyframes dropdown-in {
  from {
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dropdown {
    animation: none;
  }
}
.dropdown-label {
  display: block;
  padding: var(--spacer-3xs) var(--spacer-sm);
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  text-transform: var(--type-small-label-text-transform);
  letter-spacing: var(--type-small-label-letter-spacing);
  color: var(--text-muted);
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
  width: 100%;
  padding: var(--spacer-2xs) var(--spacer-sm);
  background: none;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--text-color);
  font: inherit;
  transition: background 0.08s, color 0.08s;
}
.dropdown-item:hover, .dropdown-item.dropdown-item--active {
  background: var(--bg-surface-alt);
}
.dropdown-item.dropdown-item--danger {
  color: var(--status-error);
}
.dropdown-item.dropdown-item--danger:hover {
  background: color-mix(in oklch, var(--status-error) 12%, var(--bg-surface));
}

.dropdown-divider {
  height: var(--border-w);
  margin: var(--spacer-3xs) 0;
  background: var(--border-faint);
  border: 0;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal-backdrop);
  display: flex;
  padding: var(--spacer-base);
  background: color-mix(in srgb, var(--bg-overlay, #000) 45%, transparent);
  overflow-y: auto;
  overscroll-behavior: contain;
  animation: modal-backdrop-in var(--motion-duration-fast) var(--motion-ease) both;
}

.modal-backdrop--blur {
  backdrop-filter: blur(4px);
}

.modal {
  position: relative;
  z-index: var(--z-modal);
  width: 100%;
  max-width: var(--modal-width, 32rem);
  margin: auto;
  background: var(--bg-surface);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-4);
  display: flex;
  flex-direction: column;
  animation: modal-in var(--motion-duration-base) var(--motion-ease) both;
}
.modal--sm {
  --modal-width: 22rem;
}
.modal--md {
  --modal-width: 32rem;
}
.modal--lg {
  --modal-width: 48rem;
}
.modal--bounce {
  animation: modal-bounce-in var(--motion-duration-base) var(--motion-ease-bounce) both;
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacer-sm);
  padding: var(--spacer-sm) var(--spacer-base);
  border-bottom: var(--border-w) solid var(--border-faint);
}

.modal-title {
  margin: 0;
  font-size: var(--type-h5-size);
  font-weight: 700;
}

.modal-body {
  padding: var(--spacer-base);
}

.modal-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--spacer-2xs);
  padding: var(--spacer-sm) var(--spacer-base);
  border-top: var(--border-w) solid var(--border-faint);
}

@keyframes modal-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes modal-bounce-in {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .modal-backdrop,
  .modal,
  .modal--bounce {
    animation: none;
  }
}
.collapsible {
  border: var(--border-w) solid var(--border-faint);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  transition: border-color var(--motion-duration-fast) var(--motion-ease);
}
.collapsible + .collapsible {
  margin-top: var(--spacer-xs);
}
.collapsible[open] {
  border-color: var(--border-color);
}

.collapsible-trigger {
  display: flex;
  align-items: center;
  gap: var(--spacer-sm);
  padding: var(--spacer-sm) var(--spacer-base);
  cursor: pointer;
  font-weight: 600;
  color: var(--text-color);
  user-select: none;
  list-style: none;
  border-radius: calc(var(--radius-md) - var(--border-w));
  transition: background var(--motion-duration-fast) var(--motion-ease);
}
.collapsible-trigger::-webkit-details-marker {
  display: none;
}
.collapsible-trigger:hover {
  background: var(--bg-muted);
}
.collapsible-trigger:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: -2px;
}

.collapsible[open] > .collapsible-trigger {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}

.collapsible-title {
  flex: 1;
  min-width: 0;
}

.collapsible-trigger::after {
  content: "";
  flex-shrink: 0;
  margin-left: var(--spacer-xs);
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid var(--text-muted);
  border-bottom: 2px solid var(--text-muted);
  transform: rotate(45deg);
  transform-origin: 60% 60%;
  transition: transform var(--motion-duration-base) var(--motion-ease);
}

.collapsible[open] > .collapsible-trigger::after {
  transform: rotate(-135deg);
}

.collapsible-panel {
  padding: 0 var(--spacer-base) var(--spacer-sm);
  color: var(--text-muted);
}

.collapsible::details-content {
  block-size: 0;
  overflow: hidden;
  transition: block-size var(--motion-duration-base) var(--motion-ease), content-visibility var(--motion-duration-base) allow-discrete;
}

.collapsible[open]::details-content {
  block-size: auto;
}

.collapsible--toggle > .collapsible-trigger::after {
  content: none;
}

.collapsible-switch {
  flex-shrink: 0;
  margin-left: var(--spacer-xs);
  width: calc(var(--spacer-sm) * 2.2);
  height: calc(var(--spacer-sm) + 4px);
  border-radius: var(--spacer-sm);
  background: var(--input-bg);
  box-shadow: var(--shadow-inset);
  position: relative;
  transition: background var(--motion-duration-fast) var(--motion-ease);
}
.collapsible-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: var(--spacer-sm);
  height: var(--spacer-sm);
  border-radius: 50%;
  background: var(--color-secondary-600);
  transition: left var(--motion-duration-fast) cubic-bezier(0.22, 0.61, 0.36, 1), background var(--motion-duration-fast) var(--motion-ease);
}

.collapsible[open] > .collapsible-trigger .collapsible-switch {
  background: color-mix(in srgb, var(--btn-primary-bg) 30%, var(--input-bg));
}
.collapsible[open] > .collapsible-trigger .collapsible-switch::after {
  left: calc(100% - var(--spacer-sm) - 2px);
}

.accordion {
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
}

.accordion > .collapsible {
  border: 0;
  border-radius: 0;
  background: transparent;
  margin: 0;
}

.accordion > .collapsible > .collapsible-trigger {
  border-radius: 0;
}

.accordion > .collapsible:first-child > .collapsible-trigger {
  border-start-start-radius: calc(var(--radius-md) - var(--border-w));
  border-start-end-radius: calc(var(--radius-md) - var(--border-w));
}

.accordion > .collapsible:last-child:not([open]) > .collapsible-trigger {
  border-end-start-radius: calc(var(--radius-md) - var(--border-w));
  border-end-end-radius: calc(var(--radius-md) - var(--border-w));
}

.accordion > .collapsible + .collapsible {
  position: relative;
}

.accordion > .collapsible + .collapsible::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: var(--spacer-base);
  height: var(--border-w);
  background: var(--border-color);
}

.drp-trigger {
  background: var(--input-bg);
  border: none;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-inset);
  font-family: var(--font-family);
  color: var(--input-text);
  outline: none;
  transition: box-shadow 150ms ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacer-2xs);
  width: 100%;
  min-width: 220px;
  padding: 22px var(--spacer-xs) var(--spacer-2xs);
  font-size: var(--type-input-value-size);
  text-align: left;
  cursor: pointer;
}
.drp-trigger:focus-visible {
  box-shadow: 0 0 0 2px var(--border-focus), var(--shadow-inset);
}
.drp-trigger--sm {
  min-width: 160px;
}
.drp-trigger .drp-trigger-icon {
  color: var(--text-muted);
  flex-shrink: 0;
}
.drp-trigger .drp-trigger-value {
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.drp-trigger .drp-trigger-value--placeholder {
  color: var(--input-placeholder);
}

.drp-trigger + .form-label {
  top: 8px;
  transform: translateY(0);
  font-size: var(--type-input-label-size);
  font-weight: var(--type-input-label-weight);
  font-variation-settings: var(--type-input-label-fvs);
  color: var(--text-muted);
}

.drp {
  position: absolute;
  top: calc(100% + var(--spacer-3xs));
  left: 0;
  z-index: var(--z-dropdown);
  display: flex;
  padding: 0;
  overflow: visible;
  width: max-content;
  max-width: min(96vw, 860px);
}

.drp--end {
  left: auto;
  right: 0;
}

.drp-presets {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-3xs);
  padding: var(--spacer-2xs);
  border-right: var(--border-w) solid var(--border-color);
}

.drp-presets .dropdown-item {
  border-radius: var(--radius-sm);
  white-space: nowrap;
}

.drp-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.drp-cal {
  padding: var(--spacer-2xs) var(--spacer-sm);
  overflow-x: auto;
}

.drp .rdp-months {
  flex-wrap: nowrap;
}

.drp .rdp-root {
  --rdp-accent-color: var(--color-primary-600);
  --rdp-accent-background-color: var(--color-secondary-100);
  --rdp-range_middle-background-color: var(--color-secondary-100);
  --rdp-range_middle-color: var(--text-color);
  --rdp-range_start-color: var(--text-on-primary);
  --rdp-range_end-color: var(--text-on-primary);
  --rdp-today-color: var(--color-primary-600);
  --rdp-day-height: 2rem;
  --rdp-day-width: 2rem;
  --rdp-day_button-width: 1.75rem;
  --rdp-day_button-height: 1.75rem;
  --rdp-day_button-border-radius: var(--radius-full);
  --rdp-selected-border: var(--border-w) solid var(--rdp-accent-color);
  --rdp-months-gap: var(--spacer-sm);
  --rdp-nav-height: 2.25rem;
  --rdp-nav_button-width: 1.75rem;
  --rdp-nav_button-height: 1.75rem;
  font-family: var(--font-family);
  font-size: var(--type-body-small-size);
  color: var(--text-color);
}

.drp .rdp-month_caption {
  font-size: var(--type-body-size);
  font-weight: 600;
  color: var(--text-emphasis);
}

.drp .rdp-chevron {
  fill: var(--text-muted);
}

.drp .rdp-button_next,
.drp .rdp-button_previous {
  border-radius: var(--radius-sm);
}
.drp .rdp-button_next:hover,
.drp .rdp-button_previous:hover {
  background: var(--bg-muted);
}

.drp .rdp-weekday {
  color: var(--text-muted);
}

.drp th,
.drp td {
  padding: var(--spacer-3xs);
}

.drp .rdp-selected {
  font-size: inherit;
}

.drp .rdp-selected:not(.rdp-range_middle) .rdp-day_button {
  background-color: var(--rdp-accent-color);
  color: var(--text-on-primary);
}

.drp-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacer-2xs);
  padding: var(--spacer-2xs) var(--spacer-sm);
  border-top: var(--border-w) solid var(--border-color);
}

.drp-dates {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
}

.drp-dates .form-input {
  width: 130px;
  text-align: center;
}

.drp-sep {
  color: var(--text-muted);
}

.drp-actions {
  display: flex;
  gap: var(--spacer-2xs);
}

.drp-error {
  flex-basis: 100%;
  min-height: 1.25rem;
  font-size: var(--type-body-small-size);
  color: var(--status-error);
}

@media (max-width: 640px) {
  .drp {
    flex-direction: column;
  }
  .drp-presets {
    flex-direction: row;
    flex-wrap: wrap;
    border-right: none;
    border-bottom: var(--border-w) solid var(--border-color);
  }
}
.liquid-loader {
  display: block;
}

.ll-ring {
  fill: none;
  stroke: var(--border-color);
  stroke-width: 2;
}

.ll-bowl {
  fill: var(--input-bg);
}

.ll-wave {
  fill: var(--color-primary-400);
}

.ll-wave--back {
  fill: var(--color-secondary-500);
  opacity: 0.4;
}

.ll-drop {
  fill: var(--color-primary-300);
}

.ll-ripple {
  fill: none;
  stroke: var(--color-primary-200);
  stroke-width: 1.5;
}

.ll-label {
  fill: var(--text-emphasis);
  font-family: inherit;
  font-size: 30px;
  font-weight: 600;
  text-anchor: middle;
  dominant-baseline: central;
  paint-order: stroke;
  stroke: var(--bg-surface);
  stroke-width: 4px;
  stroke-linejoin: round;
}

.spinner {
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 3px solid var(--border-faint);
  border-top-color: var(--color-primary-500);
  animation: sp-rotate 0.8s linear infinite;
}
.spinner--sm {
  width: 16px;
  height: 16px;
  border-width: 2px;
}
.spinner--lg {
  width: 40px;
  height: 40px;
  border-width: 4px;
}

.spinner-dual {
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--color-primary-500);
  border-bottom-color: var(--color-secondary-500);
  animation: sp-rotate 1.1s cubic-bezier(0.45, 0.15, 0.55, 0.85) infinite;
}
.spinner-dual--sm {
  width: 16px;
  height: 16px;
  border-width: 2px;
}
.spinner-dual--lg {
  width: 40px;
  height: 40px;
  border-width: 4px;
}

.spinner-drops {
  display: inline-flex;
  align-items: flex-end;
  gap: 4px;
  height: 26px;
}
.spinner-drops i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary-400);
  animation: sp-drop 1.1s var(--motion-ease) infinite;
}
.spinner-drops i:nth-child(2) {
  animation-delay: 0.14s;
  background: var(--color-primary-500);
}
.spinner-drops i:nth-child(3) {
  animation-delay: 0.28s;
  background: var(--color-secondary-500);
}
.spinner-drops--sm {
  height: 17px;
  gap: 3px;
}
.spinner-drops--sm i {
  width: 5px;
  height: 5px;
}
.spinner-drops--lg {
  height: 42px;
  gap: 6px;
}
.spinner-drops--lg i {
  width: 13px;
  height: 13px;
}

@keyframes sp-rotate {
  to {
    transform: rotate(360deg);
  }
}
@keyframes sp-drop {
  0%, 100% {
    transform: translateY(0) scale(1, 1);
  }
  35% {
    transform: translateY(-120%) scaleY(1.15);
  }
  50% {
    transform: translateY(-140%);
  }
  72% {
    transform: translateY(0) scale(1.3, 0.7);
  }
  82% {
    transform: translateY(0) scale(0.95, 1.05);
  }
}
.ring-track {
  fill: none;
  stroke: var(--input-bg);
  stroke-width: 8;
}

.ring-fill {
  fill: none;
  stroke: var(--color-primary-500);
  stroke-width: 8;
  stroke-linecap: round;
  transition: stroke-dashoffset var(--motion-duration-base) var(--motion-ease);
}

.ring-label {
  fill: var(--text-emphasis);
  font-family: inherit;
  font-size: 22px;
  font-weight: 600;
  text-anchor: middle;
  dominant-baseline: central;
}

.ring--spin {
  animation: sp-rotate 1s linear infinite;
  transform-origin: center;
}

.progress {
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--border-color);
  overflow: hidden;
}
.progress--sm {
  height: 4px;
}
.progress--lg {
  height: 12px;
}

.progress-fill {
  height: 100%;
  border-radius: inherit;
  background: var(--btn-primary-bg);
  transition: width var(--motion-duration-base) var(--motion-ease);
}

.progress-fill--flow {
  background: linear-gradient(90deg, var(--color-primary-500), var(--color-info-400), var(--color-primary-500));
  background-size: 200% 100%;
  animation: bar-flow 2.4s linear infinite;
}

.progress-fill--striped {
  background-color: var(--btn-primary-bg);
  background-image: repeating-linear-gradient(45deg, transparent 0 8px, color-mix(in srgb, var(--color-white) 22%, transparent) 8px 16px);
  background-size: 200% 100%;
  animation: bar-stripes 0.8s linear infinite;
}

.progress--indeterminate .progress-fill {
  width: 35%;
  animation: bar-comet 1.4s var(--motion-ease) infinite;
}

@keyframes bar-flow {
  to {
    background-position: -200% 0;
  }
}
@keyframes bar-stripes {
  to {
    background-position: 22.6px 0;
  }
}
@keyframes bar-comet {
  0% {
    margin-left: -35%;
  }
  100% {
    margin-left: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .spinner, .spinner-dual, .spinner-drops i, .ring--spin,
  .progress-fill--flow, .progress-fill--striped,
  .progress--indeterminate .progress-fill {
    animation: none;
  }
}
.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacer-xs);
  padding: var(--spacer-md) var(--spacer-sm);
  text-align: center;
}
.empty-state p {
  margin: 0;
}

.empty-state-art {
  width: 88px;
  max-width: 100%;
  height: auto;
}

.breadcrumbs {
  font-size: var(--type-body-small-size);
  color: var(--text-muted);
}
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacer-3xs) var(--spacer-2xs);
  margin: 0;
  padding: 0;
  list-style: none;
}
.breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-2xs);
  margin-bottom: 0;
}
.breadcrumbs li + li::before {
  content: "/";
  color: var(--text-disabled);
}
.breadcrumbs a {
  color: inherit;
  text-decoration: none;
  transition: color var(--motion-duration-fast) var(--motion-ease);
}
.breadcrumbs a:hover {
  color: var(--text-link-hover);
  text-decoration: underline;
}
.breadcrumbs [aria-current=page] {
  color: var(--text-emphasis);
  font-weight: 600;
}

.hero {
  --hero-pad-block: var(--spacer-md);
  --hero-pad-inline: var(--spacer-base);
  position: relative;
  margin-bottom: var(--spacer-base);
}

.hero__inner {
  max-width: var(--hero-inner-max, 48rem);
}

.hero__eyebrow {
  margin: 0 0 var(--spacer-2xs);
  font-size: var(--type-overline-size);
  line-height: var(--type-overline-line-height);
  font-weight: var(--type-overline-weight);
  font-variation-settings: var(--type-overline-fvs);
  letter-spacing: var(--type-overline-letter-spacing);
  text-transform: var(--type-overline-text-transform);
  color: var(--hero-eyebrow-color, var(--text-muted));
}

.hero__title {
  margin: 0 0 var(--spacer-2xs);
  font-size: var(--type-h1-size);
  line-height: var(--type-h1-line-height);
  font-weight: var(--type-h1-weight);
  font-variation-settings: var(--type-h1-fvs);
  color: var(--text-emphasis);
}

.hero__lead {
  margin: 0;
  max-width: 56ch;
  font-size: var(--type-subtitle-size);
  line-height: var(--type-subtitle-line-height);
  font-weight: var(--type-subtitle-weight);
  font-variation-settings: var(--type-subtitle-fvs);
  letter-spacing: var(--type-subtitle-letter-spacing);
  color: var(--text-muted);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacer-2xs);
  margin-top: var(--spacer-sm);
}

.hero--panel,
.hero--brand,
.hero--grad,
.hero--cover,
.hero--aurora {
  padding: var(--hero-pad-block) var(--hero-pad-inline);
  border-radius: var(--radius-xl);
  isolation: isolate;
  overflow: hidden;
}
.hero--panel > *,
.hero--brand > *,
.hero--grad > *,
.hero--cover > *,
.hero--aurora > * {
  position: relative;
  z-index: 1;
}

.hero--panel {
  background: var(--bg-surface-alt);
  border: var(--border-w) solid var(--border-color);
}

.hero--brand {
  background: linear-gradient(135deg, var(--color-primary-900) 0%, var(--color-primary-800) 100%);
}

.hero--grad {
  background: var(--cover-bg, var(--gradient-sky));
}

.hero--brand,
.hero--grad {
  --text-emphasis: var(--color-white);
  --text-color: color-mix(in srgb, var(--color-white) 88%, transparent);
  --text-muted: color-mix(in srgb, var(--color-white) 72%, transparent);
  --hero-eyebrow-color: var(--color-primary-300);
  --border-focus: var(--color-white);
  --btn-primary-bg: var(--color-white);
  --btn-primary-hover: var(--color-primary-100);
  --btn-primary-text: var(--color-primary-900);
  --btn-default-bg: color-mix(in srgb, var(--color-white) 12%, transparent);
  --btn-default-hover: color-mix(in srgb, var(--color-white) 22%, transparent);
  --btn-default-text: var(--color-white);
  color: var(--text-color);
}

.hero > .hero-mascot {
  position: absolute;
  right: var(--hero-pad-inline);
  bottom: 0;
  z-index: 0;
  height: 50%;
  max-width: 200px;
  width: auto;
  pointer-events: none;
}
@media (max-width: 767px) {
  .hero > .hero-mascot {
    display: none;
  }
}

@media (min-width: 768px) {
  .hero > .hero-mascot ~ .hero__inner {
    padding-right: calc(200px + var(--hero-pad-inline));
  }
}

.hero--cover::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--hero-cover, none);
  background-size: cover;
  background-position: center;
  opacity: var(--hero-cover-opacity, 0.22);
  filter: saturate(0.7);
}

.hero-cover-datacenter {
  --hero-cover: url('./assets/backgrounds/hero-datacenter.svg');
}

.hero--aurora::before,
.hero--aurora::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  width: 55%;
  aspect-ratio: 1;
  border-radius: var(--radius-full);
  filter: blur(64px);
  opacity: 0.5;
  animation: hero-aurora var(--hero-aurora-duration, 18s) ease-in-out infinite alternate;
}

.hero--aurora::before {
  top: -30%;
  left: -12%;
  background: radial-gradient(circle, var(--color-primary-500) 0%, transparent 65%);
}

.hero--aurora::after {
  bottom: -35%;
  right: -12%;
  background: radial-gradient(circle, var(--color-secondary-500) 0%, transparent 65%);
  animation-duration: calc(var(--hero-aurora-duration, 18s) * 1.4);
  animation-delay: calc(var(--hero-aurora-duration, 18s) / -2);
}

@keyframes hero-aurora {
  from {
    transform: translate3d(0, 0, 0) scale(1);
  }
  to {
    transform: translate3d(14%, 10%, 0) scale(1.18);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero--aurora::before,
  .hero--aurora::after {
    animation: none;
  }
}
.hero--sm {
  --hero-pad-block: var(--spacer-base);
}
.hero--sm .hero__title {
  font-size: var(--type-h2-size);
  line-height: var(--type-h2-line-height);
  font-weight: var(--type-h2-weight);
  font-variation-settings: var(--type-h2-fvs);
}

.hero--lg {
  --hero-pad-block: var(--spacer-lg);
}

.hero--center {
  text-align: center;
}
.hero--center .hero__inner {
  margin-inline: auto;
}
.hero--center .hero__lead {
  margin-inline: auto;
}
.hero--center .hero__actions {
  justify-content: center;
}

.hero--bordered {
  padding-bottom: var(--spacer-sm);
  border-bottom: var(--border-w) solid var(--border-color);
}

.theme-toggle .theme-toggle-sun {
  display: none;
}

[data-theme=dark] .theme-toggle .theme-toggle-sun {
  display: inline-block;
}
[data-theme=dark] .theme-toggle .theme-toggle-moon {
  display: none;
}

.appearance {
  position: relative;
  display: inline-flex;
}

.appearance-menu {
  position: absolute;
  top: calc(100% + var(--spacer-3xs));
  right: 0;
  min-width: 220px;
  z-index: var(--z-dropdown);
}
.appearance-menu.appearance-menu--up {
  top: auto;
  bottom: calc(100% + var(--spacer-3xs));
}

.appearance-label {
  flex: 1;
}

.appearance-check {
  color: var(--text-link);
}

.appearance-row {
  cursor: pointer;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacer-sm);
  flex-wrap: wrap;
}

.pagination-info {
  font-size: var(--type-body-small-size);
  color: var(--text-muted);
  white-space: nowrap;
}

.pagination-info--end {
  margin-left: auto;
}

.pagination-pages {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
}

.pagination-item {
  min-width: 30px;
  height: 30px;
  padding: 0 var(--spacer-3xs);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--pagination-item-text);
  font: inherit;
  font-size: var(--type-body-small-size);
  cursor: pointer;
  user-select: none;
  transition: background var(--motion-duration-fast), color var(--motion-duration-fast);
}
.pagination-item:hover {
  background: var(--pagination-item-hover-bg);
  color: var(--text-emphasis);
}
.pagination-item.pagination-item--active {
  background: var(--pagination-item-active-bg);
  color: var(--pagination-item-active-text);
  font-weight: 600;
}
.pagination-item:disabled, .pagination-item.pagination-item--disabled {
  color: var(--text-disabled);
  background: transparent;
  cursor: default;
  pointer-events: none;
}

.pagination-ellipsis {
  min-width: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  user-select: none;
}

.pagination-size {
  display: flex;
  align-items: center;
  gap: var(--spacer-3xs);
  font-size: var(--type-body-small-size);
  color: var(--text-muted);
}
.pagination-size .form-input {
  width: auto;
  min-height: 30px;
  padding-top: 0;
  padding-bottom: 0;
  font-size: var(--type-body-small-size);
}

@media (max-width: 640px) {
  .pagination-pages {
    flex-basis: 100%;
    justify-content: center;
  }
}
.toast-stack {
  position: fixed;
  bottom: var(--spacer-sm);
  right: var(--spacer-sm);
  z-index: var(--z-toast);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--spacer-2xs);
  pointer-events: none;
}
.toast-stack.toast-stack--top {
  bottom: auto;
  top: calc(var(--topbar-h, 0px) + var(--spacer-sm));
}

.toast {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: var(--spacer-2xs);
  min-width: 260px;
  max-width: 380px;
  padding: var(--spacer-2xs) var(--spacer-xs);
  background: var(--bg-surface);
  color: var(--text-color);
  border: var(--border-w) solid var(--border-color);
  border-left: 3px solid var(--status-info);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-3);
  animation: toast-in var(--motion-duration-base) var(--motion-ease) both;
}
.toast.toast--success {
  border-left-color: var(--status-success);
}
.toast.toast--success .toast-icon {
  color: var(--status-success);
}
.toast.toast--warning {
  border-left-color: var(--status-warning);
}
.toast.toast--warning .toast-icon {
  color: var(--status-warning);
}
.toast.toast--error {
  border-left-color: var(--status-error);
}
.toast.toast--error .toast-icon {
  color: var(--status-error);
}
.toast.toast--info {
  border-left-color: var(--status-info);
}
.toast.toast--info .toast-icon {
  color: var(--status-info);
}

.toast-icon {
  flex-shrink: 0;
  font-size: 18px;
  line-height: 1.3;
  color: var(--status-info);
}

.toast-body {
  flex: 1;
  min-width: 0;
  font-size: var(--type-body-small-size);
}

.toast-title {
  font-weight: 600;
  color: var(--text-emphasis);
}

.toast-close {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: background var(--motion-duration-fast), color var(--motion-duration-fast);
}
.toast-close:hover {
  background: var(--bg-surface-alt);
  color: var(--text-emphasis);
}

.toast--leaving {
  animation: toast-out var(--motion-duration-base) var(--motion-ease) both;
}

@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateX(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes toast-out {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateX(16px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .toast, .toast--leaving {
    animation: none;
  }
}
.segmented {
  display: inline-flex;
  align-items: stretch;
  gap: var(--spacer-3xs);
  padding: var(--spacer-3xs);
  background: var(--bg-muted);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-md);
}

.segmented-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacer-2xs);
  padding: var(--spacer-3xs) var(--spacer-sm);
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-muted);
  font: inherit;
  font-size: var(--type-body-small-size);
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--motion-duration-fast) var(--motion-ease), color var(--motion-duration-fast) var(--motion-ease);
}
.segmented-item:hover {
  color: var(--text-color);
}
.segmented-item.is-active {
  background: var(--bg-surface);
  color: var(--text-emphasis);
  box-shadow: var(--shadow-1);
}
.segmented-item:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.segmented-item:focus-visible {
  outline: 2px solid var(--border-focus);
  outline-offset: 1px;
}
.segmented-item input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.segmented--block {
  display: flex;
  width: 100%;
}
.segmented--block .segmented-item {
  flex: 1;
}

.avatar {
  --avatar-size: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: var(--radius-full);
  overflow: hidden;
  background: var(--bg-muted);
  color: var(--text-emphasis);
  font-size: calc(var(--avatar-size) * 0.4);
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  user-select: none;
}
.avatar img,
.avatar svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.avatar--xs {
  --avatar-size: 1.25rem;
}

.avatar--sm {
  --avatar-size: 1.5rem;
}

.avatar--lg {
  --avatar-size: 3rem;
}

.avatar--xl {
  --avatar-size: 4rem;
}

.avatar--tinted {
  background: var(--avatar-bg, var(--category-teal-bg));
  color: var(--avatar-fg, var(--category-teal));
}

.avatar-group {
  display: inline-flex;
  align-items: center;
}
.avatar-group .avatar {
  border: 2px solid var(--bg-surface);
  margin-left: calc(var(--avatar-size, 2rem) * -0.3);
}
.avatar-group .avatar:first-child {
  margin-left: 0;
}

.avatar--more {
  background: var(--bg-surface-alt);
  color: var(--text-muted);
  font-size: calc(var(--avatar-size) * 0.34);
}

.tn {
  position: relative;
  background: var(--topnav-bg);
  border-bottom: var(--border-w) solid var(--topnav-border);
  box-shadow: var(--shadow-1);
}

.tn--sticky {
  position: sticky;
  top: 0;
  z-index: var(--z-chrome);
}

.tn-bar {
  display: flex;
  align-items: center;
  gap: var(--spacer-sm);
  height: 64px;
  max-width: var(--layout-max-width);
  margin: 0 auto;
  padding: 0 var(--layout-gutter);
}

.tn-brand {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: var(--spacer-xs);
  text-decoration: none;
}

.tn-brand-mark {
  display: block;
  width: 150px;
  height: 37px;
  background: var(--logo-topnav) no-repeat left center;
  background-size: contain;
}

.tn-items {
  display: flex;
  align-items: stretch;
  align-self: stretch;
  gap: var(--spacer-3xs);
}

.tn-item {
  display: inline-flex;
  align-items: center;
  position: relative;
}

.tn-item--mega {
  position: static;
}

.tn-link,
.tn-trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-3xs);
  padding: var(--spacer-2xs) var(--spacer-xs);
  border-radius: var(--radius-sm);
  color: var(--topnav-text);
  text-decoration: none;
  background: none;
  border: 0;
  cursor: pointer;
  font: inherit;
  transition: color var(--motion-duration-fast), background var(--motion-duration-fast);
}
.tn-link:hover,
.tn-trigger:hover {
  color: var(--topnav-text-hover);
  background: var(--topnav-hover-bg);
}

.tn-chevron {
  transition: transform var(--motion-duration-fast);
}

.tn-open > .tn-trigger {
  color: var(--topnav-text-hover);
  background: var(--topnav-hover-bg);
}

.tn-open .tn-chevron {
  transform: rotate(180deg);
}

.tn-panel {
  position: absolute;
  top: calc(100% + 6px);
  z-index: var(--z-dropdown);
  border-top: 3px solid var(--color-primary-500);
  padding: var(--spacer-sm);
}
.tn-panel::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 12px;
}

.tn-dropdown {
  left: 0;
  min-width: 300px;
}
.tn-dropdown ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.tn-dropdown ul li {
  margin: 0;
}

.tn-mega {
  left: 0;
  right: 0;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 240px repeat(3, minmax(170px, 1fr)) 220px;
  gap: var(--spacer-base);
  width: min(92vw, 1120px);
}
.tn-mega ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacer-3xs);
}
.tn-mega ul li {
  margin: 0;
}

.tn-mega-heading {
  margin-bottom: var(--spacer-2xs);
  padding-bottom: var(--spacer-3xs);
  border-bottom: var(--border-w) solid var(--border-faint);
}

.tn-mega-promo {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-3xs);
  justify-content: flex-end;
  min-height: 180px;
  padding: var(--spacer-sm);
  border-radius: var(--radius-md);
  background: var(--surface-dark-bg);
  text-decoration: none;
}

.tn-mega-promo-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: var(--spacer-2xs);
  color: var(--color-primary-400);
}

.tn-mega-cta {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-3xs);
  justify-content: center;
  padding: var(--spacer-sm);
  border-radius: var(--radius-md);
  border: var(--border-w) solid var(--border-color);
  background: var(--bg-surface-alt);
}

.tn-link-row {
  display: flex;
  align-items: flex-start;
  gap: var(--spacer-2xs);
  padding: var(--spacer-2xs);
  border-radius: var(--radius-sm);
  text-decoration: none;
  color: var(--text-color);
  transition: background var(--motion-duration-fast);
}
.tn-link-row:hover {
  background: var(--bg-surface-alt);
}

.tn-link-icon {
  color: var(--color-primary-500);
  margin-top: 2px;
  flex-shrink: 0;
}

.tn-link-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.tn-tools {
  display: flex;
  align-items: center;
  gap: var(--spacer-xs);
  margin-left: auto;
}

.tn-search {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.tn-search-icon {
  position: absolute;
  left: var(--spacer-2xs);
  z-index: 1;
  color: var(--text-muted);
  pointer-events: none;
}

.tn-search .form-input {
  padding-left: 28px;
}

.tn-actions {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-2xs);
}

.tn-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--btn-primary-bg);
  color: var(--btn-primary-text, #fff);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.tn-account > .tn-dropdown {
  left: auto;
  right: 0;
  width: max-content;
  min-width: 240px;
  max-width: 320px;
}

.tn-account-id {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--spacer-3xs) var(--spacer-sm);
}
.tn-account-id .type-small {
  overflow-wrap: anywhere;
}

.tn-hamburger {
  display: none;
  margin-left: auto;
  padding: var(--spacer-3xs);
  background: none;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--text-color);
  cursor: pointer;
}
.tn-hamburger:hover {
  background: var(--bg-surface-alt);
}

.tn-drawer {
  border-top: var(--border-w) solid var(--border-color);
  padding: var(--spacer-sm) var(--spacer-md);
  display: flex;
  flex-direction: column;
  gap: var(--spacer-2xs);
}

.tn-drawer-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-bottom: var(--spacer-2xs);
}

.tn-drawer-heading {
  margin-bottom: var(--spacer-3xs);
}

.tn-drawer-link {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
  padding: var(--spacer-2xs);
  border-radius: var(--radius-sm);
  text-decoration: none;
  color: var(--text-color);
}
.tn-drawer-link:hover {
  background: var(--bg-surface-alt);
}

.tn-drawer-sub {
  padding-left: var(--spacer-sm);
  color: var(--text-muted);
}

.tn-drawer-footer {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-xs);
  padding-top: var(--spacer-2xs);
  border-top: var(--border-w) solid var(--border-faint);
}

@media (max-width: 1024px) {
  .tn-items, .tn-tools {
    display: none;
  }
  .tn-hamburger {
    display: inline-flex;
  }
}
@media (max-width: 720px) {
  .tn-mega {
    grid-template-columns: 1fr;
    width: min(92vw, 380px);
  }
}
.sidebar {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  background: var(--navigation-bg);
  color: var(--nav-text);
  display: flex;
  flex-direction: column;
}

.sidebar-logo {
  height: var(--topbar-h);
  background: var(--navigation-bg);
  padding: 0 var(--spacer-sm);
  border-bottom: var(--border-w) solid var(--border-color);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sidebar-logo-mark {
  height: 26px;
  background: var(--logo-base) no-repeat left center;
  background-size: contain;
}

.sidebar-logo-sub {
  margin-top: 3px;
  font-size: var(--type-body-small-size);
  color: var(--nav-text-faint);
  letter-spacing: 0.04em;
}

#sidebarNav {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.sb-viewport {
  flex: 1;
  overflow: hidden;
  position: relative;
}

.sb-panel {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: var(--spacer-3xs) 0;
  transform: translateX(0);
  transition: transform var(--motion-duration-base) cubic-bezier(0.4, 0, 0.2, 1);
}
.sb-panel::-webkit-scrollbar {
  width: 4px;
}
.sb-panel::-webkit-scrollbar-track {
  background: transparent;
}
.sb-panel::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 2px;
}

.sb-off-left {
  transform: translateX(-100%);
}

.sb-off-right {
  transform: translateX(100%);
}

.sb-back {
  display: flex;
  align-items: center;
  gap: var(--spacer-3xs);
  padding: var(--spacer-2xs) var(--spacer-sm);
  margin-bottom: var(--spacer-3xs);
  cursor: pointer;
  color: var(--nav-text);
  transition: color var(--motion-duration-fast);
  border-bottom: var(--border-w) solid var(--border-color);
}
.sb-back:hover {
  color: var(--text-inverse);
}

.sb-back-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.sb-back-icon svg {
  width: 100%;
  height: 100%;
}

.sb-back-label {
  font-size: var(--type-body-size);
  font-weight: 600;
}

.sidebar--static {
  flex: none;
  min-height: auto;
  overflow: visible;
  border-right: var(--border-w) solid var(--border-color);
  background: color-mix(in srgb, var(--navigation-bg) 80%, transparent);
  backdrop-filter: blur(var(--spacer-sm));
}

.sb-section {
  margin: var(--spacer-sm) var(--spacer-sm) var(--spacer-3xs);
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  letter-spacing: var(--type-small-label-letter-spacing);
  text-transform: var(--type-small-label-text-transform);
  color: var(--nav-text-faint);
}
.sb-section:first-child {
  margin-top: 0;
}

.sb-divider {
  height: 1px;
  background: var(--border-color);
  margin: var(--spacer-3xs) var(--spacer-sm);
}

.sb-spacer {
  flex: 1 1 auto;
  min-height: var(--spacer-base);
}

.sb-item {
  display: flex;
  align-items: center;
  gap: var(--spacer-xs);
  padding: var(--spacer-xs) var(--spacer-sm);
  margin: 1px var(--spacer-3xs);
  border-radius: var(--radius-sm);
  font-size: var(--type-body-size);
  color: var(--nav-text);
  text-decoration: none;
  cursor: pointer;
  transition: background var(--motion-duration-fast), color var(--motion-duration-fast);
  min-height: 32px;
  flex-shrink: 0;
  user-select: none;
}
.sb-item:hover {
  background: var(--nav-hover-bg);
  color: var(--nav-text-hover);
}
.sb-item:hover .sb-item-icon {
  color: var(--nav-text-hover);
}
.sb-item.sb-active {
  background: var(--nav-active-bg);
  color: var(--nav-text-active);
}
.sb-item.sb-active .sb-item-icon {
  color: var(--nav-text-active);
}
.sb-item.sb-active .sb-chevron {
  color: color-mix(in srgb, var(--nav-text-active) 50%, transparent);
}
.sb-item.sb-has-active {
  color: var(--nav-text-has-active);
}
.sb-item.sb-has-active .sb-item-icon {
  color: var(--nav-text-has-active);
}

.sb-item-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: inherit;
  transition: color var(--motion-duration-fast);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
}
.sb-item-icon svg {
  width: 100%;
  height: 100%;
}

.sb-item-label {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.sb-chevron {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--nav-text-faint);
}
.sb-chevron svg {
  width: 100%;
  height: 100%;
}

.sb-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin: -4px -5px -4px 0;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: var(--radius-sm);
  flex-shrink: 0;
  color: var(--nav-text-faint);
  font: inherit;
  font-size: 14px;
  line-height: 0;
  cursor: pointer;
  transition: background var(--motion-duration-fast), color var(--motion-duration-fast), transform var(--motion-duration-base) ease;
}
.sb-toggle svg {
  width: 14px;
  height: 14px;
}
.sb-toggle:hover {
  background: var(--border-color);
  color: var(--nav-text-hover);
}
.sb-toggle.sb-toggle-open {
  transform: rotate(90deg);
  color: var(--nav-text);
}

.sb-children {
  overflow: hidden;
  max-height: 0;
  flex-shrink: 0;
  transition: max-height var(--motion-duration-base) ease;
}
.sb-children.sb-children-open {
  max-height: 300px;
}
.sb-children .sb-item {
  padding-left: calc(var(--spacer-sm) + 18px + var(--spacer-xs));
  min-height: 30px;
  color: var(--nav-text-faint);
}
.sb-children .sb-item:hover {
  color: var(--nav-text-hover);
}
.sb-children .sb-item.sb-active {
  color: var(--nav-text-active);
}
.sb-children .sb-item .sb-item-icon {
  width: 16px;
  height: 16px;
}

.sb-flyout {
  flex: 1;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

.sb-flyout-l0 {
  width: 100%;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  padding: var(--spacer-3xs) 0;
  transition: width var(--motion-duration-base) var(--motion-ease);
}
.sb-flyout-l0 .sb-item {
  transition: padding var(--motion-duration-base) var(--motion-ease), background var(--motion-duration-fast), color var(--motion-duration-fast);
}
.sb-flyout-l0 .sb-item-label {
  transition: opacity var(--motion-duration-fast) var(--motion-ease);
}

.sb-flyout.is-open .sb-flyout-l0 {
  width: var(--sb-rail-width, 56px);
  border-right: var(--border-w) solid var(--border-color);
}

.sb-flyout.is-open .sb-flyout-l0 .sb-item {
  padding-left: calc((var(--sb-rail-width, 56px) - 18px) / 2 - var(--spacer-3xs));
  padding-right: 0;
}

.sb-flyout.is-open .sb-flyout-l0 .sb-item-label {
  opacity: 0;
  flex: 0 0 0;
  width: 0;
  white-space: nowrap;
  overflow: hidden;
}

.sb-flyout-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.sb-flyout-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  margin-right: var(--spacer-2xs);
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: var(--radius-sm);
  color: var(--nav-text-faint);
  cursor: pointer;
  transition: background var(--motion-duration-fast), color var(--motion-duration-fast);
}
.sb-flyout-close svg {
  width: 16px;
  height: 16px;
}
.sb-flyout-close:hover {
  background: var(--nav-hover-bg);
  color: var(--nav-text-hover);
}

.sb-flyout-panel {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

@property --sb-fade {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
.sb-flyout-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: var(--spacer-3xs) 0;
  --sb-fade: 0px;
  mask-image: linear-gradient(to bottom, transparent, #000 var(--sb-fade));
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 var(--sb-fade));
  transition: --sb-fade var(--motion-duration-base) var(--motion-ease);
}
.sb-flyout-scroll.is-scrolled {
  --sb-fade: var(--spacer-base);
}
.sb-flyout-scroll::-webkit-scrollbar {
  width: 4px;
}
.sb-flyout-scroll::-webkit-scrollbar-track {
  background: transparent;
}
.sb-flyout-scroll::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 2px;
}

.sb-flyout-title {
  padding: var(--spacer-xs) var(--spacer-sm);
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  text-transform: var(--type-small-label-text-transform);
  letter-spacing: var(--type-small-label-letter-spacing);
  color: var(--nav-text-faint);
  white-space: nowrap;
}

.sb-flyout-tipwrap {
  display: block;
}

.sb-badge {
  font-size: 9px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 10px;
  flex-shrink: 0;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.sb-badge-todo {
  background: var(--status-todo);
  color: var(--color-gray-950);
}

.sidebar-footer {
  flex-shrink: 0;
  border-top: var(--border-w) solid var(--border-color);
}

.theme-switcher {
  padding: var(--spacer-xs) var(--spacer-sm);
  display: flex;
  align-items: center;
  gap: var(--spacer-3xs);
}

.theme-switcher-label {
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  font-variation-settings: var(--type-small-label-fvs);
  text-transform: var(--type-small-label-text-transform);
  letter-spacing: var(--type-small-label-letter-spacing);
  color: var(--nav-text-faint);
  margin-right: var(--spacer-3xs);
}

.toc {
  position: sticky;
  top: calc(var(--topbar-h, 64px) + var(--spacer-base));
  align-self: start;
  max-height: calc(100vh - var(--topbar-h, 64px) - var(--spacer-lg));
  overflow-y: auto;
  font-size: var(--type-body-small-size);
}

.toc-title {
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  font-variation-settings: var(--type-small-label-fvs);
  text-transform: var(--type-small-label-text-transform);
  letter-spacing: var(--type-small-label-letter-spacing);
  color: var(--text-muted);
  margin-bottom: var(--spacer-2xs);
  padding-left: var(--spacer-sm);
}

.toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: var(--border-w) solid var(--border-color);
}

.toc-item {
  margin: 0;
}

.toc-link {
  display: block;
  padding: var(--spacer-3xs) var(--spacer-sm);
  margin-left: calc(var(--border-w) * -1);
  border-left: 2px solid transparent;
  color: var(--text-muted);
  text-decoration: none;
  line-height: 1.4;
  transition: color var(--motion-duration-fast) var(--motion-ease), border-color var(--motion-duration-fast) var(--motion-ease);
}
.toc-link:hover {
  color: var(--text-color);
}
.toc-link.is-active {
  color: var(--text-link);
  border-left-color: var(--text-link);
  font-weight: 600;
}

.toc-link--sub {
  padding-left: var(--spacer-base);
}

.toc-link--sub2 {
  padding-left: var(--spacer-lg);
}

.toc-target,
.toc-content :is(h2, h3, h4, h5, h6)[id] {
  scroll-margin-top: calc(var(--topbar-h, 64px) + var(--spacer-sm));
}

.toc-demo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 200px;
  gap: var(--spacer-lg);
}
@media (max-width: 800px) {
  .toc-demo {
    grid-template-columns: 1fr;
  }
  .toc-demo .toc {
    display: none;
  }
}

.table-container {
  padding: var(--spacer-sm);
}

.table-header {
  margin-bottom: var(--spacer-xs);
}
.table-header h3 {
  font-size: var(--type-h4-size);
  line-height: var(--type-h4-line-height);
  font-weight: var(--type-h4-weight);
}

.table-wrapper {
  overflow-x: auto;
}
.table-wrapper.table-wrapper-scroll {
  max-height: calc(100vh - 220px);
  overflow: auto;
}

.data-table {
  margin-bottom: 0;
}
.data-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}
.data-table.freeze-2 .table-header-cell.sticky-col,
.data-table.freeze-2 .table-cell.sticky-col {
  position: sticky;
  z-index: 1;
}
.data-table.freeze-2 .table-header-cell.sticky-col {
  background: var(--bg-muted);
}
.data-table.freeze-2 .table-cell.sticky-col {
  background: var(--bg-surface);
}
.data-table.freeze-2 thead .table-header-cell.sticky-col {
  z-index: 3;
}
.data-table.freeze-2 th.table-header-cell[data-col-index="0"],
.data-table.freeze-2 td.table-cell[data-col-index="0"] {
  left: 0;
  min-width: var(--dt-freeze-0-min, 12rem);
  max-width: var(--dt-freeze-0-max, none);
  box-shadow: 2px 0 0 0 var(--border-faint);
}
.data-table.freeze-2 th.table-header-cell[data-col-index="1"],
.data-table.freeze-2 td.table-cell[data-col-index="1"] {
  left: var(--dt-freeze-1-left, 12rem);
  min-width: var(--dt-freeze-1-min, 10rem);
  max-width: var(--dt-freeze-1-max, none);
  box-shadow: 2px 0 0 0 var(--border-faint);
}
.data-table.freeze-2.freeze-fixed th.table-header-cell[data-col-index="0"],
.data-table.freeze-2.freeze-fixed td.table-cell[data-col-index="0"] {
  width: var(--dt-freeze-0);
  min-width: var(--dt-freeze-0);
  max-width: var(--dt-freeze-0);
  box-sizing: border-box;
}
.data-table.freeze-2.freeze-fixed th.table-header-cell[data-col-index="1"],
.data-table.freeze-2.freeze-fixed td.table-cell[data-col-index="1"] {
  left: var(--dt-freeze-1-left);
  width: var(--dt-freeze-1);
  min-width: var(--dt-freeze-1);
  max-width: var(--dt-freeze-1);
  box-sizing: border-box;
}

.table-header-cell {
  padding: var(--spacer-3xs) var(--spacer-2xs);
  vertical-align: top;
  min-width: 175px;
}
.table-header-cell.sortable {
  cursor: pointer;
  user-select: none;
}
.table-header-cell.sortable:hover {
  background-color: var(--bg-surface-alt);
}

.table-header-plain {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0 var(--spacer-2xs);
}

.table-header-sort {
  display: flex;
  align-items: center;
  gap: var(--spacer-3xs);
  min-height: 2.75rem;
  padding: 0 var(--spacer-3xs) 0 var(--spacer-2xs);
}
.table-header-sort .col-select-sort-icon:not(.col-select-sort-icon--dim) {
  color: var(--text-link);
}

.table-header-sort-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.table-cell {
  vertical-align: top;
}

.table-row.row-highlight {
  background-color: var(--status-warning-bg);
}
.table-row.row-highlight:hover {
  background-color: color-mix(in srgb, var(--status-warning) 18%, var(--bg-surface));
}

.col-select {
  position: relative;
  display: flex;
  align-items: center;
  height: 2.75rem;
  padding: var(--spacer-3xs) var(--spacer-3xs) var(--spacer-3xs) var(--spacer-2xs);
  border-radius: var(--radius-sm);
  cursor: pointer;
  user-select: none;
  background: var(--input-bg);
  box-shadow: var(--shadow-inset);
  transition: box-shadow 150ms ease;
}
.col-select:hover {
  box-shadow: 0 0 0 1px var(--border-color), var(--shadow-inset);
}
.col-select.col-select--open {
  box-shadow: 0 0 0 2px var(--border-focus), var(--shadow-inset);
}
.col-select.col-select--locked {
  opacity: 0.7;
  cursor: not-allowed;
}
.col-select.col-select--open .col-select-label {
  color: var(--text-link);
}

.col-select-label {
  position: absolute;
  left: var(--spacer-2xs);
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  transform-origin: left center;
  color: var(--text-muted);
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
  transition: all var(--motion-duration-fast) var(--motion-ease);
}
.col-select-label.col-select-label--float {
  top: var(--spacer-3xs);
  right: 2.5rem;
  transform: translateY(0) scale(0.8);
  color: var(--text-link);
}

.col-select-value {
  flex: 1 1 0%;
  min-width: 0;
  font-size: var(--type-body-size);
  color: var(--text-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
  padding-top: var(--spacer-2xs);
}

.col-select-trailing {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 2px;
  margin-left: var(--spacer-3xs);
}

.col-select-sort {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 0;
  color: var(--text-muted);
  transition: color var(--motion-duration-fast) var(--motion-ease), background-color var(--motion-duration-fast) var(--motion-ease);
  border-radius: var(--radius-sm);
}
.col-select-sort:hover {
  background-color: color-mix(in srgb, var(--text-link) 8%, transparent);
}

.col-select-sort-icon {
  display: block;
  color: var(--text-muted);
  transition: color var(--motion-duration-fast) var(--motion-ease), transform var(--motion-duration-fast) var(--motion-ease);
}

.col-select-sort-icon--dim {
  opacity: 0.4;
}

.col-select-sort-icon--asc {
  transform: scaleY(-1);
}

.col-select-sort--active .col-select-sort-icon {
  color: var(--text-link);
  opacity: 1;
}

.col-select-dropdown {
  z-index: var(--z-popover);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-size: var(--type-body-size);
}
.col-select-dropdown .form-input::placeholder {
  color: var(--text-muted);
}

.csd-input-wrap {
  position: relative;
  flex: 1 1 0%;
  min-width: 0;
}

.csd-input--has-clear {
  padding-right: 1.75rem !important;
}

.csd-input--has-actions {
  padding-right: 3rem !important;
}

.csd-input-actions {
  position: absolute;
  right: var(--spacer-3xs);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 1px;
}

.csd-input-clear,
.csd-input-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border: 0;
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  font-size: var(--type-body-small-size);
  line-height: 1;
  color: var(--text-muted);
  transition: color var(--motion-duration-fast) var(--motion-ease), background-color var(--motion-duration-fast) var(--motion-ease);
}

.csd-input-clear:hover {
  color: var(--status-error);
  background-color: color-mix(in srgb, var(--status-error) 8%, transparent);
}

.csd-input-apply .icon-play {
  font-size: 0.8em;
}
.csd-input-apply:hover {
  color: var(--text-link);
  background-color: color-mix(in srgb, var(--text-link) 8%, transparent);
}

.csd-search-row,
.csd-master-row {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
  padding: var(--spacer-2xs);
  border-bottom: var(--border-w) solid var(--border-faint);
}

.csd-master-row {
  padding: var(--spacer-3xs) var(--spacer-2xs);
}
.csd-master-row:hover {
  background-color: var(--bg-surface-alt);
}

.csd-master-label {
  font-weight: 500;
  color: var(--text-muted);
  user-select: none;
  cursor: pointer;
}

.csd-condition-panel {
  padding: var(--spacer-2xs);
  border-bottom: var(--border-w) solid var(--border-faint);
  display: flex;
  flex-direction: column;
  gap: var(--spacer-3xs);
}

.csd-condition-inputs {
  display: flex;
  align-items: center;
  gap: var(--spacer-3xs);
}

.csd-range-sep {
  color: var(--text-muted);
  font-weight: 600;
}

.csd-value-list {
  list-style: none;
  margin: 0;
  padding: var(--spacer-3xs) 0;
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 0;
}

.csd-value-row {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
  padding: 0 var(--spacer-2xs);
}
.csd-value-row:hover {
  background-color: var(--bg-surface-alt);
}

.csd-value-text {
  flex: 1 1 0%;
  min-width: 0;
  padding: var(--spacer-3xs) 0;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text-color);
  transition: color var(--motion-duration-fast) var(--motion-ease);
}
.csd-value-text:hover {
  color: var(--text-link);
}

.csd-value-blank {
  font-style: italic;
  color: var(--text-muted);
}

.csd-empty {
  padding: var(--spacer-xs) var(--spacer-2xs);
  color: var(--text-muted);
  font-style: italic;
  text-align: center;
}

.csd-footer {
  padding: var(--spacer-2xs);
  border-top: var(--border-w) solid var(--border-color);
  background: var(--bg-surface-alt);
}

.csd-sort-row {
  display: flex;
  gap: var(--spacer-3xs);
  margin-bottom: var(--spacer-3xs);
}

.csd-sort-btn {
  flex: 1 1 0%;
}

.csd-sort-btn-icon--asc {
  transform: scaleY(-1);
}

.csd-clear-btn {
  width: 100%;
}

.gs {
  position: relative;
  width: 100%;
  max-width: 600px;
}

.gs-input-wrap {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
  padding: 0 var(--spacer-sm);
  background: transparent;
  border: var(--border-w) solid var(--border-color);
  border-radius: 999px;
  transition: border-color var(--motion-duration-fast), box-shadow var(--motion-duration-fast), background var(--motion-duration-fast);
}

.gs-focus {
  border-color: var(--border-focus);
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--ring-color) 55%, transparent);
}

.gs-search-icon {
  color: var(--text-muted);
  flex-shrink: 0;
}

.gs-input:placeholder-shown + .input-clear {
  display: none;
}

.gs-input::-webkit-search-cancel-button,
.gs-input::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.gs-input {
  flex: 1;
  min-width: 0;
  padding: 10px var(--spacer-2xs);
  border: 0;
  background: none;
  outline: none;
  color: var(--text-color);
  font: inherit;
}
.gs-input::placeholder {
  color: var(--text-muted);
}

.gs-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: var(--z-dropdown);
  max-height: 440px;
}

.gs-section {
  padding: var(--spacer-3xs) 0;
}

.gs-section + .gs-section {
  border-top: var(--border-w) solid var(--border-faint);
}

.gs-label {
  padding: var(--spacer-3xs) var(--spacer-sm);
}

.gs-item {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
  width: 100%;
  padding: var(--spacer-2xs) var(--spacer-sm);
  background: none;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--text-color);
  font: inherit;
  transition: background 0.08s;
}
.gs-item:hover {
  background: var(--bg-surface-alt);
}

.gs-item--active {
  background: var(--bg-surface-alt);
}

.gs-ai {
  background: color-mix(in oklch, var(--color-secondary-500) 6%, var(--bg-surface));
  border-top: var(--border-w) solid color-mix(in oklch, var(--color-secondary-500) 22%, var(--bg-surface));
}

.gs-item--ai.gs-item--active,
.gs-item--ai:hover {
  background: color-mix(in oklch, var(--color-secondary-500) 12%, var(--bg-surface));
}

.aic-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacer-md);
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(2px);
  animation: aic-fade var(--motion-duration-fast) ease-out;
}

.aic-modal {
  display: flex;
  flex-direction: column;
  width: 560px;
  max-width: calc(100vw - 48px);
  height: 520px;
  max-height: calc(100vh - 96px);
  background: var(--bg-surface);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-5);
  overflow: hidden;
  animation: aic-slide-up var(--motion-duration-base) ease-out;
}

.aic-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacer-xs) var(--spacer-sm);
  border-bottom: var(--border-w) solid var(--border-color);
  background: var(--bg-surface-alt);
}

.aic-title {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-2xs);
  color: var(--text-emphasis);
}

.aic-messages {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--spacer-xs);
  padding: var(--spacer-sm);
}

.aic-empty {
  padding: var(--spacer-xs) 0;
}

.aic-prompts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacer-2xs);
}

.aic-msg {
  display: flex;
}

.aic-msg--user {
  justify-content: flex-end;
}

.aic-msg--assistant {
  justify-content: flex-start;
}

.aic-bubble {
  max-width: 80%;
  padding: var(--spacer-2xs) var(--spacer-sm);
  border-radius: var(--radius-md);
}

.aic-msg--user .aic-bubble {
  background: var(--color-primary-600);
  color: var(--text-inverse);
  border-bottom-right-radius: var(--radius-sm);
}

.aic-msg--assistant .aic-bubble {
  background: var(--bg-surface-alt);
  color: var(--text-color);
  border-bottom-left-radius: var(--radius-sm);
}

.aic-typing {
  display: inline-flex;
  gap: 4px;
  padding: 4px 0;
}
.aic-typing span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--text-muted);
  animation: aic-typing-dot 1.2s infinite;
}
.aic-typing span:nth-child(2) {
  animation-delay: var(--motion-duration-base);
}
.aic-typing span:nth-child(3) {
  animation-delay: 0.4s;
}

.aic-input-area {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
  padding: var(--spacer-xs) var(--spacer-sm);
  border-top: var(--border-w) solid var(--border-color);
  background: var(--bg-surface-alt);
}

.aic-input {
  flex: 1;
  min-width: 0;
  padding: var(--spacer-2xs) var(--spacer-sm);
  border: var(--border-w) solid var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--input-bg);
  color: var(--input-text);
  font: inherit;
  outline: none;
  transition: border-color var(--motion-duration-fast), box-shadow var(--motion-duration-fast);
}
.aic-input::placeholder {
  color: var(--text-muted);
}
.aic-input:focus {
  border-color: var(--color-secondary-500);
  box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-secondary-500) 25%, transparent);
}

@keyframes aic-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes aic-slide-up {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes aic-typing-dot {
  0%, 60%, 100% {
    opacity: 0.3;
    transform: scale(0.8);
  }
  30% {
    opacity: 1;
    transform: scale(1);
  }
}
.graph-cluster,
.graph-zone {
  position: relative;
  border-radius: var(--radius-md);
  padding: var(--spacer-base) var(--spacer-sm) var(--spacer-sm);
}

.graph-cluster {
  border: 2px solid var(--graph-cluster-border);
}

.graph-zone {
  border: var(--border-w) dashed var(--graph-zone-border);
  background: var(--graph-zone-bg);
}

.graph-label {
  position: absolute;
  top: 0;
  left: var(--spacer-sm);
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-3xs);
  padding: 0 var(--spacer-2xs);
  background: var(--bg-surface);
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  text-transform: var(--type-small-label-text-transform);
  letter-spacing: var(--type-small-label-letter-spacing);
  color: var(--text-muted);
}

.graph-node {
  display: inline-block;
  color: var(--graph-node);
  font-size: 44px;
  line-height: 1;
  flex-shrink: 0;
}

.graph-node--healthy::after {
  color: var(--graph-state-healthy);
}

.graph-node--degraded::after {
  color: var(--graph-state-degraded);
}

.graph-node--down::after {
  color: var(--graph-state-down);
}

.graph-node--joining::after {
  color: var(--graph-state-joining);
}

.graph-node--endpoint {
  color: var(--graph-edge-private);
}

.graph-db {
  color: var(--graph-db);
  display: inline-flex;
}

.graph-svg {
  display: block;
  max-width: 100%;
  overflow: visible;
}

.graph-edge {
  fill: none;
  stroke: var(--graph-edge-gossip);
  stroke-width: var(--graph-w-base);
  stroke-linecap: round;
}

.graph-edge--gossip {
  stroke: var(--graph-edge-gossip);
  stroke-width: var(--graph-w-thin);
}

.graph-edge--replication {
  stroke: var(--graph-edge-replication);
  stroke-width: var(--graph-w-thick);
}

.graph-edge--client {
  stroke: var(--graph-edge-client);
}

.graph-edge--crossdc {
  stroke: var(--graph-edge-crossdc);
}

.graph-edge--logical {
  stroke-dasharray: var(--graph-dash-logical);
}

.graph-edge--optional {
  stroke-dasharray: var(--graph-dash-optional);
}

.graph-edge--degraded {
  stroke: var(--graph-state-degraded);
}

.graph-edge--down {
  stroke: var(--graph-state-down);
  stroke-dasharray: var(--graph-dash-optional);
}

.graph-rail {
  fill: none;
  stroke: var(--graph-edge-private);
  stroke-width: 5px;
  stroke-linecap: round;
}

.graph-rail-core {
  fill: none;
  stroke: var(--bg-surface);
  stroke-width: 2px;
  stroke-linecap: round;
}

.graph-mesh {
  position: relative;
  width: 220px;
  height: 124px;
  margin-inline: auto;
}

.graph-mesh-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.graph-mesh .graph-node {
  position: absolute;
  font-size: 40px;
  transform: translate(-50%, -50%);
}

.graph-mesh-n1 {
  left: 42px;
  top: 92px;
}

.graph-mesh-n2 {
  left: 110px;
  top: 34px;
}

.graph-mesh-n3 {
  left: 178px;
  top: 92px;
}

.graph-legend {
  display: grid;
  gap: var(--spacer-2xs);
}

.graph-legend-row {
  display: grid;
  grid-template-columns: 96px 1fr;
  align-items: center;
  gap: var(--spacer-sm);
}

.graph-legend-line {
  width: 96px;
  height: 16px;
}

.graph-cluster--mini,
.graph-zone--mini {
  padding: var(--spacer-sm) var(--spacer-base);
}

.graph-psc {
  display: flex;
  align-items: stretch;
  gap: var(--spacer-base);
  flex-wrap: wrap;
}

.graph-psc__side {
  flex: 1;
  min-width: 220px;
}

.graph-psc__rail {
  flex: 0 0 200px;
  min-width: 160px;
}

.graph-psc__stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacer-sm);
}

.graph-symbols {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--spacer-base);
}

.graph-symbol {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacer-2xs);
  text-align: center;
}

.graph-symbol-stage {
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.graph-box {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-2xs);
  padding: var(--spacer-2xs) var(--spacer-sm);
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-sm);
  background: var(--bg-surface);
  font-weight: 600;
  color: var(--text-color);
}

.graph-rail-strip {
  position: relative;
  display: flex;
  align-items: center;
}

.graph-rail-strip .graph-svg {
  flex: 1;
  height: 20px;
}

.graph-rail-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-3xs);
  padding: var(--spacer-3xs) var(--spacer-2xs);
  border-radius: var(--radius-pill, var(--radius-md));
  background: var(--bg-surface);
  border: var(--border-w) solid var(--graph-edge-private);
  color: var(--graph-edge-private);
  font-size: var(--type-small-label-size);
  font-weight: 600;
  white-space: nowrap;
}

.chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--spacer-sm);
  margin-bottom: var(--spacer-sm);
}
.chart-grid.chart-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .chart-grid,
  .chart-grid.chart-grid--3 {
    grid-template-columns: 1fr;
  }
}
.chart-container {
  position: relative;
  width: 100%;
  height: 300px;
}
.chart-container canvas {
  max-width: 100%;
}
.chart-container.chart-container--tall {
  height: 360px;
}

.chart-bar-row {
  display: flex;
  align-items: center;
  gap: var(--spacer-sm);
}
.chart-bar-row + .chart-bar-row {
  margin-top: var(--spacer-2xs);
}

.chart-bar-label {
  flex: 0 0 auto;
  min-width: 84px;
  font-weight: 600;
  font-size: var(--type-body-small-size);
  color: var(--text-color);
}

.chart-bar {
  display: flex;
  flex: 1;
  min-width: 0;
  height: 40px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--bg-muted);
}
.chart-bar.chart-bar--sm {
  height: 24px;
}
.chart-bar.chart-bar--lg {
  height: 64px;
}

.chart-bar__segment {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 100%;
  color: var(--color-white);
  font-weight: 700;
  font-size: var(--type-subtitle-size);
  font-variant-numeric: tabular-nums;
  --chart-c: var(--chart-1);
  background: var(--chart-c);
  transition: width var(--motion-duration-base) var(--motion-ease);
  text-shadow: 0 0 3px var(--chart-c), 0 0 3px var(--chart-c), 0 0 5px var(--chart-c), 0 0 5px var(--chart-c), 0 0 8px var(--chart-c);
}
.chart-bar__segment:not(:last-child) {
  border-right: 2px solid var(--bg-surface);
}

.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacer-2xs) var(--spacer-sm);
  margin-top: var(--spacer-2xs);
}

.chart-legend__item {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-3xs);
  font-size: var(--type-body-small-size);
  color: var(--text-color);
}

.chart-legend__dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex-shrink: 0;
  background: var(--chart-1);
}

.chart-c--s1 {
  --chart-c: var(--chart-1);
  background: var(--chart-c);
}

.chart-c--s2 {
  --chart-c: var(--chart-2);
  background: var(--chart-c);
}

.chart-c--s3 {
  --chart-c: var(--chart-3);
  background: var(--chart-c);
}

.chart-c--s4 {
  --chart-c: var(--chart-4);
  background: var(--chart-c);
}

.chart-c--s5 {
  --chart-c: var(--chart-5);
  background: var(--chart-c);
}

.chart-c--s6 {
  --chart-c: var(--chart-6);
  background: var(--chart-c);
}

.chart-c--s7 {
  --chart-c: var(--chart-7);
  background: var(--chart-c);
}

.chart-c--s8 {
  --chart-c: var(--chart-8);
  background: var(--chart-c);
}

.chart-c--success {
  --chart-c: var(--chart-status-success);
  background: var(--chart-c);
}

.chart-c--warning {
  --chart-c: var(--chart-status-warning);
  background: var(--chart-c);
}

.chart-c--error {
  --chart-c: var(--chart-status-error);
  background: var(--chart-c);
}

.chart-c--info {
  --chart-c: var(--chart-status-info);
  background: var(--chart-c);
}

.chart-bar__segment.chart-c--s1 {
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px);
}

.chart-bar__segment.chart-c--s2 {
  background-image: radial-gradient(rgba(255, 255, 255, 0.5) 1.3px, transparent 1.6px);
  background-size: 8px 8px;
}

.chart-bar__segment.chart-c--s3 {
  background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px);
}

.chart-bar__segment.chart-c--s4 {
  background-image: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px), repeating-linear-gradient(to right, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px);
}

.chart-bar__segment.chart-c--s5 {
  background-image: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px);
}

.chart-bar__segment.chart-c--s6 {
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px), repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px);
}

.chart-bar__segment.chart-c--s7 {
  background-image: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px);
}

.chart-bar__segment.chart-c--s8 {
  background-image: radial-gradient(rgba(255, 255, 255, 0.5) 1.3px, transparent 1.6px);
  background-size: 11px 6px;
}

.chart-bar__segment.chart-c--success {
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px);
}

.chart-bar__segment.chart-c--warning {
  background-image: radial-gradient(rgba(255, 255, 255, 0.5) 1.3px, transparent 1.6px);
  background-size: 8px 8px;
}

.chart-bar__segment.chart-c--error {
  background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px);
}

.chart-bar__segment.chart-c--info {
  background-image: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px), repeating-linear-gradient(to right, rgba(255, 255, 255, 0.5) 0 1.3px, transparent 1.3px 6px);
}

.chart-nodata {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 200px;
  color: var(--text-muted);
  font-size: var(--type-body-small-size);
  font-style: italic;
}

@font-face {
  font-family: "fonticon";
  src: url("./fonts/fonticon.ttf?v=1785102251710") format("truetype"), url("./fonts/fonticon.eot?v=1785102251710") format("embedded-opentype"), url("./fonts/fonticon.woff?v=1785102251710") format("woff");
}
[class*=" icon-"],
[class^=icon-] {
  font-family: "fonticon" !important;
  font-style: normal;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  line-height: 1;
}

[class*=" icon-addon-"]::before,
[class^=icon-addon-]::before {
  clip-path: polygon(0 0, 100% 0, 100% 59%, 95.5% 54.5%, 88% 50.3%, 80% 48.5%, 71% 49.2%, 64% 52%, 58% 56%, 53% 62%, 50% 69%, 48.8% 79%, 50.5% 87%, 55% 95%, 60% 100%, 0 100%);
}
[class*=" icon-addon-"]::after,
[class^=icon-addon-]::after {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: scale(0.47);
  transform-origin: right bottom;
}

:root {
  --glyph-account: "\ea01";
  --glyph-add: "\ea02";
  --glyph-add-circle: "\ea03";
  --glyph-add-circle-outline: "\ea04";
  --glyph-add-user: "\ea05";
  --glyph-ai-chat: "\ea06";
  --glyph-apartment: "\ea07";
  --glyph-arrow-down: "\ea08";
  --glyph-arrow-dropdown: "\ea09";
  --glyph-arrow-dropup: "\ea0a";
  --glyph-arrow-left: "\ea0b";
  --glyph-arrow-right: "\ea0c";
  --glyph-arrow-up: "\ea0d";
  --glyph-aws-private-link: "\ea0e";
  --glyph-aws-transit-gateway: "\ea0f";
  --glyph-aws-vpc-peering: "\ea10";
  --glyph-aws-vpc-peering-circle: "\ea11";
  --glyph-azure-private-link-service: "\ea12";
  --glyph-azure-virtual-network-gateways: "\ea13";
  --glyph-azure-virtual-networks: "\ea14";
  --glyph-bluesky: "\ea15";
  --glyph-calculator: "\ea16";
  --glyph-calendar: "\ea17";
  --glyph-calendar-today: "\ea18";
  --glyph-cancel: "\ea19";
  --glyph-cancel-circle: "\ea1a";
  --glyph-chart: "\ea1b";
  --glyph-chart-area: "\ea1c";
  --glyph-chart-bar: "\ea1d";
  --glyph-check: "\ea1e";
  --glyph-check-circle: "\ea1f";
  --glyph-check-circle-outline: "\ea20";
  --glyph-checkbox: "\ea21";
  --glyph-checkbox-active: "\ea22";
  --glyph-checkbox-indeterminate: "\ea23";
  --glyph-chevron-down: "\ea24";
  --glyph-chevron-left: "\ea25";
  --glyph-chevron-right: "\ea26";
  --glyph-chevron-up: "\ea27";
  --glyph-clock: "\ea28";
  --glyph-cloud: "\ea29";
  --glyph-cloud-download: "\ea2a";
  --glyph-cloud-error: "\ea2b";
  --glyph-cloud-upload: "\ea2c";
  --glyph-coin: "\ea2d";
  --glyph-collection: "\ea2e";
  --glyph-copy: "\ea2f";
  --glyph-creditcard: "\ea30";
  --glyph-crisis-alert: "\ea31";
  --glyph-cut: "\ea32";
  --glyph-dashboard: "\ea33";
  --glyph-dashboard-outline: "\ea34";
  --glyph-data-center: "\ea35";
  --glyph-database: "\ea36";
  --glyph-delete: "\ea37";
  --glyph-description: "\ea38";
  --glyph-docs: "\ea39";
  --glyph-docs-alternator: "\ea3a";
  --glyph-docs-menu-collapse: "\ea3b";
  --glyph-docs-open-source: "\ea3c";
  --glyph-download: "\ea3d";
  --glyph-download-file: "\ea3e";
  --glyph-edit: "\ea3f";
  --glyph-edit-notifications: "\ea40";
  --glyph-error: "\ea41";
  --glyph-error-outline: "\ea42";
  --glyph-evaluation: "\ea43";
  --glyph-eye: "\ea44";
  --glyph-facebook: "\ea45";
  --glyph-fast-forward: "\ea46";
  --glyph-fast-rewind: "\ea47";
  --glyph-fold: "\ea48";
  --glyph-folder: "\ea49";
  --glyph-format-align-left-filled: "\ea4a";
  --glyph-gcp-nnc: "\ea4b";
  --glyph-gcp-private-service-connect: "\ea4c";
  --glyph-gcp-vpc-peering: "\ea4d";
  --glyph-gcp-vpc-peering-circle: "\ea4e";
  --glyph-github: "\ea4f";
  --glyph-google: "\ea50";
  --glyph-gpp-bad: "\ea51";
  --glyph-gpp-good: "\ea52";
  --glyph-gpp-maybe: "\ea53";
  --glyph-grid: "\ea54";
  --glyph-heart: "\ea55";
  --glyph-help: "\ea56";
  --glyph-home: "\ea57";
  --glyph-inbox: "\ea58";
  --glyph-info: "\ea59";
  --glyph-info-outline: "\ea5a";
  --glyph-instance: "\ea5b";
  --glyph-key: "\ea5c";
  --glyph-key-off: "\ea5d";
  --glyph-label: "\ea5e";
  --glyph-lan: "\ea5f";
  --glyph-layers: "\ea60";
  --glyph-legacycloud: "\ea61";
  --glyph-lightning: "\ea62";
  --glyph-link: "\ea63";
  --glyph-linkedin: "\ea64";
  --glyph-list: "\ea65";
  --glyph-location: "\ea66";
  --glyph-lock: "\ea67";
  --glyph-logout: "\ea68";
  --glyph-logs: "\ea69";
  --glyph-mail: "\ea6a";
  --glyph-mail-open: "\ea6b";
  --glyph-mail-outline: "\ea6c";
  --glyph-maintenance: "\ea6d";
  --glyph-memory: "\ea6e";
  --glyph-menu: "\ea6f";
  --glyph-modules: "\ea70";
  --glyph-monitor: "\ea71";
  --glyph-monitoring: "\ea72";
  --glyph-moon: "\ea73";
  --glyph-more-horizontal: "\ea74";
  --glyph-more-vertical: "\ea75";
  --glyph-network: "\ea76";
  --glyph-newtab: "\ea77";
  --glyph-next: "\ea78";
  --glyph-node: "\ea79";
  --glyph-notification: "\ea7a";
  --glyph-operations: "\ea7b";
  --glyph-palette: "\ea7c";
  --glyph-paste: "\ea7d";
  --glyph-pause: "\ea7e";
  --glyph-phone: "\ea7f";
  --glyph-photo: "\ea80";
  --glyph-photo-outline: "\ea81";
  --glyph-play: "\ea82";
  --glyph-play-circle: "\ea83";
  --glyph-play-circle-outline: "\ea84";
  --glyph-previous: "\ea85";
  --glyph-processor: "\ea86";
  --glyph-radio: "\ea87";
  --glyph-radio-active: "\ea88";
  --glyph-refresh: "\ea89";
  --glyph-reset: "\ea8a";
  --glyph-resize: "\ea8b";
  --glyph-rocket: "\ea8c";
  --glyph-sample-data: "\ea8d";
  --glyph-save: "\ea8e";
  --glyph-scale-down: "\ea8f";
  --glyph-scale-in: "\ea90";
  --glyph-scale-out: "\ea91";
  --glyph-scale-up: "\ea92";
  --glyph-schema: "\ea93";
  --glyph-scylla-filled: "\ea94";
  --glyph-scylla-outline: "\ea95";
  --glyph-search: "\ea96";
  --glyph-send: "\ea97";
  --glyph-server: "\ea98";
  --glyph-server2: "\ea99";
  --glyph-server3: "\ea9a";
  --glyph-settings: "\ea9b";
  --glyph-slack: "\ea9c";
  --glyph-sort: "\ea9d";
  --glyph-stack-overflow: "\ea9e";
  --glyph-star-filled: "\ea9f";
  --glyph-star-half-filled: "\eaa0";
  --glyph-star-outline: "\eaa1";
  --glyph-stop: "\eaa2";
  --glyph-stop-circle: "\eaa3";
  --glyph-storage: "\eaa4";
  --glyph-substract-circle: "\eaa5";
  --glyph-sun: "\eaa6";
  --glyph-sun-contrast: "\eaa7";
  --glyph-support: "\eaa8";
  --glyph-swap: "\eaa9";
  --glyph-sync: "\eaaa";
  --glyph-sync-problem: "\eaab";
  --glyph-table: "\eaac";
  --glyph-terminal: "\eaad";
  --glyph-theme: "\eaae";
  --glyph-title: "\eaaf";
  --glyph-toggle-left: "\eab0";
  --glyph-tune: "\eab1";
  --glyph-unfold: "\eab2";
  --glyph-university: "\eab3";
  --glyph-unlock: "\eab4";
  --glyph-upload: "\eab5";
  --glyph-upload-file: "\eab6";
  --glyph-usage: "\eab7";
  --glyph-user: "\eab8";
  --glyph-users: "\eab9";
  --glyph-vector: "\eaba";
  --glyph-visibility: "\eabb";
  --glyph-visibility-off: "\eabc";
  --glyph-warning: "\eabd";
  --glyph-warning-outline: "\eabe";
  --glyph-wifi: "\eabf";
  --glyph-work: "\eac0";
  --glyph-x-logo: "\eac1";
  --glyph-xcloud: "\eac2";
  --glyph-xcloud-alt: "\eac3";
  --glyph-youtube: "\eac4";
}

.icon-account::before {
  content: "\ea01";
}

.icon-addon-account::after {
  content: "\ea01";
}

.icon-add::before {
  content: "\ea02";
}

.icon-addon-add::after {
  content: "\ea02";
}

.icon-add-circle::before {
  content: "\ea03";
}

.icon-addon-add-circle::after {
  content: "\ea03";
}

.icon-add-circle-outline::before {
  content: "\ea04";
}

.icon-addon-add-circle-outline::after {
  content: "\ea04";
}

.icon-add-user::before {
  content: "\ea05";
}

.icon-addon-add-user::after {
  content: "\ea05";
}

.icon-ai-chat::before {
  content: "\ea06";
}

.icon-addon-ai-chat::after {
  content: "\ea06";
}

.icon-apartment::before {
  content: "\ea07";
}

.icon-addon-apartment::after {
  content: "\ea07";
}

.icon-arrow-down::before {
  content: "\ea08";
}

.icon-addon-arrow-down::after {
  content: "\ea08";
}

.icon-arrow-dropdown::before {
  content: "\ea09";
}

.icon-addon-arrow-dropdown::after {
  content: "\ea09";
}

.icon-arrow-dropup::before {
  content: "\ea0a";
}

.icon-addon-arrow-dropup::after {
  content: "\ea0a";
}

.icon-arrow-left::before {
  content: "\ea0b";
}

.icon-addon-arrow-left::after {
  content: "\ea0b";
}

.icon-arrow-right::before {
  content: "\ea0c";
}

.icon-addon-arrow-right::after {
  content: "\ea0c";
}

.icon-arrow-up::before {
  content: "\ea0d";
}

.icon-addon-arrow-up::after {
  content: "\ea0d";
}

.icon-aws-private-link::before {
  content: "\ea0e";
}

.icon-addon-aws-private-link::after {
  content: "\ea0e";
}

.icon-aws-transit-gateway::before {
  content: "\ea0f";
}

.icon-addon-aws-transit-gateway::after {
  content: "\ea0f";
}

.icon-aws-vpc-peering::before {
  content: "\ea10";
}

.icon-addon-aws-vpc-peering::after {
  content: "\ea10";
}

.icon-aws-vpc-peering-circle::before {
  content: "\ea11";
}

.icon-addon-aws-vpc-peering-circle::after {
  content: "\ea11";
}

.icon-azure-private-link-service::before {
  content: "\ea12";
}

.icon-addon-azure-private-link-service::after {
  content: "\ea12";
}

.icon-azure-virtual-network-gateways::before {
  content: "\ea13";
}

.icon-addon-azure-virtual-network-gateways::after {
  content: "\ea13";
}

.icon-azure-virtual-networks::before {
  content: "\ea14";
}

.icon-addon-azure-virtual-networks::after {
  content: "\ea14";
}

.icon-bluesky::before {
  content: "\ea15";
}

.icon-addon-bluesky::after {
  content: "\ea15";
}

.icon-calculator::before {
  content: "\ea16";
}

.icon-addon-calculator::after {
  content: "\ea16";
}

.icon-calendar::before {
  content: "\ea17";
}

.icon-addon-calendar::after {
  content: "\ea17";
}

.icon-calendar-today::before {
  content: "\ea18";
}

.icon-addon-calendar-today::after {
  content: "\ea18";
}

.icon-cancel::before {
  content: "\ea19";
}

.icon-addon-cancel::after {
  content: "\ea19";
}

.icon-cancel-circle::before {
  content: "\ea1a";
}

.icon-addon-cancel-circle::after {
  content: "\ea1a";
}

.icon-chart::before {
  content: "\ea1b";
}

.icon-addon-chart::after {
  content: "\ea1b";
}

.icon-chart-area::before {
  content: "\ea1c";
}

.icon-addon-chart-area::after {
  content: "\ea1c";
}

.icon-chart-bar::before {
  content: "\ea1d";
}

.icon-addon-chart-bar::after {
  content: "\ea1d";
}

.icon-check::before {
  content: "\ea1e";
}

.icon-addon-check::after {
  content: "\ea1e";
}

.icon-check-circle::before {
  content: "\ea1f";
}

.icon-addon-check-circle::after {
  content: "\ea1f";
}

.icon-check-circle-outline::before {
  content: "\ea20";
}

.icon-addon-check-circle-outline::after {
  content: "\ea20";
}

.icon-checkbox::before {
  content: "\ea21";
}

.icon-addon-checkbox::after {
  content: "\ea21";
}

.icon-checkbox-active::before {
  content: "\ea22";
}

.icon-addon-checkbox-active::after {
  content: "\ea22";
}

.icon-checkbox-indeterminate::before {
  content: "\ea23";
}

.icon-addon-checkbox-indeterminate::after {
  content: "\ea23";
}

.icon-chevron-down::before {
  content: "\ea24";
}

.icon-addon-chevron-down::after {
  content: "\ea24";
}

.icon-chevron-left::before {
  content: "\ea25";
}

.icon-addon-chevron-left::after {
  content: "\ea25";
}

.icon-chevron-right::before {
  content: "\ea26";
}

.icon-addon-chevron-right::after {
  content: "\ea26";
}

.icon-chevron-up::before {
  content: "\ea27";
}

.icon-addon-chevron-up::after {
  content: "\ea27";
}

.icon-clock::before {
  content: "\ea28";
}

.icon-addon-clock::after {
  content: "\ea28";
}

.icon-cloud::before {
  content: "\ea29";
}

.icon-addon-cloud::after {
  content: "\ea29";
}

.icon-cloud-download::before {
  content: "\ea2a";
}

.icon-addon-cloud-download::after {
  content: "\ea2a";
}

.icon-cloud-error::before {
  content: "\ea2b";
}

.icon-addon-cloud-error::after {
  content: "\ea2b";
}

.icon-cloud-upload::before {
  content: "\ea2c";
}

.icon-addon-cloud-upload::after {
  content: "\ea2c";
}

.icon-coin::before {
  content: "\ea2d";
}

.icon-addon-coin::after {
  content: "\ea2d";
}

.icon-collection::before {
  content: "\ea2e";
}

.icon-addon-collection::after {
  content: "\ea2e";
}

.icon-copy::before {
  content: "\ea2f";
}

.icon-addon-copy::after {
  content: "\ea2f";
}

.icon-creditcard::before {
  content: "\ea30";
}

.icon-addon-creditcard::after {
  content: "\ea30";
}

.icon-crisis-alert::before {
  content: "\ea31";
}

.icon-addon-crisis-alert::after {
  content: "\ea31";
}

.icon-cut::before {
  content: "\ea32";
}

.icon-addon-cut::after {
  content: "\ea32";
}

.icon-dashboard::before {
  content: "\ea33";
}

.icon-addon-dashboard::after {
  content: "\ea33";
}

.icon-dashboard-outline::before {
  content: "\ea34";
}

.icon-addon-dashboard-outline::after {
  content: "\ea34";
}

.icon-data-center::before {
  content: "\ea35";
}

.icon-addon-data-center::after {
  content: "\ea35";
}

.icon-database::before {
  content: "\ea36";
}

.icon-addon-database::after {
  content: "\ea36";
}

.icon-delete::before {
  content: "\ea37";
}

.icon-addon-delete::after {
  content: "\ea37";
}

.icon-description::before {
  content: "\ea38";
}

.icon-addon-description::after {
  content: "\ea38";
}

.icon-docs::before {
  content: "\ea39";
}

.icon-addon-docs::after {
  content: "\ea39";
}

.icon-docs-alternator::before {
  content: "\ea3a";
}

.icon-addon-docs-alternator::after {
  content: "\ea3a";
}

.icon-docs-menu-collapse::before {
  content: "\ea3b";
}

.icon-addon-docs-menu-collapse::after {
  content: "\ea3b";
}

.icon-docs-open-source::before {
  content: "\ea3c";
}

.icon-addon-docs-open-source::after {
  content: "\ea3c";
}

.icon-download::before {
  content: "\ea3d";
}

.icon-addon-download::after {
  content: "\ea3d";
}

.icon-download-file::before {
  content: "\ea3e";
}

.icon-addon-download-file::after {
  content: "\ea3e";
}

.icon-edit::before {
  content: "\ea3f";
}

.icon-addon-edit::after {
  content: "\ea3f";
}

.icon-edit-notifications::before {
  content: "\ea40";
}

.icon-addon-edit-notifications::after {
  content: "\ea40";
}

.icon-error::before {
  content: "\ea41";
}

.icon-addon-error::after {
  content: "\ea41";
}

.icon-error-outline::before {
  content: "\ea42";
}

.icon-addon-error-outline::after {
  content: "\ea42";
}

.icon-evaluation::before {
  content: "\ea43";
}

.icon-addon-evaluation::after {
  content: "\ea43";
}

.icon-eye::before {
  content: "\ea44";
}

.icon-addon-eye::after {
  content: "\ea44";
}

.icon-facebook::before {
  content: "\ea45";
}

.icon-addon-facebook::after {
  content: "\ea45";
}

.icon-fast-forward::before {
  content: "\ea46";
}

.icon-addon-fast-forward::after {
  content: "\ea46";
}

.icon-fast-rewind::before {
  content: "\ea47";
}

.icon-addon-fast-rewind::after {
  content: "\ea47";
}

.icon-fold::before {
  content: "\ea48";
}

.icon-addon-fold::after {
  content: "\ea48";
}

.icon-folder::before {
  content: "\ea49";
}

.icon-addon-folder::after {
  content: "\ea49";
}

.icon-format-align-left-filled::before {
  content: "\ea4a";
}

.icon-addon-format-align-left-filled::after {
  content: "\ea4a";
}

.icon-gcp-nnc::before {
  content: "\ea4b";
}

.icon-addon-gcp-nnc::after {
  content: "\ea4b";
}

.icon-gcp-private-service-connect::before {
  content: "\ea4c";
}

.icon-addon-gcp-private-service-connect::after {
  content: "\ea4c";
}

.icon-gcp-vpc-peering::before {
  content: "\ea4d";
}

.icon-addon-gcp-vpc-peering::after {
  content: "\ea4d";
}

.icon-gcp-vpc-peering-circle::before {
  content: "\ea4e";
}

.icon-addon-gcp-vpc-peering-circle::after {
  content: "\ea4e";
}

.icon-github::before {
  content: "\ea4f";
}

.icon-addon-github::after {
  content: "\ea4f";
}

.icon-google::before {
  content: "\ea50";
}

.icon-addon-google::after {
  content: "\ea50";
}

.icon-gpp-bad::before {
  content: "\ea51";
}

.icon-addon-gpp-bad::after {
  content: "\ea51";
}

.icon-gpp-good::before {
  content: "\ea52";
}

.icon-addon-gpp-good::after {
  content: "\ea52";
}

.icon-gpp-maybe::before {
  content: "\ea53";
}

.icon-addon-gpp-maybe::after {
  content: "\ea53";
}

.icon-grid::before {
  content: "\ea54";
}

.icon-addon-grid::after {
  content: "\ea54";
}

.icon-heart::before {
  content: "\ea55";
}

.icon-addon-heart::after {
  content: "\ea55";
}

.icon-help::before {
  content: "\ea56";
}

.icon-addon-help::after {
  content: "\ea56";
}

.icon-home::before {
  content: "\ea57";
}

.icon-addon-home::after {
  content: "\ea57";
}

.icon-inbox::before {
  content: "\ea58";
}

.icon-addon-inbox::after {
  content: "\ea58";
}

.icon-info::before {
  content: "\ea59";
}

.icon-addon-info::after {
  content: "\ea59";
}

.icon-info-outline::before {
  content: "\ea5a";
}

.icon-addon-info-outline::after {
  content: "\ea5a";
}

.icon-instance::before {
  content: "\ea5b";
}

.icon-addon-instance::after {
  content: "\ea5b";
}

.icon-key::before {
  content: "\ea5c";
}

.icon-addon-key::after {
  content: "\ea5c";
}

.icon-key-off::before {
  content: "\ea5d";
}

.icon-addon-key-off::after {
  content: "\ea5d";
}

.icon-label::before {
  content: "\ea5e";
}

.icon-addon-label::after {
  content: "\ea5e";
}

.icon-lan::before {
  content: "\ea5f";
}

.icon-addon-lan::after {
  content: "\ea5f";
}

.icon-layers::before {
  content: "\ea60";
}

.icon-addon-layers::after {
  content: "\ea60";
}

.icon-legacycloud::before {
  content: "\ea61";
}

.icon-addon-legacycloud::after {
  content: "\ea61";
}

.icon-lightning::before {
  content: "\ea62";
}

.icon-addon-lightning::after {
  content: "\ea62";
}

.icon-link::before {
  content: "\ea63";
}

.icon-addon-link::after {
  content: "\ea63";
}

.icon-linkedin::before {
  content: "\ea64";
}

.icon-addon-linkedin::after {
  content: "\ea64";
}

.icon-list::before {
  content: "\ea65";
}

.icon-addon-list::after {
  content: "\ea65";
}

.icon-location::before {
  content: "\ea66";
}

.icon-addon-location::after {
  content: "\ea66";
}

.icon-lock::before {
  content: "\ea67";
}

.icon-addon-lock::after {
  content: "\ea67";
}

.icon-logout::before {
  content: "\ea68";
}

.icon-addon-logout::after {
  content: "\ea68";
}

.icon-logs::before {
  content: "\ea69";
}

.icon-addon-logs::after {
  content: "\ea69";
}

.icon-mail::before {
  content: "\ea6a";
}

.icon-addon-mail::after {
  content: "\ea6a";
}

.icon-mail-open::before {
  content: "\ea6b";
}

.icon-addon-mail-open::after {
  content: "\ea6b";
}

.icon-mail-outline::before {
  content: "\ea6c";
}

.icon-addon-mail-outline::after {
  content: "\ea6c";
}

.icon-maintenance::before {
  content: "\ea6d";
}

.icon-addon-maintenance::after {
  content: "\ea6d";
}

.icon-memory::before {
  content: "\ea6e";
}

.icon-addon-memory::after {
  content: "\ea6e";
}

.icon-menu::before {
  content: "\ea6f";
}

.icon-addon-menu::after {
  content: "\ea6f";
}

.icon-modules::before {
  content: "\ea70";
}

.icon-addon-modules::after {
  content: "\ea70";
}

.icon-monitor::before {
  content: "\ea71";
}

.icon-addon-monitor::after {
  content: "\ea71";
}

.icon-monitoring::before {
  content: "\ea72";
}

.icon-addon-monitoring::after {
  content: "\ea72";
}

.icon-moon::before {
  content: "\ea73";
}

.icon-addon-moon::after {
  content: "\ea73";
}

.icon-more-horizontal::before {
  content: "\ea74";
}

.icon-addon-more-horizontal::after {
  content: "\ea74";
}

.icon-more-vertical::before {
  content: "\ea75";
}

.icon-addon-more-vertical::after {
  content: "\ea75";
}

.icon-network::before {
  content: "\ea76";
}

.icon-addon-network::after {
  content: "\ea76";
}

.icon-newtab::before {
  content: "\ea77";
}

.icon-addon-newtab::after {
  content: "\ea77";
}

.icon-next::before {
  content: "\ea78";
}

.icon-addon-next::after {
  content: "\ea78";
}

.icon-node::before {
  content: "\ea79";
}

.icon-addon-node::after {
  content: "\ea79";
}

.icon-notification::before {
  content: "\ea7a";
}

.icon-addon-notification::after {
  content: "\ea7a";
}

.icon-operations::before {
  content: "\ea7b";
}

.icon-addon-operations::after {
  content: "\ea7b";
}

.icon-palette::before {
  content: "\ea7c";
}

.icon-addon-palette::after {
  content: "\ea7c";
}

.icon-paste::before {
  content: "\ea7d";
}

.icon-addon-paste::after {
  content: "\ea7d";
}

.icon-pause::before {
  content: "\ea7e";
}

.icon-addon-pause::after {
  content: "\ea7e";
}

.icon-phone::before {
  content: "\ea7f";
}

.icon-addon-phone::after {
  content: "\ea7f";
}

.icon-photo::before {
  content: "\ea80";
}

.icon-addon-photo::after {
  content: "\ea80";
}

.icon-photo-outline::before {
  content: "\ea81";
}

.icon-addon-photo-outline::after {
  content: "\ea81";
}

.icon-play::before {
  content: "\ea82";
}

.icon-addon-play::after {
  content: "\ea82";
}

.icon-play-circle::before {
  content: "\ea83";
}

.icon-addon-play-circle::after {
  content: "\ea83";
}

.icon-play-circle-outline::before {
  content: "\ea84";
}

.icon-addon-play-circle-outline::after {
  content: "\ea84";
}

.icon-previous::before {
  content: "\ea85";
}

.icon-addon-previous::after {
  content: "\ea85";
}

.icon-processor::before {
  content: "\ea86";
}

.icon-addon-processor::after {
  content: "\ea86";
}

.icon-radio::before {
  content: "\ea87";
}

.icon-addon-radio::after {
  content: "\ea87";
}

.icon-radio-active::before {
  content: "\ea88";
}

.icon-addon-radio-active::after {
  content: "\ea88";
}

.icon-refresh::before {
  content: "\ea89";
}

.icon-addon-refresh::after {
  content: "\ea89";
}

.icon-reset::before {
  content: "\ea8a";
}

.icon-addon-reset::after {
  content: "\ea8a";
}

.icon-resize::before {
  content: "\ea8b";
}

.icon-addon-resize::after {
  content: "\ea8b";
}

.icon-rocket::before {
  content: "\ea8c";
}

.icon-addon-rocket::after {
  content: "\ea8c";
}

.icon-sample-data::before {
  content: "\ea8d";
}

.icon-addon-sample-data::after {
  content: "\ea8d";
}

.icon-save::before {
  content: "\ea8e";
}

.icon-addon-save::after {
  content: "\ea8e";
}

.icon-scale-down::before {
  content: "\ea8f";
}

.icon-addon-scale-down::after {
  content: "\ea8f";
}

.icon-scale-in::before {
  content: "\ea90";
}

.icon-addon-scale-in::after {
  content: "\ea90";
}

.icon-scale-out::before {
  content: "\ea91";
}

.icon-addon-scale-out::after {
  content: "\ea91";
}

.icon-scale-up::before {
  content: "\ea92";
}

.icon-addon-scale-up::after {
  content: "\ea92";
}

.icon-schema::before {
  content: "\ea93";
}

.icon-addon-schema::after {
  content: "\ea93";
}

.icon-scylla-filled::before {
  content: "\ea94";
}

.icon-addon-scylla-filled::after {
  content: "\ea94";
}

.icon-scylla-outline::before {
  content: "\ea95";
}

.icon-addon-scylla-outline::after {
  content: "\ea95";
}

.icon-search::before {
  content: "\ea96";
}

.icon-addon-search::after {
  content: "\ea96";
}

.icon-send::before {
  content: "\ea97";
}

.icon-addon-send::after {
  content: "\ea97";
}

.icon-server::before {
  content: "\ea98";
}

.icon-addon-server::after {
  content: "\ea98";
}

.icon-server2::before {
  content: "\ea99";
}

.icon-addon-server2::after {
  content: "\ea99";
}

.icon-server3::before {
  content: "\ea9a";
}

.icon-addon-server3::after {
  content: "\ea9a";
}

.icon-settings::before {
  content: "\ea9b";
}

.icon-addon-settings::after {
  content: "\ea9b";
}

.icon-slack::before {
  content: "\ea9c";
}

.icon-addon-slack::after {
  content: "\ea9c";
}

.icon-sort::before {
  content: "\ea9d";
}

.icon-addon-sort::after {
  content: "\ea9d";
}

.icon-stack-overflow::before {
  content: "\ea9e";
}

.icon-addon-stack-overflow::after {
  content: "\ea9e";
}

.icon-star-filled::before {
  content: "\ea9f";
}

.icon-addon-star-filled::after {
  content: "\ea9f";
}

.icon-star-half-filled::before {
  content: "\eaa0";
}

.icon-addon-star-half-filled::after {
  content: "\eaa0";
}

.icon-star-outline::before {
  content: "\eaa1";
}

.icon-addon-star-outline::after {
  content: "\eaa1";
}

.icon-stop::before {
  content: "\eaa2";
}

.icon-addon-stop::after {
  content: "\eaa2";
}

.icon-stop-circle::before {
  content: "\eaa3";
}

.icon-addon-stop-circle::after {
  content: "\eaa3";
}

.icon-storage::before {
  content: "\eaa4";
}

.icon-addon-storage::after {
  content: "\eaa4";
}

.icon-substract-circle::before {
  content: "\eaa5";
}

.icon-addon-substract-circle::after {
  content: "\eaa5";
}

.icon-sun::before {
  content: "\eaa6";
}

.icon-addon-sun::after {
  content: "\eaa6";
}

.icon-sun-contrast::before {
  content: "\eaa7";
}

.icon-addon-sun-contrast::after {
  content: "\eaa7";
}

.icon-support::before {
  content: "\eaa8";
}

.icon-addon-support::after {
  content: "\eaa8";
}

.icon-swap::before {
  content: "\eaa9";
}

.icon-addon-swap::after {
  content: "\eaa9";
}

.icon-sync::before {
  content: "\eaaa";
}

.icon-addon-sync::after {
  content: "\eaaa";
}

.icon-sync-problem::before {
  content: "\eaab";
}

.icon-addon-sync-problem::after {
  content: "\eaab";
}

.icon-table::before {
  content: "\eaac";
}

.icon-addon-table::after {
  content: "\eaac";
}

.icon-terminal::before {
  content: "\eaad";
}

.icon-addon-terminal::after {
  content: "\eaad";
}

.icon-theme::before {
  content: "\eaae";
}

.icon-addon-theme::after {
  content: "\eaae";
}

.icon-title::before {
  content: "\eaaf";
}

.icon-addon-title::after {
  content: "\eaaf";
}

.icon-toggle-left::before {
  content: "\eab0";
}

.icon-addon-toggle-left::after {
  content: "\eab0";
}

.icon-tune::before {
  content: "\eab1";
}

.icon-addon-tune::after {
  content: "\eab1";
}

.icon-unfold::before {
  content: "\eab2";
}

.icon-addon-unfold::after {
  content: "\eab2";
}

.icon-university::before {
  content: "\eab3";
}

.icon-addon-university::after {
  content: "\eab3";
}

.icon-unlock::before {
  content: "\eab4";
}

.icon-addon-unlock::after {
  content: "\eab4";
}

.icon-upload::before {
  content: "\eab5";
}

.icon-addon-upload::after {
  content: "\eab5";
}

.icon-upload-file::before {
  content: "\eab6";
}

.icon-addon-upload-file::after {
  content: "\eab6";
}

.icon-usage::before {
  content: "\eab7";
}

.icon-addon-usage::after {
  content: "\eab7";
}

.icon-user::before {
  content: "\eab8";
}

.icon-addon-user::after {
  content: "\eab8";
}

.icon-users::before {
  content: "\eab9";
}

.icon-addon-users::after {
  content: "\eab9";
}

.icon-vector::before {
  content: "\eaba";
}

.icon-addon-vector::after {
  content: "\eaba";
}

.icon-visibility::before {
  content: "\eabb";
}

.icon-addon-visibility::after {
  content: "\eabb";
}

.icon-visibility-off::before {
  content: "\eabc";
}

.icon-addon-visibility-off::after {
  content: "\eabc";
}

.icon-warning::before {
  content: "\eabd";
}

.icon-addon-warning::after {
  content: "\eabd";
}

.icon-warning-outline::before {
  content: "\eabe";
}

.icon-addon-warning-outline::after {
  content: "\eabe";
}

.icon-wifi::before {
  content: "\eabf";
}

.icon-addon-wifi::after {
  content: "\eabf";
}

.icon-work::before {
  content: "\eac0";
}

.icon-addon-work::after {
  content: "\eac0";
}

.icon-x-logo::before {
  content: "\eac1";
}

.icon-addon-x-logo::after {
  content: "\eac1";
}

.icon-xcloud::before {
  content: "\eac2";
}

.icon-addon-xcloud::after {
  content: "\eac2";
}

.icon-xcloud-alt::before {
  content: "\eac3";
}

.icon-addon-xcloud-alt::after {
  content: "\eac3";
}

.icon-youtube::before {
  content: "\eac4";
}

.icon-addon-youtube::after {
  content: "\eac4";
}

.icon-compass::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-layout::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-book::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-droplet::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-columns::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-sliders::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='21' x2='4' y2='14'/%3E%3Cline x1='4' y1='10' x2='4' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12' y2='3'/%3E%3Cline x1='20' y1='21' x2='20' y2='16'/%3E%3Cline x1='20' y1='12' x2='20' y2='3'/%3E%3Cline x1='1' y1='14' x2='7' y2='14'/%3E%3Cline x1='9' y1='8' x2='15' y2='8'/%3E%3Cline x1='17' y1='16' x2='23' y2='16'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='21' x2='4' y2='14'/%3E%3Cline x1='4' y1='10' x2='4' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12' y2='3'/%3E%3Cline x1='20' y1='21' x2='20' y2='16'/%3E%3Cline x1='20' y1='12' x2='20' y2='3'/%3E%3Cline x1='1' y1='14' x2='7' y2='14'/%3E%3Cline x1='9' y1='8' x2='15' y2='8'/%3E%3Cline x1='17' y1='16' x2='23' y2='16'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-type::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 7 4 4 20 4 20 7'/%3E%3Cline x1='9' y1='20' x2='15' y2='20'/%3E%3Cline x1='12' y1='4' x2='12' y2='20'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 7 4 4 20 4 20 7'/%3E%3Cline x1='9' y1='20' x2='15' y2='20'/%3E%3Cline x1='12' y1='4' x2='12' y2='20'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-maximize::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cpolyline points='9 21 3 21 3 15'/%3E%3Cline x1='21' y1='3' x2='14' y2='10'/%3E%3Cline x1='3' y1='21' x2='10' y2='14'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cpolyline points='9 21 3 21 3 15'/%3E%3Cline x1='21' y1='3' x2='14' y2='10'/%3E%3Cline x1='3' y1='21' x2='10' y2='14'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-box::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-square::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-image::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-zap::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-mouse-pointer::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l7.07 16.97 2.51-7.39 7.39-2.51z'/%3E%3Cpath d='M13 13l6 6'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l7.07 16.97 2.51-7.39 7.39-2.51z'/%3E%3Cpath d='M13 13l6 6'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-credit-card::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='22' height='16' x='1' y='4' rx='2' ry='2'/%3E%3Cline x1='1' x2='23' y1='10' y2='10'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='22' height='16' x='1' y='4' rx='2' ry='2'/%3E%3Cline x1='1' x2='23' y1='10' y2='10'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-message-square::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-navigation::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='3 11 22 2 13 21 11 13 3 11'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='3 11 22 2 13 21 11 13 3 11'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-tag::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-bell::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-loader::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='2' x2='12' y2='6'/%3E%3Cline x1='12' y1='18' x2='12' y2='22'/%3E%3Cline x1='4.93' y1='4.93' x2='7.76' y2='7.76'/%3E%3Cline x1='16.24' y1='16.24' x2='19.07' y2='19.07'/%3E%3Cline x1='2' y1='12' x2='6' y2='12'/%3E%3Cline x1='18' y1='12' x2='22' y2='12'/%3E%3Cline x1='4.93' y1='19.07' x2='7.76' y2='16.24'/%3E%3Cline x1='16.24' y1='7.76' x2='19.07' y2='4.93'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='2' x2='12' y2='6'/%3E%3Cline x1='12' y1='18' x2='12' y2='22'/%3E%3Cline x1='4.93' y1='4.93' x2='7.76' y2='7.76'/%3E%3Cline x1='16.24' y1='16.24' x2='19.07' y2='19.07'/%3E%3Cline x1='2' y1='12' x2='6' y2='12'/%3E%3Cline x1='18' y1='12' x2='22' y2='12'/%3E%3Cline x1='4.93' y1='19.07' x2='7.76' y2='16.24'/%3E%3Cline x1='16.24' y1='7.76' x2='19.07' y2='4.93'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-check-square::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 11 12 14 22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 11 12 14 22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-sidebar::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='9' y1='3' x2='9' y2='21'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='9' y1='3' x2='9' y2='21'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-film::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='2.18' ry='2.18'/%3E%3Cline x1='7' y1='2' x2='7' y2='22'/%3E%3Cline x1='17' y1='2' x2='17' y2='22'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cline x1='2' y1='7' x2='7' y2='7'/%3E%3Cline x1='2' y1='17' x2='7' y2='17'/%3E%3Cline x1='17' y1='17' x2='22' y2='17'/%3E%3Cline x1='17' y1='7' x2='22' y2='7'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='2.18' ry='2.18'/%3E%3Cline x1='7' y1='2' x2='7' y2='22'/%3E%3Cline x1='17' y1='2' x2='17' y2='22'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cline x1='2' y1='7' x2='7' y2='7'/%3E%3Cline x1='2' y1='17' x2='7' y2='17'/%3E%3Cline x1='17' y1='17' x2='22' y2='17'/%3E%3Cline x1='17' y1='7' x2='22' y2='7'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-shield::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-file-text::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-alert-circle::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-circle::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-star::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-trash::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-plus::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-minus::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-x::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-x-circle::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-external-link::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-share::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-filter::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-hash::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='9' x2='20' y2='9'/%3E%3Cline x1='4' y1='15' x2='20' y2='15'/%3E%3Cline x1='10' y1='3' x2='8' y2='21'/%3E%3Cline x1='16' y1='3' x2='14' y2='21'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='9' x2='20' y2='9'/%3E%3Cline x1='4' y1='15' x2='20' y2='15'/%3E%3Cline x1='10' y1='3' x2='8' y2='21'/%3E%3Cline x1='16' y1='3' x2='14' y2='21'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-code::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-globe::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-activity::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-cpu::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2' ry='2'/%3E%3Crect x='9' y='9' width='6' height='6'/%3E%3Cline x1='9' y1='1' x2='9' y2='4'/%3E%3Cline x1='15' y1='1' x2='15' y2='4'/%3E%3Cline x1='9' y1='20' x2='9' y2='23'/%3E%3Cline x1='15' y1='20' x2='15' y2='23'/%3E%3Cline x1='20' y1='9' x2='23' y2='9'/%3E%3Cline x1='20' y1='14' x2='23' y2='14'/%3E%3Cline x1='1' y1='9' x2='4' y2='9'/%3E%3Cline x1='1' y1='14' x2='4' y2='14'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2' ry='2'/%3E%3Crect x='9' y='9' width='6' height='6'/%3E%3Cline x1='9' y1='1' x2='9' y2='4'/%3E%3Cline x1='15' y1='1' x2='15' y2='4'/%3E%3Cline x1='9' y1='20' x2='9' y2='23'/%3E%3Cline x1='15' y1='20' x2='15' y2='23'/%3E%3Cline x1='20' y1='9' x2='23' y2='9'/%3E%3Cline x1='20' y1='14' x2='23' y2='14'/%3E%3Cline x1='1' y1='9' x2='4' y2='9'/%3E%3Cline x1='1' y1='14' x2='4' y2='14'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-power::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.36 6.64a9 9 0 1 1-12.73 0'/%3E%3Cline x1='12' y1='2' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.36 6.64a9 9 0 1 1-12.73 0'/%3E%3Cline x1='12' y1='2' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-package::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='16.5' y1='9.4' x2='7.5' y2='4.21'/%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='16.5' y1='9.4' x2='7.5' y2='4.21'/%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-clipboard::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Crect x='8' y='2' width='8' height='4' rx='1' ry='1'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Crect x='8' y='2' width='8' height='4' rx='1' ry='1'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-paperclip::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-compass::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-layout::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-book::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-droplet::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-columns::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-sliders::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='21' x2='4' y2='14'/%3E%3Cline x1='4' y1='10' x2='4' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12' y2='3'/%3E%3Cline x1='20' y1='21' x2='20' y2='16'/%3E%3Cline x1='20' y1='12' x2='20' y2='3'/%3E%3Cline x1='1' y1='14' x2='7' y2='14'/%3E%3Cline x1='9' y1='8' x2='15' y2='8'/%3E%3Cline x1='17' y1='16' x2='23' y2='16'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='21' x2='4' y2='14'/%3E%3Cline x1='4' y1='10' x2='4' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12' y2='3'/%3E%3Cline x1='20' y1='21' x2='20' y2='16'/%3E%3Cline x1='20' y1='12' x2='20' y2='3'/%3E%3Cline x1='1' y1='14' x2='7' y2='14'/%3E%3Cline x1='9' y1='8' x2='15' y2='8'/%3E%3Cline x1='17' y1='16' x2='23' y2='16'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-type::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 7 4 4 20 4 20 7'/%3E%3Cline x1='9' y1='20' x2='15' y2='20'/%3E%3Cline x1='12' y1='4' x2='12' y2='20'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 7 4 4 20 4 20 7'/%3E%3Cline x1='9' y1='20' x2='15' y2='20'/%3E%3Cline x1='12' y1='4' x2='12' y2='20'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-maximize::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cpolyline points='9 21 3 21 3 15'/%3E%3Cline x1='21' y1='3' x2='14' y2='10'/%3E%3Cline x1='3' y1='21' x2='10' y2='14'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cpolyline points='9 21 3 21 3 15'/%3E%3Cline x1='21' y1='3' x2='14' y2='10'/%3E%3Cline x1='3' y1='21' x2='10' y2='14'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-box::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-square::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-image::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-zap::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-mouse-pointer::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l7.07 16.97 2.51-7.39 7.39-2.51z'/%3E%3Cpath d='M13 13l6 6'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l7.07 16.97 2.51-7.39 7.39-2.51z'/%3E%3Cpath d='M13 13l6 6'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-credit-card::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='22' height='16' x='1' y='4' rx='2' ry='2'/%3E%3Cline x1='1' x2='23' y1='10' y2='10'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='22' height='16' x='1' y='4' rx='2' ry='2'/%3E%3Cline x1='1' x2='23' y1='10' y2='10'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-message-square::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-navigation::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='3 11 22 2 13 21 11 13 3 11'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='3 11 22 2 13 21 11 13 3 11'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-tag::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-bell::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-loader::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='2' x2='12' y2='6'/%3E%3Cline x1='12' y1='18' x2='12' y2='22'/%3E%3Cline x1='4.93' y1='4.93' x2='7.76' y2='7.76'/%3E%3Cline x1='16.24' y1='16.24' x2='19.07' y2='19.07'/%3E%3Cline x1='2' y1='12' x2='6' y2='12'/%3E%3Cline x1='18' y1='12' x2='22' y2='12'/%3E%3Cline x1='4.93' y1='19.07' x2='7.76' y2='16.24'/%3E%3Cline x1='16.24' y1='7.76' x2='19.07' y2='4.93'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='2' x2='12' y2='6'/%3E%3Cline x1='12' y1='18' x2='12' y2='22'/%3E%3Cline x1='4.93' y1='4.93' x2='7.76' y2='7.76'/%3E%3Cline x1='16.24' y1='16.24' x2='19.07' y2='19.07'/%3E%3Cline x1='2' y1='12' x2='6' y2='12'/%3E%3Cline x1='18' y1='12' x2='22' y2='12'/%3E%3Cline x1='4.93' y1='19.07' x2='7.76' y2='16.24'/%3E%3Cline x1='16.24' y1='7.76' x2='19.07' y2='4.93'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-check-square::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 11 12 14 22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 11 12 14 22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-sidebar::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='9' y1='3' x2='9' y2='21'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='9' y1='3' x2='9' y2='21'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-film::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='2.18' ry='2.18'/%3E%3Cline x1='7' y1='2' x2='7' y2='22'/%3E%3Cline x1='17' y1='2' x2='17' y2='22'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cline x1='2' y1='7' x2='7' y2='7'/%3E%3Cline x1='2' y1='17' x2='7' y2='17'/%3E%3Cline x1='17' y1='17' x2='22' y2='17'/%3E%3Cline x1='17' y1='7' x2='22' y2='7'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='2.18' ry='2.18'/%3E%3Cline x1='7' y1='2' x2='7' y2='22'/%3E%3Cline x1='17' y1='2' x2='17' y2='22'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cline x1='2' y1='7' x2='7' y2='7'/%3E%3Cline x1='2' y1='17' x2='7' y2='17'/%3E%3Cline x1='17' y1='17' x2='22' y2='17'/%3E%3Cline x1='17' y1='7' x2='22' y2='7'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-shield::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-file-text::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cpolyline points='10 9 9 9 8 9'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-alert-circle::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-circle::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-star::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-trash::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-plus::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-minus::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-x::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-x-circle::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-external-link::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-share::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-filter::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-hash::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='9' x2='20' y2='9'/%3E%3Cline x1='4' y1='15' x2='20' y2='15'/%3E%3Cline x1='10' y1='3' x2='8' y2='21'/%3E%3Cline x1='16' y1='3' x2='14' y2='21'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='9' x2='20' y2='9'/%3E%3Cline x1='4' y1='15' x2='20' y2='15'/%3E%3Cline x1='10' y1='3' x2='8' y2='21'/%3E%3Cline x1='16' y1='3' x2='14' y2='21'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-code::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 18 22 12 16 6'/%3E%3Cpolyline points='8 6 2 12 8 18'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-globe::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-activity::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-cpu::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2' ry='2'/%3E%3Crect x='9' y='9' width='6' height='6'/%3E%3Cline x1='9' y1='1' x2='9' y2='4'/%3E%3Cline x1='15' y1='1' x2='15' y2='4'/%3E%3Cline x1='9' y1='20' x2='9' y2='23'/%3E%3Cline x1='15' y1='20' x2='15' y2='23'/%3E%3Cline x1='20' y1='9' x2='23' y2='9'/%3E%3Cline x1='20' y1='14' x2='23' y2='14'/%3E%3Cline x1='1' y1='9' x2='4' y2='9'/%3E%3Cline x1='1' y1='14' x2='4' y2='14'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2' ry='2'/%3E%3Crect x='9' y='9' width='6' height='6'/%3E%3Cline x1='9' y1='1' x2='9' y2='4'/%3E%3Cline x1='15' y1='1' x2='15' y2='4'/%3E%3Cline x1='9' y1='20' x2='9' y2='23'/%3E%3Cline x1='15' y1='20' x2='15' y2='23'/%3E%3Cline x1='20' y1='9' x2='23' y2='9'/%3E%3Cline x1='20' y1='14' x2='23' y2='14'/%3E%3Cline x1='1' y1='9' x2='4' y2='9'/%3E%3Cline x1='1' y1='14' x2='4' y2='14'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-power::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.36 6.64a9 9 0 1 1-12.73 0'/%3E%3Cline x1='12' y1='2' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.36 6.64a9 9 0 1 1-12.73 0'/%3E%3Cline x1='12' y1='2' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-package::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='16.5' y1='9.4' x2='7.5' y2='4.21'/%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='16.5' y1='9.4' x2='7.5' y2='4.21'/%3E%3Cpath d='M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z'/%3E%3Cpolyline points='3.27 6.96 12 12.01 20.73 6.96'/%3E%3Cline x1='12' y1='22.08' x2='12' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-clipboard::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Crect x='8' y='2' width='8' height='4' rx='1' ry='1'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Crect x='8' y='2' width='8' height='4' rx='1' ry='1'/%3E%3C/svg%3E") no-repeat center/contain;
}

.icon-addon-paperclip::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") no-repeat center/contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") no-repeat center/contain;
}

:root {
  --icon-scylla-content: var(--icon-scylla-base);
}

.icon-scylla::before {
  content: var(--icon-scylla-content);
}

.surface-light, .card--light, .section--light {
  --icon-scylla-content: var(--glyph-scylla-outline);
}

.surface-dark, .card--dark, .section--dark {
  --icon-scylla-content: var(--glyph-scylla-filled);
}

.l-container {
  width: 100%;
  max-width: var(--layout-max-width);
  margin-inline: auto;
  padding-inline: var(--layout-gutter);
}

.l-container--md {
  --layout-max-width: 72rem;
}

.l-container--sm {
  --layout-max-width: 54rem;
}

.l-container--xs {
  --layout-max-width: 48rem;
}

.l-full {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.l-grid {
  display: grid;
  column-gap: var(--layout-col-gap);
  grid-template-columns: [full-start] minmax(var(--layout-gutter), 1fr) [content-start] repeat(12, minmax(0, calc((var(--layout-max-width) - 11 * var(--layout-col-gap)) / 12))) [content-end] minmax(var(--layout-gutter), 1fr) [full-end];
}
.l-grid > * {
  grid-column: content;
}
.l-grid > .l-bleed {
  grid-column: full;
}

.l-grid-full {
  display: grid;
  column-gap: var(--layout-col-gap);
  padding-inline: var(--layout-gutter);
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.l-span-1 {
  grid-column: span 1;
}

.l-span-2 {
  grid-column: span 2;
}

.l-span-3 {
  grid-column: span 3;
}

.l-span-4 {
  grid-column: span 4;
}

.l-span-5 {
  grid-column: span 5;
}

.l-span-6 {
  grid-column: span 6;
}

.l-span-7 {
  grid-column: span 7;
}

.l-span-8 {
  grid-column: span 8;
}

.l-span-9 {
  grid-column: span 9;
}

.l-span-10 {
  grid-column: span 10;
}

.l-span-11 {
  grid-column: span 11;
}

.l-span-12 {
  grid-column: span 12;
}

.app-shell {
  flex: 1;
  min-width: 0;
  min-height: 100vh;
  display: flex;
  align-items: stretch;
}

.app-side {
  position: sticky;
  top: 0;
  height: 100vh;
  width: var(--sidebar-width);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border-right: var(--border-w) solid var(--border-color);
  background: color-mix(in srgb, var(--navigation-bg) 80%, transparent);
  backdrop-filter: blur(var(--spacer-sm));
}
.app-side .sidebar, .app-side .sidebar-logo {
  background: transparent;
}

.app-side-resizer {
  position: absolute;
  top: 0;
  right: calc(var(--border-w) * -1 - 2px);
  width: 7px;
  height: 100%;
  z-index: 2;
  cursor: col-resize;
  touch-action: none;
  background: transparent;
  transition: background var(--motion-duration-fast) var(--motion-ease);
}
.app-side-resizer::after {
  content: "";
  position: absolute;
  inset: 0 3px;
  border-radius: var(--radius-pill, 999px);
  background: transparent;
  transition: background var(--motion-duration-fast) var(--motion-ease);
}
.app-side-resizer:hover::after, .is-resizing-sidebar .app-side-resizer::after {
  background: var(--border-focus);
}

.is-resizing-sidebar {
  cursor: col-resize;
  user-select: none;
}

.app-side-tools {
  display: none;
}

.app-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.app-footer {
  position: sticky;
  bottom: 0;
  z-index: var(--z-chrome);
  padding: var(--spacer-xs) var(--spacer-md);
  border-top: var(--border-w) solid var(--border-color);
  background: color-mix(in srgb, var(--navigation-bg) 80%, transparent);
  backdrop-filter: blur(var(--spacer-sm));
  color: var(--text-muted);
  font-size: var(--type-body-small-size);
}

.topbar {
  position: sticky;
  top: 0;
  z-index: var(--z-chrome);
  height: var(--topbar-h);
  display: flex;
  align-items: center;
  gap: var(--spacer-sm);
  padding: 0 var(--spacer-sm);
  background: color-mix(in srgb, var(--navigation-bg) 80%, transparent);
  backdrop-filter: blur(var(--spacer-sm));
  border-bottom: var(--border-w) solid var(--border-color);
}

.topbar-search {
  width: 480px;
  max-width: 42vw;
}

.topbar:has(.topbar-search:focus-within) .topbar-search {
  width: auto;
  max-width: none;
  min-width: 0;
  flex: 1 1 auto;
}

.topbar-switchers {
  display: contents;
}

.topbar-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
}

.topbar-account-wrap {
  position: relative;
  flex-shrink: 0;
}

.topbar-account {
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-2xs);
  padding: var(--spacer-3xs) var(--spacer-2xs);
  border: 0;
  background: none;
  border-radius: var(--radius-sm);
  color: var(--nav-text, var(--text-color));
  font: inherit;
  cursor: pointer;
  transition: background var(--motion-duration-fast);
}
.topbar-account:hover {
  background: var(--nav-hover-bg, var(--bg-surface-alt));
}

.topbar-account-avatar {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: color-mix(in srgb, var(--nav-text, var(--text-color)) 16%, transparent);
  color: var(--nav-text, var(--text-color));
}
.topbar-account-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topbar-account-name {
  font-size: var(--type-body-small-size);
  font-weight: 600;
  white-space: nowrap;
}

.topbar-account-caret {
  opacity: 0.7;
}

.topbar-account-menu {
  position: absolute;
  top: calc(100% + var(--spacer-3xs));
  right: 0;
  min-width: 200px;
  z-index: var(--z-dropdown);
}

@media (max-width: 1199.98px) {
  .topbar-account-name {
    display: none;
  }
}
.topbar-menu-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--text-color);
  cursor: pointer;
  flex-shrink: 0;
}
.topbar-menu-btn:hover {
  background: var(--bg-surface-alt);
}

.topbar-logo {
  display: none;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}

.topbar-logo-mark {
  width: 116px;
  height: 24px;
  background: var(--logo-base) no-repeat left center;
  background-size: contain;
}

.logo-mark {
  display: inline-block;
  width: 150px;
  height: 37px;
  background: var(--logo-surface) no-repeat left center;
  background-size: contain;
}

.app-scrim {
  display: none;
}

@media (max-width: 1199.98px) {
  .app-side {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100dvh;
    width: min(280px, 82vw);
    z-index: var(--z-modal);
    transform: translateX(100%);
    transition: transform var(--motion-duration-base) ease;
    box-shadow: var(--shadow-3);
  }
  .app-side--open {
    transform: translateX(0);
  }
  .app-side-resizer {
    display: none;
  }
  .app-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: var(--z-modal-backdrop);
    background: color-mix(in srgb, var(--bg-overlay, #000) 45%, transparent);
  }
  .topbar-logo {
    display: inline-flex;
  }
  .topbar-menu-btn {
    display: inline-flex;
  }
  .topbar-switchers {
    display: none;
  }
  .app-side-tools {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacer-xs);
    padding: var(--spacer-sm);
    border-top: var(--border-w) solid var(--border-color);
    flex-shrink: 0;
  }
  .topbar-search {
    width: auto;
    max-width: none;
    flex: 1;
    min-width: 0;
  }
  .topbar:has(.topbar-search:focus-within) .topbar-logo,
  .topbar:has(.topbar-search:focus-within) .topbar-menu-btn,
  .topbar:has(.topbar-search:focus-within) .topbar-actions {
    display: none;
  }
}
.topbar-btn {
  padding: var(--spacer-3xs) var(--spacer-xs);
  font-size: var(--type-body-small-size);
  font-weight: 600;
  font-family: inherit;
  border: var(--border-w) solid color-mix(in srgb, var(--nav-text) 18%, transparent);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--nav-text) 8%, transparent);
  color: var(--nav-text);
  cursor: pointer;
  transition: background var(--motion-duration-fast), color var(--motion-duration-fast);
}
.topbar-btn:hover {
  background: color-mix(in srgb, var(--nav-text) 16%, transparent);
  color: var(--nav-text-hover);
}

.topbar-theme-btn {
  width: 34px;
  height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.main {
  flex: 1;
  min-width: 0;
  padding: var(--spacer-md) var(--spacer-md) var(--spacer-lg);
}

@media (max-width: 640px) {
  .main {
    padding: var(--spacer-base);
  }
}
.main-stage {
  position: relative;
  width: 100%;
  max-width: var(--layout-max-width);
}

:root[data-layout=full] .main-stage {
  max-width: none;
}

.actions-bar {
  display: flex;
  align-items: center;
  gap: var(--spacer-2xs);
  flex-wrap: wrap;
  justify-content: flex-end;
}

.actions-bar__spacer {
  flex: 1 1 auto;
}

.actions-bar-sentinel {
  height: 0;
}

.main-stage > .actions-bar {
  position: sticky;
  top: var(--topbar-h);
  z-index: var(--z-sticky);
  width: fit-content;
  margin-left: auto;
  padding: var(--spacer-2xs);
  border: var(--border-w) solid transparent;
  border-radius: var(--radius-md);
  transition: background var(--motion-duration-base) var(--motion-ease), border-color var(--motion-duration-base) var(--motion-ease), box-shadow var(--motion-duration-base) var(--motion-ease);
}
.main-stage > .actions-bar.actions-bar--stuck {
  background: var(--bg-surface);
  border-color: var(--border-color);
  box-shadow: var(--shadow-3);
}

.page-desc {
  font-size: var(--type-subtitle-size);
  line-height: var(--type-subtitle-line-height);
  font-weight: var(--type-subtitle-weight);
  font-variation-settings: var(--type-subtitle-fvs);
  letter-spacing: var(--type-subtitle-letter-spacing);
  color: var(--text-muted);
  margin-bottom: var(--spacer-base);
}

.spacer-scale {
  margin: 0;
}

.spacer-row {
  display: grid;
  grid-template-columns: 180px 1fr 160px;
  align-items: center;
  gap: var(--spacer-xs);
  padding: var(--spacer-2xs) 0;
  border-bottom: var(--border-w) solid var(--border-faint);
}
.spacer-row:last-child {
  border-bottom: none;
}

.spacer-bar-wrap {
  height: var(--spacer-base);
  display: flex;
  align-items: center;
}

.spacer-bar {
  height: 100%;
  min-width: 4px;
  border-radius: var(--radius-sm);
  background: var(--color-primary-400);
  opacity: 0.7;
  transition: opacity var(--motion-duration-fast);
}
.spacer-row:hover .spacer-bar {
  opacity: 1;
}

.spacer-values {
  display: flex;
  gap: var(--spacer-xs);
  font-family: var(--font-mono);
  font-size: var(--type-code-size);
}

.spacer-rem {
  color: var(--color-gray-700);
}

.spacer-px {
  color: var(--color-gray-400);
}

.atmo-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

html[data-atmo],
html[data-atmo] body,
html[data-atmo] .app-shell,
html[data-atmo] .main {
  background: transparent !important;
}

.lt-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--spacer-base);
}

.lt-card {
  position: relative;
  overflow: hidden;
}

.lt-card-stage {
  position: relative;
  aspect-ratio: 16/10;
  padding: var(--spacer-sm);
  background: var(--bg-surface-alt);
  border-bottom: var(--border-w) solid var(--border-faint);
  display: flex;
}

.lt-card--planned .lt-card-stage {
  opacity: 0.7;
}

.lt-card-flag {
  position: absolute;
  top: var(--spacer-2xs);
  right: var(--spacer-2xs);
  padding: var(--spacer-3xs) var(--spacer-2xs);
  border-radius: var(--radius-sm);
  background: var(--bg-muted);
  color: var(--text-muted);
  font-size: var(--type-small-label-size);
  font-weight: var(--type-small-label-weight);
  text-transform: uppercase;
  letter-spacing: var(--type-small-label-letter-spacing);
}

.lt-card-body {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-2xs);
}

.lt-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacer-2xs);
}

.lt-card-tags {
  display: inline-flex;
  gap: var(--spacer-3xs);
  flex-shrink: 0;
}

.lt-tag {
  padding: var(--spacer-3xs) var(--spacer-2xs);
  border-radius: var(--radius-pill, var(--radius-sm));
  background: var(--bg-muted);
  color: var(--text-muted);
  font-size: var(--type-small-label-size);
  white-space: nowrap;
}

.lt-card-desc {
  flex-grow: 1;
}

.lt-card-actions {
  margin-top: var(--spacer-2xs);
}

.lt-thumb {
  flex: 1;
  display: flex;
  gap: 6px;
  border-radius: var(--radius-sm);
  font-size: 0;
  --lt-chrome: var(--color-primary-400);
  --lt-block: color-mix(in srgb, var(--text-muted) 22%, transparent);
  --lt-line: color-mix(in srgb, var(--text-muted) 30%, transparent);
}

.lt-thumb-bar {
  height: 12%;
  min-height: 8px;
  background: var(--lt-chrome);
  border-radius: 3px;
}

.lt-thumb--app {
  gap: 6px;
}

.lt-thumb-side {
  width: 22%;
  background: var(--lt-chrome);
  border-radius: 3px;
}

.lt-thumb-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.lt-thumb-content {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.lt-thumb-content span {
  background: var(--lt-block);
  border-radius: 3px;
}

.lt-thumb--mkt {
  flex-direction: column;
  gap: 6px;
}

.lt-thumb-hero {
  flex: 1.4;
  background: var(--lt-block);
  border-radius: 3px;
}

.lt-thumb-rows {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.lt-thumb-rows span {
  background: var(--lt-line);
  border-radius: 3px;
}

.lt-thumb-foot {
  height: 18%;
  background: var(--lt-chrome);
  opacity: 0.85;
  border-radius: 3px;
}

.lt-thumb--learn {
  gap: 6px;
}
.lt-thumb--learn .lt-thumb-nav {
  width: 20%;
}
.lt-thumb--learn .lt-thumb-gutter {
  flex: 0.5;
}
.lt-thumb--learn .lt-thumb-doc {
  flex: 1.6;
}
.lt-thumb--learn .lt-thumb-toc {
  width: 14%;
  background: var(--lt-block);
  border-radius: 3px;
}

.lt-thumb--uni {
  flex-direction: column;
  gap: 6px;
}

.lt-thumb-split {
  flex: 1;
  display: flex;
  gap: 6px;
}

.lt-thumb-nav {
  width: 26%;
  background: var(--lt-block);
  border-radius: 3px;
}

.lt-thumb-doc {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.lt-thumb-doc span {
  height: 18%;
  background: var(--lt-line);
  border-radius: 3px;
}
.lt-thumb-doc span:first-child {
  width: 70%;
}

.lt-mkt,
.lt-app {
  font-family: var(--font-family);
  font-size: var(--type-body-size);
  line-height: var(--type-body-line-height);
  font-weight: var(--type-body-weight);
  font-variation-settings: var(--type-body-fvs);
  color: var(--text-color);
}

.lt-mkt {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.lt-mkt > main {
  flex: 1 0 auto;
}

.learn-shell {
  --learn-cols: var(--learn-rail-w, 280px) auto minmax(auto, 1100px) 240px auto;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "rail" "content" "toc";
  width: 100%;
}
@media (min-width: 1024px) {
  .learn-shell {
    grid-template-columns: var(--learn-cols);
    grid-template-areas: "rail . content toc .";
  }
}

.learn-rail {
  grid-area: rail;
  min-width: 0;
}

.learn-content {
  grid-area: content;
  min-width: 0;
}

.learn-toc {
  grid-area: toc;
  min-width: 0;
}

.lt-preview-root {
  position: relative;
  width: 100%;
}

.lt-app {
  min-height: 100vh;
}

.lt-preview-exit {
  position: fixed;
  left: var(--spacer-sm);
  bottom: var(--spacer-sm);
  z-index: var(--z-toast);
  display: inline-flex;
  align-items: center;
  gap: var(--spacer-3xs);
  padding: var(--spacer-3xs) var(--spacer-xs);
  border-radius: var(--radius-pill, var(--radius-md));
  background: var(--bg-surface);
  border: var(--border-w) solid var(--border-color);
  box-shadow: var(--shadow-3);
  color: var(--text-color);
  font-size: var(--type-body-small-size);
  font-weight: 600;
  text-decoration: none;
}
.lt-preview-exit:hover {
  background: var(--bg-surface-alt);
}

.lt-app-chart {
  height: 180px;
  border-radius: var(--radius-sm);
  background: linear-gradient(var(--border-faint) 1px, transparent 1px) 0 0/100% 36px, color-mix(in srgb, var(--color-primary-400) 12%, var(--bg-surface));
}

.lt-grid12 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--layout-col-gap);
  row-gap: var(--spacer-base);
}

.lt-mkt-hero {
  padding-block: var(--spacer-xl) var(--spacer-lg);
}

.lt-mkt-title {
  max-width: 16ch;
}

.lt-mkt-sub {
  max-width: 52ch;
  margin-top: var(--spacer-sm);
}

.lt-mkt-cta {
  margin-top: var(--spacer-base);
  gap: var(--spacer-sm);
}

.lt-mkt-section {
  padding-block: var(--spacer-lg);
}

.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--spacer-sm) var(--spacer-base);
  margin-bottom: var(--spacer-base);
}

.page-header__titles {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-3xs);
  min-width: 0;
}

.page-header__eyebrow {
  margin: 0;
  font-size: var(--type-overline-size);
  line-height: var(--type-overline-line-height);
  font-weight: var(--type-overline-weight);
  font-variation-settings: var(--type-overline-fvs);
  letter-spacing: var(--type-overline-letter-spacing);
  text-transform: var(--type-overline-text-transform);
  color: var(--text-muted);
}

.page-header__title {
  margin: 0;
  font-size: var(--type-h2-size);
  line-height: var(--type-h2-line-height);
  font-weight: var(--type-h2-weight);
  font-variation-settings: var(--type-h2-fvs);
  color: var(--text-emphasis);
}

.page-header__subtitle {
  margin: 0;
  font-size: var(--type-subtitle-size);
  line-height: var(--type-subtitle-line-height);
  font-weight: var(--type-subtitle-weight);
  font-variation-settings: var(--type-subtitle-fvs);
  letter-spacing: var(--type-subtitle-letter-spacing);
  color: var(--text-muted);
}

.page-header__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--spacer-2xs);
  margin-top: var(--spacer-3xs);
}

.page-header__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--spacer-2xs);
  margin-left: auto;
}

.page-header--sticky {
  position: sticky;
  top: var(--topbar-h);
  z-index: var(--z-sticky);
  margin-bottom: 0;
  padding-block: var(--spacer-sm);
  background: transparent;
  border-bottom: var(--border-w) solid transparent;
  transition: background var(--motion-duration-base) var(--motion-ease), border-color var(--motion-duration-base) var(--motion-ease), box-shadow var(--motion-duration-base) var(--motion-ease);
}

.page-header-sentinel {
  height: 0;
}

.page-header--sticky.page-header--stuck {
  background: var(--bg-page);
  border-bottom-color: var(--border-color);
  box-shadow: var(--shadow-2);
}

.page-header--bordered {
  padding-bottom: var(--spacer-sm);
  border-bottom: var(--border-w) solid var(--border-color);
}

@media (max-width: 640px) {
  .page-header {
    flex-direction: column;
    align-items: stretch;
  }
  .page-header__actions {
    margin-left: 0;
  }
}
.filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--spacer-sm);
}
.filter-bar .form-field {
  width: auto;
  min-width: 160px;
}

.filter-bar__grow {
  flex: 1 1 auto;
}

.filter-bar__clear {
  margin-left: auto;
  align-self: flex-end;
}

@font-face {
  font-family: "Roboto Flex";
  font-style: normal;
  font-weight: 100 1000;
  font-stretch: 25% 151%;
  font-display: swap;
  src: url("./fonts/roboto-flex.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto Mono";
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url("./fonts/roboto-mono.woff2") format("woff2");
}
:root {
  --font-family: 'Roboto Flex', system-ui, -apple-system, sans-serif;
  --font-mono: 'Roboto Mono', Consolas, 'Liberation Mono', monospace;
  --type-h1-size: 33px;
  --type-h1-line-height: 1.167;
  --type-h1-weight: 600;
  --type-h1-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-h2-size: 27px;
  --type-h2-line-height: 1.2;
  --type-h2-weight: 600;
  --type-h2-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-h3-size: 21px;
  --type-h3-line-height: 1.167;
  --type-h3-weight: 600;
  --type-h3-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-h4-size: 17px;
  --type-h4-line-height: 1.235;
  --type-h4-weight: 600;
  --type-h4-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-h5-size: 14px;
  --type-h5-line-height: 1.334;
  --type-h5-weight: 600;
  --type-h5-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-h6-size: 11px;
  --type-h6-line-height: 1.6;
  --type-h6-weight: 600;
  --type-h6-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-subtitle-size: 17px;
  --type-subtitle-line-height: 1.65;
  --type-subtitle-weight: 300;
  --type-subtitle-fvs: 'wdth' 100, 'GRAD' 0, 'XOPQ' 96, 'XTRA' 468, 'YOPQ' 79, 'YTAS' 750, 'YTDE' -203, 'YTFI' 738, 'YTLC' 514, 'YTUC' 712;
  --type-subtitle-letter-spacing: 0.02em;
  --type-body-size: 14px;
  --type-body-line-height: 1.4;
  --type-body-weight: 400;
  --type-body-fvs: 'wdth' 80, 'YTLC' 490;
  --type-body-small-size: 11px;
  --type-body-small-line-height: 1.3;
  --type-body-small-weight: 400;
  --type-body-small-fvs: 'wdth' 80, 'YTLC' 490;
  --type-bold-size: 14px;
  --type-bold-line-height: 1.4;
  --type-bold-weight: 700;
  --type-bold-fvs: 'wdth' 100, 'GRAD' 0, 'XOPQ' 96, 'XTRA' 468, 'YOPQ' 79, 'YTAS' 750, 'YTDE' -203, 'YTFI' 738, 'YTLC' 514, 'YTUC' 712;
  --type-small-label-size: 11px;
  --type-small-label-line-height: 1.23;
  --type-small-label-weight: 600;
  --type-small-label-fvs: 'opsz' 50;
  --type-small-label-letter-spacing: 0.2em;
  --type-small-label-text-transform: uppercase;
  --type-overline-size: 11px;
  --type-overline-line-height: 1.4;
  --type-overline-weight: 600;
  --type-overline-fvs: 'opsz' 50;
  --type-overline-letter-spacing: 0.12em;
  --type-overline-text-transform: uppercase;
  --type-overline-family: var(--font-mono);
  --type-input-label-size: 14px;
  --type-input-label-line-height: 1;
  --type-input-label-weight: 600;
  --type-input-label-fvs: 'opsz' 50;
  --type-input-value-size: 17px;
  --type-input-value-line-height: 1.5;
  --type-input-value-weight: 400;
  --type-input-value-fvs: 'wdth' 80, 'YTLC' 490;
  --type-code-size: 14px;
  --type-code-line-height: 1.6;
  --type-code-family: var(--font-mono);
  --type-btn-lg-size: 17px;
  --type-btn-lg-line-height: 1.733;
  --type-btn-lg-weight: 500;
  --type-btn-lg-fvs: 'wdth' 100;
  --type-btn-md-size: 15px;
  --type-btn-md-line-height: 1.733;
  --type-btn-md-weight: 500;
  --type-btn-md-fvs: 'wdth' 100;
  --type-btn-sm-size: 15px;
  --type-btn-sm-line-height: 1.2;
  --type-btn-sm-weight: 500;
  --type-btn-sm-fvs: 'wdth' 100;
  --type-btn-xs-size: 14px;
  --type-btn-xs-line-height: 1.2;
  --type-btn-xs-weight: 500;
  --type-btn-xs-fvs: 'wdth' 100;
  --type-marketing-h1-size: 50px;
  --type-marketing-h1-line-height: 1.167;
  --type-marketing-h1-weight: 400;
  --type-marketing-h1-fvs: 'opsz' 60, 'wdth' 110;
  --type-marketing-h2-size: 37px;
  --type-marketing-h2-line-height: 1.2;
  --type-marketing-h2-weight: 600;
  --type-marketing-h2-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-marketing-h3-size: 28px;
  --type-marketing-h3-line-height: 1.167;
  --type-marketing-h3-weight: 600;
  --type-marketing-h3-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-marketing-h4-size: 21px;
  --type-marketing-h4-line-height: 1.235;
  --type-marketing-h4-weight: 600;
  --type-marketing-h4-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-marketing-h5-size: 16px;
  --type-marketing-h5-line-height: 1.334;
  --type-marketing-h5-weight: 600;
  --type-marketing-h5-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-marketing-h6-size: 12px;
  --type-marketing-h6-line-height: 1.6;
  --type-marketing-h6-weight: 600;
  --type-marketing-h6-fvs: 'GRAD' 30, 'YTLC' 490, 'opsz' 28;
  --type-marketing-subtitle-size: 21px;
  --type-marketing-subtitle-line-height: 1.65;
  --type-marketing-subtitle-weight: 300;
  --type-marketing-subtitle-fvs: 'wdth' 100, 'GRAD' 0, 'XOPQ' 96, 'XTRA' 468, 'YOPQ' 79, 'YTAS' 750, 'YTDE' -203, 'YTFI' 738, 'YTLC' 514, 'YTUC' 712;
  --type-marketing-subtitle-letter-spacing: 0.02em;
  --type-marketing-body-size: 16px;
  --type-marketing-body-line-height: 1.4;
  --type-marketing-body-weight: 400;
  --type-marketing-body-fvs: 'wdth' 80, 'YTLC' 490;
  --type-marketing-body-small-size: 12px;
  --type-marketing-body-small-line-height: 1.3;
  --type-marketing-body-small-weight: 400;
  --type-marketing-body-small-fvs: 'wdth' 80, 'YTLC' 490;
  --type-marketing-bold-size: 16px;
  --type-marketing-bold-line-height: 1.4;
  --type-marketing-bold-weight: 700;
  --type-marketing-bold-fvs: 'wdth' 100, 'GRAD' 0, 'XOPQ' 96, 'XTRA' 468, 'YOPQ' 79, 'YTAS' 750, 'YTDE' -203, 'YTFI' 738, 'YTLC' 514, 'YTUC' 712;
  --type-marketing-small-label-size: 12px;
  --type-marketing-small-label-line-height: 1.23;
  --type-marketing-small-label-weight: 600;
  --type-marketing-small-label-fvs: 'opsz' 50;
  --type-marketing-small-label-letter-spacing: 0.2em;
  --type-marketing-small-label-text-transform: uppercase;
  --type-marketing-overline-size: 12px;
  --type-marketing-overline-line-height: 1.4;
  --type-marketing-overline-weight: 600;
  --type-marketing-overline-fvs: 'opsz' 50;
  --type-marketing-overline-letter-spacing: 0.12em;
  --type-marketing-overline-text-transform: uppercase;
  --type-marketing-overline-family: var(--font-mono);
  --type-marketing-input-label-size: 16px;
  --type-marketing-input-label-line-height: 1;
  --type-marketing-input-label-weight: 600;
  --type-marketing-input-label-fvs: 'opsz' 50;
  --type-marketing-input-value-size: 21px;
  --type-marketing-input-value-line-height: 1.5;
  --type-marketing-input-value-weight: 400;
  --type-marketing-input-value-fvs: 'wdth' 80, 'YTLC' 490;
  --type-marketing-code-size: 16px;
  --type-marketing-code-line-height: 1.6;
  --type-marketing-code-family: var(--font-mono);
  --type-marketing-btn-lg-size: 21px;
  --type-marketing-btn-lg-line-height: 1.733;
  --type-marketing-btn-lg-weight: 500;
  --type-marketing-btn-lg-fvs: 'wdth' 100;
  --type-marketing-btn-md-size: 18px;
  --type-marketing-btn-md-line-height: 1.733;
  --type-marketing-btn-md-weight: 500;
  --type-marketing-btn-md-fvs: 'wdth' 100;
  --type-marketing-btn-sm-size: 18px;
  --type-marketing-btn-sm-line-height: 1.2;
  --type-marketing-btn-sm-weight: 500;
  --type-marketing-btn-sm-fvs: 'wdth' 100;
  --type-marketing-btn-xs-size: 16px;
  --type-marketing-btn-xs-line-height: 1.2;
  --type-marketing-btn-xs-weight: 500;
  --type-marketing-btn-xs-fvs: 'wdth' 100;
}

.type-h1 {
  font-size: var(--type-h1-size);
  line-height: var(--type-h1-line-height);
  font-weight: var(--type-h1-weight);
  font-variation-settings: var(--type-h1-fvs);
  font-family: var(--font-family);
}

.type-h2 {
  font-size: var(--type-h2-size);
  line-height: var(--type-h2-line-height);
  font-weight: var(--type-h2-weight);
  font-variation-settings: var(--type-h2-fvs);
  font-family: var(--font-family);
}

.type-h3 {
  font-size: var(--type-h3-size);
  line-height: var(--type-h3-line-height);
  font-weight: var(--type-h3-weight);
  font-variation-settings: var(--type-h3-fvs);
  font-family: var(--font-family);
}

.type-h4 {
  font-size: var(--type-h4-size);
  line-height: var(--type-h4-line-height);
  font-weight: var(--type-h4-weight);
  font-variation-settings: var(--type-h4-fvs);
  font-family: var(--font-family);
}

.type-h5 {
  font-size: var(--type-h5-size);
  line-height: var(--type-h5-line-height);
  font-weight: var(--type-h5-weight);
  font-variation-settings: var(--type-h5-fvs);
  font-family: var(--font-family);
}

.type-h6 {
  font-size: var(--type-h6-size);
  line-height: var(--type-h6-line-height);
  font-weight: var(--type-h6-weight);
  font-variation-settings: var(--type-h6-fvs);
  font-family: var(--font-family);
}

.type-subtitle {
  font-size: var(--type-subtitle-size);
  line-height: var(--type-subtitle-line-height);
  font-weight: var(--type-subtitle-weight);
  font-variation-settings: var(--type-subtitle-fvs);
  letter-spacing: var(--type-subtitle-letter-spacing);
  font-family: var(--font-family);
}

.type-body {
  font-size: var(--type-body-size);
  line-height: var(--type-body-line-height);
  font-weight: var(--type-body-weight);
  font-variation-settings: var(--type-body-fvs);
  font-family: var(--font-family);
}

.type-body-small,
.type-small {
  font-size: var(--type-body-small-size);
  line-height: var(--type-body-small-line-height);
  font-weight: var(--type-body-small-weight);
  font-variation-settings: var(--type-body-small-fvs);
  font-family: var(--font-family);
}

.type-bold {
  font-size: var(--type-bold-size);
  line-height: var(--type-bold-line-height);
  font-weight: var(--type-bold-weight);
  font-variation-settings: var(--type-bold-fvs);
  font-family: var(--font-family);
}

.type-small-label {
  font-size: var(--type-small-label-size);
  line-height: var(--type-small-label-line-height);
  font-weight: var(--type-small-label-weight);
  font-variation-settings: var(--type-small-label-fvs);
  letter-spacing: var(--type-small-label-letter-spacing);
  text-transform: var(--type-small-label-text-transform);
  font-family: var(--font-family);
}

.type-overline {
  font-size: var(--type-overline-size);
  line-height: var(--type-overline-line-height);
  font-weight: var(--type-overline-weight);
  font-variation-settings: var(--type-overline-fvs);
  letter-spacing: var(--type-overline-letter-spacing);
  text-transform: var(--type-overline-text-transform);
  font-family: var(--type-overline-family);
}

.type-input-label {
  font-size: var(--type-input-label-size);
  line-height: var(--type-input-label-line-height);
  font-weight: var(--type-input-label-weight);
  font-variation-settings: var(--type-input-label-fvs);
  font-family: var(--font-family);
}

.type-input-value {
  font-size: var(--type-input-value-size);
  line-height: var(--type-input-value-line-height);
  font-weight: var(--type-input-value-weight);
  font-variation-settings: var(--type-input-value-fvs);
  font-family: var(--font-family);
}

.type-code {
  font-size: var(--type-code-size);
  line-height: var(--type-code-line-height);
  font-family: var(--type-code-family);
}

.type-btn-lg {
  font-size: var(--type-btn-lg-size);
  line-height: var(--type-btn-lg-line-height);
  font-weight: var(--type-btn-lg-weight);
  font-variation-settings: var(--type-btn-lg-fvs);
  font-family: var(--font-family);
}

.type-btn-md {
  font-size: var(--type-btn-md-size);
  line-height: var(--type-btn-md-line-height);
  font-weight: var(--type-btn-md-weight);
  font-variation-settings: var(--type-btn-md-fvs);
  font-family: var(--font-family);
}

.type-btn-sm {
  font-size: var(--type-btn-sm-size);
  line-height: var(--type-btn-sm-line-height);
  font-weight: var(--type-btn-sm-weight);
  font-variation-settings: var(--type-btn-sm-fvs);
  font-family: var(--font-family);
}

.type-btn-xs {
  font-size: var(--type-btn-xs-size);
  line-height: var(--type-btn-xs-line-height);
  font-weight: var(--type-btn-xs-weight);
  font-variation-settings: var(--type-btn-xs-fvs);
  font-family: var(--font-family);
}

.type-mono {
  font-family: var(--font-mono);
}

.scale-marketing {
  --type-h1-size: var(--type-marketing-h1-size);
  --type-h1-line-height: var(--type-marketing-h1-line-height);
  --type-h1-weight: var(--type-marketing-h1-weight);
  --type-h1-fvs: var(--type-marketing-h1-fvs);
  --type-h2-size: var(--type-marketing-h2-size);
  --type-h2-line-height: var(--type-marketing-h2-line-height);
  --type-h2-weight: var(--type-marketing-h2-weight);
  --type-h2-fvs: var(--type-marketing-h2-fvs);
  --type-h3-size: var(--type-marketing-h3-size);
  --type-h3-line-height: var(--type-marketing-h3-line-height);
  --type-h3-weight: var(--type-marketing-h3-weight);
  --type-h3-fvs: var(--type-marketing-h3-fvs);
  --type-h4-size: var(--type-marketing-h4-size);
  --type-h4-line-height: var(--type-marketing-h4-line-height);
  --type-h4-weight: var(--type-marketing-h4-weight);
  --type-h4-fvs: var(--type-marketing-h4-fvs);
  --type-h5-size: var(--type-marketing-h5-size);
  --type-h5-line-height: var(--type-marketing-h5-line-height);
  --type-h5-weight: var(--type-marketing-h5-weight);
  --type-h5-fvs: var(--type-marketing-h5-fvs);
  --type-h6-size: var(--type-marketing-h6-size);
  --type-h6-line-height: var(--type-marketing-h6-line-height);
  --type-h6-weight: var(--type-marketing-h6-weight);
  --type-h6-fvs: var(--type-marketing-h6-fvs);
  --type-subtitle-size: var(--type-marketing-subtitle-size);
  --type-subtitle-line-height: var(--type-marketing-subtitle-line-height);
  --type-subtitle-weight: var(--type-marketing-subtitle-weight);
  --type-subtitle-fvs: var(--type-marketing-subtitle-fvs);
  --type-subtitle-letter-spacing: var(--type-marketing-subtitle-letter-spacing);
  --type-body-size: var(--type-marketing-body-size);
  --type-body-line-height: var(--type-marketing-body-line-height);
  --type-body-weight: var(--type-marketing-body-weight);
  --type-body-fvs: var(--type-marketing-body-fvs);
  --type-body-small-size: var(--type-marketing-body-small-size);
  --type-body-small-line-height: var(--type-marketing-body-small-line-height);
  --type-body-small-weight: var(--type-marketing-body-small-weight);
  --type-body-small-fvs: var(--type-marketing-body-small-fvs);
  --type-bold-size: var(--type-marketing-bold-size);
  --type-bold-line-height: var(--type-marketing-bold-line-height);
  --type-bold-weight: var(--type-marketing-bold-weight);
  --type-bold-fvs: var(--type-marketing-bold-fvs);
  --type-small-label-size: var(--type-marketing-small-label-size);
  --type-small-label-line-height: var(--type-marketing-small-label-line-height);
  --type-small-label-weight: var(--type-marketing-small-label-weight);
  --type-small-label-fvs: var(--type-marketing-small-label-fvs);
  --type-small-label-letter-spacing: var(--type-marketing-small-label-letter-spacing);
  --type-small-label-text-transform: var(--type-marketing-small-label-text-transform);
  --type-overline-size: var(--type-marketing-overline-size);
  --type-overline-line-height: var(--type-marketing-overline-line-height);
  --type-overline-weight: var(--type-marketing-overline-weight);
  --type-overline-fvs: var(--type-marketing-overline-fvs);
  --type-overline-letter-spacing: var(--type-marketing-overline-letter-spacing);
  --type-overline-text-transform: var(--type-marketing-overline-text-transform);
  --type-overline-family: var(--type-marketing-overline-family);
  --type-input-label-size: var(--type-marketing-input-label-size);
  --type-input-label-line-height: var(--type-marketing-input-label-line-height);
  --type-input-label-weight: var(--type-marketing-input-label-weight);
  --type-input-label-fvs: var(--type-marketing-input-label-fvs);
  --type-input-value-size: var(--type-marketing-input-value-size);
  --type-input-value-line-height: var(--type-marketing-input-value-line-height);
  --type-input-value-weight: var(--type-marketing-input-value-weight);
  --type-input-value-fvs: var(--type-marketing-input-value-fvs);
  --type-code-size: var(--type-marketing-code-size);
  --type-code-line-height: var(--type-marketing-code-line-height);
  --type-code-family: var(--type-marketing-code-family);
  --type-btn-lg-size: var(--type-marketing-btn-lg-size);
  --type-btn-lg-line-height: var(--type-marketing-btn-lg-line-height);
  --type-btn-lg-weight: var(--type-marketing-btn-lg-weight);
  --type-btn-lg-fvs: var(--type-marketing-btn-lg-fvs);
  --type-btn-md-size: var(--type-marketing-btn-md-size);
  --type-btn-md-line-height: var(--type-marketing-btn-md-line-height);
  --type-btn-md-weight: var(--type-marketing-btn-md-weight);
  --type-btn-md-fvs: var(--type-marketing-btn-md-fvs);
  --type-btn-sm-size: var(--type-marketing-btn-sm-size);
  --type-btn-sm-line-height: var(--type-marketing-btn-sm-line-height);
  --type-btn-sm-weight: var(--type-marketing-btn-sm-weight);
  --type-btn-sm-fvs: var(--type-marketing-btn-sm-fvs);
  --type-btn-xs-size: var(--type-marketing-btn-xs-size);
  --type-btn-xs-line-height: var(--type-marketing-btn-xs-line-height);
  --type-btn-xs-weight: var(--type-marketing-btn-xs-weight);
  --type-btn-xs-fvs: var(--type-marketing-btn-xs-fvs);
}

:root {
  --screen-xs: 480px;
  --screen-sm: 768px;
  --screen-md: 992px;
  --screen-lg: 1200px;
  --screen-xl: 1400px;
  --screen-xxl: 1800px;
}

.m-0 {
  margin: 0;
}

.m-auto {
  margin: auto;
}

.m-3xs {
  margin: var(--spacer-3xs);
}

.m-2xs {
  margin: var(--spacer-2xs);
}

.m-xs {
  margin: var(--spacer-xs);
}

.m-sm {
  margin: var(--spacer-sm);
}

.m-base {
  margin: var(--spacer-base);
}

.m-md {
  margin: var(--spacer-md);
}

.m-lg {
  margin: var(--spacer-lg);
}

.m-xl {
  margin: var(--spacer-xl);
}

.mx-0 {
  margin-left: 0;
  margin-right: 0;
}

.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.mx-3xs {
  margin-left: var(--spacer-3xs);
  margin-right: var(--spacer-3xs);
}

.my-3xs {
  margin-top: var(--spacer-3xs);
  margin-bottom: var(--spacer-3xs);
}

.mx-2xs {
  margin-left: var(--spacer-2xs);
  margin-right: var(--spacer-2xs);
}

.my-2xs {
  margin-top: var(--spacer-2xs);
  margin-bottom: var(--spacer-2xs);
}

.mx-xs {
  margin-left: var(--spacer-xs);
  margin-right: var(--spacer-xs);
}

.my-xs {
  margin-top: var(--spacer-xs);
  margin-bottom: var(--spacer-xs);
}

.mx-sm {
  margin-left: var(--spacer-sm);
  margin-right: var(--spacer-sm);
}

.my-sm {
  margin-top: var(--spacer-sm);
  margin-bottom: var(--spacer-sm);
}

.mx-base {
  margin-left: var(--spacer-base);
  margin-right: var(--spacer-base);
}

.my-base {
  margin-top: var(--spacer-base);
  margin-bottom: var(--spacer-base);
}

.mx-md {
  margin-left: var(--spacer-md);
  margin-right: var(--spacer-md);
}

.my-md {
  margin-top: var(--spacer-md);
  margin-bottom: var(--spacer-md);
}

.mx-lg {
  margin-left: var(--spacer-lg);
  margin-right: var(--spacer-lg);
}

.my-lg {
  margin-top: var(--spacer-lg);
  margin-bottom: var(--spacer-lg);
}

.mx-xl {
  margin-left: var(--spacer-xl);
  margin-right: var(--spacer-xl);
}

.my-xl {
  margin-top: var(--spacer-xl);
  margin-bottom: var(--spacer-xl);
}

.mt-0 {
  margin-top: 0;
}

.mt-auto {
  margin-top: auto;
}

.mt-3xs {
  margin-top: var(--spacer-3xs);
}

.mt-2xs {
  margin-top: var(--spacer-2xs);
}

.mt-xs {
  margin-top: var(--spacer-xs);
}

.mt-sm {
  margin-top: var(--spacer-sm);
}

.mt-base {
  margin-top: var(--spacer-base);
}

.mt-md {
  margin-top: var(--spacer-md);
}

.mt-lg {
  margin-top: var(--spacer-lg);
}

.mt-xl {
  margin-top: var(--spacer-xl);
}

.mr-0 {
  margin-right: 0;
}

.mr-auto {
  margin-right: auto;
}

.mr-3xs {
  margin-right: var(--spacer-3xs);
}

.mr-2xs {
  margin-right: var(--spacer-2xs);
}

.mr-xs {
  margin-right: var(--spacer-xs);
}

.mr-sm {
  margin-right: var(--spacer-sm);
}

.mr-base {
  margin-right: var(--spacer-base);
}

.mr-md {
  margin-right: var(--spacer-md);
}

.mr-lg {
  margin-right: var(--spacer-lg);
}

.mr-xl {
  margin-right: var(--spacer-xl);
}

.mb-0 {
  margin-bottom: 0;
}

.mb-auto {
  margin-bottom: auto;
}

.mb-3xs {
  margin-bottom: var(--spacer-3xs);
}

.mb-2xs {
  margin-bottom: var(--spacer-2xs);
}

.mb-xs {
  margin-bottom: var(--spacer-xs);
}

.mb-sm {
  margin-bottom: var(--spacer-sm);
}

.mb-base {
  margin-bottom: var(--spacer-base);
}

.mb-md {
  margin-bottom: var(--spacer-md);
}

.mb-lg {
  margin-bottom: var(--spacer-lg);
}

.mb-xl {
  margin-bottom: var(--spacer-xl);
}

.ml-0 {
  margin-left: 0;
}

.ml-auto {
  margin-left: auto;
}

.ml-3xs {
  margin-left: var(--spacer-3xs);
}

.ml-2xs {
  margin-left: var(--spacer-2xs);
}

.ml-xs {
  margin-left: var(--spacer-xs);
}

.ml-sm {
  margin-left: var(--spacer-sm);
}

.ml-base {
  margin-left: var(--spacer-base);
}

.ml-md {
  margin-left: var(--spacer-md);
}

.ml-lg {
  margin-left: var(--spacer-lg);
}

.ml-xl {
  margin-left: var(--spacer-xl);
}

.p-0 {
  padding: 0;
}

.p-3xs {
  padding: var(--spacer-3xs);
}

.p-2xs {
  padding: var(--spacer-2xs);
}

.p-xs {
  padding: var(--spacer-xs);
}

.p-sm {
  padding: var(--spacer-sm);
}

.p-base {
  padding: var(--spacer-base);
}

.p-md {
  padding: var(--spacer-md);
}

.p-lg {
  padding: var(--spacer-lg);
}

.p-xl {
  padding: var(--spacer-xl);
}

.px-0 {
  padding-left: 0;
  padding-right: 0;
}

.py-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.px-3xs {
  padding-left: var(--spacer-3xs);
  padding-right: var(--spacer-3xs);
}

.py-3xs {
  padding-top: var(--spacer-3xs);
  padding-bottom: var(--spacer-3xs);
}

.px-2xs {
  padding-left: var(--spacer-2xs);
  padding-right: var(--spacer-2xs);
}

.py-2xs {
  padding-top: var(--spacer-2xs);
  padding-bottom: var(--spacer-2xs);
}

.px-xs {
  padding-left: var(--spacer-xs);
  padding-right: var(--spacer-xs);
}

.py-xs {
  padding-top: var(--spacer-xs);
  padding-bottom: var(--spacer-xs);
}

.px-sm {
  padding-left: var(--spacer-sm);
  padding-right: var(--spacer-sm);
}

.py-sm {
  padding-top: var(--spacer-sm);
  padding-bottom: var(--spacer-sm);
}

.px-base {
  padding-left: var(--spacer-base);
  padding-right: var(--spacer-base);
}

.py-base {
  padding-top: var(--spacer-base);
  padding-bottom: var(--spacer-base);
}

.px-md {
  padding-left: var(--spacer-md);
  padding-right: var(--spacer-md);
}

.py-md {
  padding-top: var(--spacer-md);
  padding-bottom: var(--spacer-md);
}

.px-lg {
  padding-left: var(--spacer-lg);
  padding-right: var(--spacer-lg);
}

.py-lg {
  padding-top: var(--spacer-lg);
  padding-bottom: var(--spacer-lg);
}

.px-xl {
  padding-left: var(--spacer-xl);
  padding-right: var(--spacer-xl);
}

.py-xl {
  padding-top: var(--spacer-xl);
  padding-bottom: var(--spacer-xl);
}

.pt-0 {
  padding-top: 0;
}

.pt-3xs {
  padding-top: var(--spacer-3xs);
}

.pt-2xs {
  padding-top: var(--spacer-2xs);
}

.pt-xs {
  padding-top: var(--spacer-xs);
}

.pt-sm {
  padding-top: var(--spacer-sm);
}

.pt-base {
  padding-top: var(--spacer-base);
}

.pt-md {
  padding-top: var(--spacer-md);
}

.pt-lg {
  padding-top: var(--spacer-lg);
}

.pt-xl {
  padding-top: var(--spacer-xl);
}

.pr-0 {
  padding-right: 0;
}

.pr-3xs {
  padding-right: var(--spacer-3xs);
}

.pr-2xs {
  padding-right: var(--spacer-2xs);
}

.pr-xs {
  padding-right: var(--spacer-xs);
}

.pr-sm {
  padding-right: var(--spacer-sm);
}

.pr-base {
  padding-right: var(--spacer-base);
}

.pr-md {
  padding-right: var(--spacer-md);
}

.pr-lg {
  padding-right: var(--spacer-lg);
}

.pr-xl {
  padding-right: var(--spacer-xl);
}

.pb-0 {
  padding-bottom: 0;
}

.pb-3xs {
  padding-bottom: var(--spacer-3xs);
}

.pb-2xs {
  padding-bottom: var(--spacer-2xs);
}

.pb-xs {
  padding-bottom: var(--spacer-xs);
}

.pb-sm {
  padding-bottom: var(--spacer-sm);
}

.pb-base {
  padding-bottom: var(--spacer-base);
}

.pb-md {
  padding-bottom: var(--spacer-md);
}

.pb-lg {
  padding-bottom: var(--spacer-lg);
}

.pb-xl {
  padding-bottom: var(--spacer-xl);
}

.pl-0 {
  padding-left: 0;
}

.pl-3xs {
  padding-left: var(--spacer-3xs);
}

.pl-2xs {
  padding-left: var(--spacer-2xs);
}

.pl-xs {
  padding-left: var(--spacer-xs);
}

.pl-sm {
  padding-left: var(--spacer-sm);
}

.pl-base {
  padding-left: var(--spacer-base);
}

.pl-md {
  padding-left: var(--spacer-md);
}

.pl-lg {
  padding-left: var(--spacer-lg);
}

.pl-xl {
  padding-left: var(--spacer-xl);
}

.vstack {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-sm);
}

.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--spacer-sm);
}

@media (min-width: 480px) {
  .hstack-xs {
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .hstack-sm {
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 992px) {
  .hstack-md {
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 1200px) {
  .hstack-lg {
    flex-direction: row;
    align-items: center;
  }
}
.gap-3xs {
  gap: var(--spacer-3xs);
}

.gap-x-3xs {
  column-gap: var(--spacer-3xs);
}

.gap-y-3xs {
  row-gap: var(--spacer-3xs);
}

.gap-2xs {
  gap: var(--spacer-2xs);
}

.gap-x-2xs {
  column-gap: var(--spacer-2xs);
}

.gap-y-2xs {
  row-gap: var(--spacer-2xs);
}

.gap-xs {
  gap: var(--spacer-xs);
}

.gap-x-xs {
  column-gap: var(--spacer-xs);
}

.gap-y-xs {
  row-gap: var(--spacer-xs);
}

.gap-sm {
  gap: var(--spacer-sm);
}

.gap-x-sm {
  column-gap: var(--spacer-sm);
}

.gap-y-sm {
  row-gap: var(--spacer-sm);
}

.gap-base {
  gap: var(--spacer-base);
}

.gap-x-base {
  column-gap: var(--spacer-base);
}

.gap-y-base {
  row-gap: var(--spacer-base);
}

.gap-md {
  gap: var(--spacer-md);
}

.gap-x-md {
  column-gap: var(--spacer-md);
}

.gap-y-md {
  row-gap: var(--spacer-md);
}

.gap-lg {
  gap: var(--spacer-lg);
}

.gap-x-lg {
  column-gap: var(--spacer-lg);
}

.gap-y-lg {
  row-gap: var(--spacer-lg);
}

.gap-xl {
  gap: var(--spacer-xl);
}

.gap-x-xl {
  column-gap: var(--spacer-xl);
}

.gap-y-xl {
  row-gap: var(--spacer-xl);
}

.gap-0 {
  gap: 0;
}

.gap-x-0 {
  column-gap: 0;
}

.gap-y-0 {
  row-gap: 0;
}

.d-block {
  display: block;
}

.d-inline {
  display: inline;
}

.d-inline-block {
  display: inline-block;
}

.d-none {
  display: none;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

.position-relative {
  position: relative;
}

.overflow-hidden {
  overflow: hidden;
}

.ratio-16x9 {
  aspect-ratio: 16/9;
}

.stretched-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-rounded {
  border-radius: var(--radius-md);
}

.img-framed {
  border: var(--border-w) solid var(--border-color);
  border-radius: var(--radius-md);
}

.text-default {
  color: var(--text-color);
}

.text-muted {
  color: var(--text-muted);
}

.text-emphasis {
  color: var(--text-emphasis);
}

.text-disabled {
  color: var(--text-disabled);
}

.text-inverse {
  color: var(--text-inverse);
}

.text-link {
  color: var(--text-link);
}

.text-primary {
  color: var(--color-primary-600);
}

.text-secondary {
  color: var(--color-secondary-600);
}

.text-success {
  color: var(--status-success);
}

.text-warning {
  color: var(--status-warning);
}

.text-error {
  color: var(--status-error);
}

.text-info {
  color: var(--status-info);
}

.bg-success {
  background: var(--status-success-bg);
}

.bg-warning {
  background: var(--status-warning-bg);
}

.bg-error {
  background: var(--status-error-bg);
}

.bg-info {
  background: var(--status-info-bg);
}
