/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-divide-x-reverse: 0;
      --tw-border-style: solid;
      --tw-divide-y-reverse: 0;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: "Roboto Flex", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-100: oklch(93.6% .032 17.717);
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-orange-100: oklch(95.4% .038 75.164);
    --color-orange-200: oklch(90.1% .076 70.697);
    --color-orange-500: oklch(70.5% .213 47.604);
    --color-orange-600: oklch(64.6% .222 41.116);
    --color-orange-700: oklch(55.3% .195 38.402);
    --color-orange-900: oklch(40.8% .123 38.172);
    --color-orange-950: oklch(26.6% .079 36.259);
    --color-amber-50: oklch(98.7% .022 95.277);
    --color-amber-100: oklch(96.2% .059 95.617);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-700: oklch(55.5% .163 48.998);
    --color-amber-800: oklch(47.3% .137 46.201);
    --color-amber-900: oklch(41.4% .112 45.904);
    --color-amber-950: oklch(27.9% .077 45.635);
    --color-emerald-50: oklch(97.9% .021 166.113);
    --color-emerald-100: oklch(95% .052 163.051);
    --color-emerald-200: oklch(90.5% .093 164.15);
    --color-emerald-300: oklch(84.5% .143 164.978);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-emerald-600: oklch(59.6% .145 163.225);
    --color-emerald-700: oklch(50.8% .118 165.612);
    --color-emerald-800: oklch(43.2% .095 166.913);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-emerald-950: oklch(26.2% .051 172.552);
    --color-cyan-50: oklch(98.4% .019 200.873);
    --color-cyan-100: oklch(95.6% .045 203.388);
    --color-cyan-200: oklch(91.7% .08 205.041);
    --color-cyan-300: oklch(86.5% .127 207.078);
    --color-cyan-400: oklch(78.9% .154 211.53);
    --color-cyan-500: oklch(71.5% .143 215.221);
    --color-cyan-600: oklch(60.9% .126 221.723);
    --color-cyan-700: oklch(52% .105 223.128);
    --color-cyan-800: oklch(45% .085 224.283);
    --color-cyan-900: oklch(39.8% .07 227.392);
    --color-cyan-950: oklch(30.2% .056 229.695);
    --color-sky-50: oklch(97.7% .013 236.62);
    --color-sky-100: oklch(95.1% .026 236.824);
    --color-sky-200: oklch(90.1% .058 230.902);
    --color-sky-300: oklch(82.8% .111 230.318);
    --color-sky-400: oklch(74.6% .16 232.661);
    --color-sky-500: oklch(68.5% .169 237.323);
    --color-sky-600: oklch(58.8% .158 241.966);
    --color-sky-900: oklch(39.1% .09 240.876);
    --color-blue-50: oklch(97% .014 254.604);
    --color-blue-100: oklch(93.2% .032 255.585);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-blue-400: oklch(70.7% .165 254.624);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-blue-800: oklch(42.4% .199 265.638);
    --color-blue-900: oklch(37.9% .146 265.522);
    --color-indigo-50: oklch(96.2% .018 272.314);
    --color-indigo-200: oklch(87% .065 274.039);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-900: oklch(35.9% .144 278.697);
    --color-indigo-950: oklch(25.7% .09 281.288);
    --color-purple-50: oklch(97.7% .014 308.299);
    --color-purple-100: oklch(94.6% .033 307.174);
    --color-purple-200: oklch(90.2% .063 306.703);
    --color-purple-400: oklch(71.4% .203 305.504);
    --color-purple-600: oklch(55.8% .288 302.321);
    --color-purple-700: oklch(49.6% .265 301.924);
    --color-purple-800: oklch(43.8% .218 303.724);
    --color-purple-900: oklch(38.1% .176 304.987);
    --color-rose-50: oklch(96.9% .015 12.422);
    --color-rose-100: oklch(94.1% .03 12.58);
    --color-rose-200: oklch(89.2% .058 10.001);
    --color-rose-300: oklch(81% .117 11.638);
    --color-rose-400: oklch(71.2% .194 13.428);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-rose-600: oklch(58.6% .253 17.585);
    --color-rose-700: oklch(51.4% .222 16.935);
    --color-rose-800: oklch(45.5% .188 13.697);
    --color-rose-900: oklch(41% .159 10.272);
    --color-rose-950: oklch(27.1% .105 12.094);
    --color-slate-50: oklch(98.4% .003 247.858);
    --color-slate-100: oklch(96.8% .007 247.896);
    --color-slate-200: oklch(92.9% .013 255.508);
    --color-slate-300: oklch(86.9% .022 252.894);
    --color-slate-400: oklch(70.4% .04 256.788);
    --color-slate-500: oklch(55.4% .046 257.417);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-700: oklch(37.2% .044 257.287);
    --color-slate-800: oklch(27.9% .041 260.031);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-slate-950: oklch(12.9% .042 264.695);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-gray-900: oklch(21% .034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-2xl: 42rem;
    --container-5xl: 64rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --drop-shadow-xs: 0 1px 1px #0000000d;
    --drop-shadow-md: 0 3px 3px #0000001f;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-xs: 4px;
    --blur-md: 12px;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  :root {
    --bg-page-from: #ecfeff;
    --bg-page-via: #f0f9ff;
    --bg-page-to: #e0f2fe;
    --card-glass: #ffffffe0;
    --card-border: #bae6fdb3;
    --brand-cyan: #0891b2;
    --brand-blue: #0284c7;
    --brand-indigo: #4f46e5;
    font-family: Roboto Flex, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
  }

  html, body, button, input, select, textarea {
    font-family: Roboto Flex, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
  }

  html {
    scroll-behavior: smooth;
    -webkit-tap-highlight-color: transparent;
    overscroll-behavior-y: none;
    overscroll-behavior: none;
  }

  body {
    color: #0f172a;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    padding-bottom: env(safe-area-inset-bottom);
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
    overscroll-behavior-y: none;
    overscroll-behavior: none;
    background: linear-gradient(135deg, #ecfeff 0%, #f0f9ff 50%, #e0f2fe 100%) fixed;
    margin: 0;
    font-family: Roboto Flex, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;
  }

  @media (min-width: 640px) {
    ::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }

    ::-webkit-scrollbar-track {
      background: #ecfeff99;
    }

    ::-webkit-scrollbar-thumb {
      background: #bae6fd;
      border-radius: 9999px;
    }

    ::-webkit-scrollbar-thumb:hover {
      background: #38bdf8;
    }
  }

  @media (max-width: 639px) {
    ::-webkit-scrollbar {
      width: 0;
      height: 0;
      display: none;
    }

    * {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
  }
}

@layer components;

@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .inset-x-0 {
    inset-inline: 0;
  }

  .inset-y-0 {
    inset-block: 0;
  }

  .-top-1 {
    top: calc(var(--spacing) * -1);
  }

  .-top-14 {
    top: calc(var(--spacing) * -14);
  }

  .top-0 {
    top: 0;
  }

  .top-1 {
    top: var(--spacing);
  }

  .top-1\.5 {
    top: calc(var(--spacing) * 1.5);
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-2\.5 {
    top: calc(var(--spacing) * 2.5);
  }

  .top-14 {
    top: calc(var(--spacing) * 14);
  }

  .top-full {
    top: 100%;
  }

  .-right-1 {
    right: calc(var(--spacing) * -1);
  }

  .-right-14 {
    right: calc(var(--spacing) * -14);
  }

  .right-0 {
    right: 0;
  }

  .right-1\.5 {
    right: calc(var(--spacing) * 1.5);
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-2\.5 {
    right: calc(var(--spacing) * 2.5);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .right-3\.5 {
    right: calc(var(--spacing) * 3.5);
  }

  .right-5 {
    right: calc(var(--spacing) * 5);
  }

  .-bottom-1 {
    bottom: calc(var(--spacing) * -1);
  }

  .-bottom-16 {
    bottom: calc(var(--spacing) * -16);
  }

  .bottom-0 {
    bottom: 0;
  }

  .bottom-5 {
    bottom: calc(var(--spacing) * 5);
  }

  .bottom-6 {
    bottom: calc(var(--spacing) * 6);
  }

  .bottom-20 {
    bottom: calc(var(--spacing) * 20);
  }

  .bottom-full {
    bottom: 100%;
  }

  .-left-16 {
    left: calc(var(--spacing) * -16);
  }

  .left-0 {
    left: 0;
  }

  .left-2\.5 {
    left: calc(var(--spacing) * 2.5);
  }

  .left-3 {
    left: calc(var(--spacing) * 3);
  }

  .z-0 {
    z-index: 0;
  }

  .z-10 {
    z-index: 10;
  }

  .z-20 {
    z-index: 20;
  }

  .z-30 {
    z-index: 30;
  }

  .z-40 {
    z-index: 40;
  }

  .z-50 {
    z-index: 50;
  }

  .z-\[100\] {
    z-index: 100;
  }

  .z-\[9999\] {
    z-index: 9999;
  }

  .z-\[99998\] {
    z-index: 99998;
  }

  .z-\[99999\] {
    z-index: 99999;
  }

  .col-span-2 {
    grid-column: span 2 / span 2;
  }

  .m-4 {
    margin: calc(var(--spacing) * 4);
  }

  .-mx-4 {
    margin-inline: calc(var(--spacing) * -4);
  }

  .mx-3 {
    margin-inline: calc(var(--spacing) * 3);
  }

  .mx-4 {
    margin-inline: calc(var(--spacing) * 4);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }

  .my-auto {
    margin-block: auto;
  }

  .-mt-3 {
    margin-top: calc(var(--spacing) * -3);
  }

  .-mt-3\.5 {
    margin-top: calc(var(--spacing) * -3.5);
  }

  .-mt-5 {
    margin-top: calc(var(--spacing) * -5);
  }

  .-mt-6 {
    margin-top: calc(var(--spacing) * -6);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: var(--spacing);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-2\.5 {
    margin-top: calc(var(--spacing) * 2.5);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-3\.5 {
    margin-top: calc(var(--spacing) * 3.5);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * .5);
  }

  .mb-1 {
    margin-bottom: var(--spacing);
  }

  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-2\.5 {
    margin-bottom: calc(var(--spacing) * 2.5);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-3\.5 {
    margin-bottom: calc(var(--spacing) * 3.5);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .ml-0\.5 {
    margin-left: calc(var(--spacing) * .5);
  }

  .ml-1 {
    margin-left: var(--spacing);
  }

  .ml-3 {
    margin-left: calc(var(--spacing) * 3);
  }

  .line-clamp-1 {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .h-0\.5 {
    height: calc(var(--spacing) * .5);
  }

  .h-1 {
    height: var(--spacing);
  }

  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-13 {
    height: calc(var(--spacing) * 13);
  }

  .h-14 {
    height: calc(var(--spacing) * 14);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-20 {
    height: calc(var(--spacing) * 20);
  }

  .h-24 {
    height: calc(var(--spacing) * 24);
  }

  .h-32 {
    height: calc(var(--spacing) * 32);
  }

  .h-36 {
    height: calc(var(--spacing) * 36);
  }

  .h-40 {
    height: calc(var(--spacing) * 40);
  }

  .h-48 {
    height: calc(var(--spacing) * 48);
  }

  .h-52 {
    height: calc(var(--spacing) * 52);
  }

  .h-64 {
    height: calc(var(--spacing) * 64);
  }

  .h-\[17px\] {
    height: 17px;
  }

  .h-\[28px\] {
    height: 28px;
  }

  .h-\[100dvh\] {
    height: 100dvh;
  }

  .h-\[190px\] {
    height: 190px;
  }

  .h-\[210px\] {
    height: 210px;
  }

  .h-\[220px\] {
    height: 220px;
  }

  .h-full {
    height: 100%;
  }

  .max-h-\[80vh\] {
    max-height: 80vh;
  }

  .max-h-\[86px\] {
    max-height: 86px;
  }

  .max-h-\[92vh\] {
    max-height: 92vh;
  }

  .max-h-\[380px\] {
    max-height: 380px;
  }

  .max-h-\[400px\] {
    max-height: 400px;
  }

  .max-h-\[calc\(85vh-110px\)\] {
    max-height: calc(85vh - 110px);
  }

  .max-h-\[calc\(100dvh-7\.5rem\)\] {
    max-height: calc(100dvh - 7.5rem);
  }

  .min-h-0 {
    min-height: 0;
  }

  .min-h-\[16px\] {
    min-height: 16px;
  }

  .min-h-\[32px\] {
    min-height: 32px;
  }

  .min-h-\[34px\] {
    min-height: 34px;
  }

  .min-h-\[36px\] {
    min-height: 36px;
  }

  .min-h-\[38px\] {
    min-height: 38px;
  }

  .min-h-\[40px\] {
    min-height: 40px;
  }

  .min-h-\[42px\] {
    min-height: 42px;
  }

  .min-h-\[44px\] {
    min-height: 44px;
  }

  .min-h-\[48px\] {
    min-height: 48px;
  }

  .min-h-\[58px\] {
    min-height: 58px;
  }

  .min-h-\[75vh\] {
    min-height: 75vh;
  }

  .min-h-\[220px\] {
    min-height: 220px;
  }

  .min-h-full {
    min-height: 100%;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-1 {
    width: var(--spacing);
  }

  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }

  .w-1\/2 {
    width: 50%;
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-3\/4 {
    width: 75%;
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-14 {
    width: calc(var(--spacing) * 14);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-20 {
    width: calc(var(--spacing) * 20);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-28 {
    width: calc(var(--spacing) * 28);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-36 {
    width: calc(var(--spacing) * 36);
  }

  .w-40 {
    width: calc(var(--spacing) * 40);
  }

  .w-44 {
    width: calc(var(--spacing) * 44);
  }

  .w-48 {
    width: calc(var(--spacing) * 48);
  }

  .w-52 {
    width: calc(var(--spacing) * 52);
  }

  .w-56 {
    width: calc(var(--spacing) * 56);
  }

  .w-60 {
    width: calc(var(--spacing) * 60);
  }

  .w-64 {
    width: calc(var(--spacing) * 64);
  }

  .w-\[275px\] {
    width: 275px;
  }

  .w-\[calc\(100vw-2\.5rem\)\] {
    width: calc(100vw - 2.5rem);
  }

  .w-\[calc\(100vw-24px\)\] {
    width: calc(100vw - 24px);
  }

  .w-full {
    width: 100%;
  }

  .w-px {
    width: 1px;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-5xl {
    max-width: var(--container-5xl);
  }

  .max-w-\[90px\] {
    max-width: 90px;
  }

  .max-w-\[110px\] {
    max-width: 110px;
  }

  .max-w-\[140px\] {
    max-width: 140px;
  }

  .max-w-\[160px\] {
    max-width: 160px;
  }

  .max-w-\[170px\] {
    max-width: 170px;
  }

  .max-w-\[180px\] {
    max-width: 180px;
  }

  .max-w-\[200px\] {
    max-width: 200px;
  }

  .max-w-\[240px\] {
    max-width: 240px;
  }

  .max-w-\[280px\] {
    max-width: 280px;
  }

  .max-w-\[440px\] {
    max-width: 440px;
  }

  .max-w-\[calc\(100vw-2rem\)\] {
    max-width: calc(100vw - 2rem);
  }

  .max-w-full {
    max-width: 100%;
  }

  .max-w-lg {
    max-width: var(--container-lg);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

  .min-w-0 {
    min-width: 0;
  }

  .min-w-\[15px\] {
    min-width: 15px;
  }

  .min-w-\[17px\] {
    min-width: 17px;
  }

  .min-w-\[28px\] {
    min-width: 28px;
  }

  .min-w-\[66px\] {
    min-width: 66px;
  }

  .min-w-\[80px\] {
    min-width: 80px;
  }

  .min-w-\[84px\] {
    min-width: 84px;
  }

  .min-w-\[90px\] {
    min-width: 90px;
  }

  .min-w-\[100px\] {
    min-width: 100px;
  }

  .min-w-\[110px\] {
    min-width: 110px;
  }

  .min-w-\[120px\] {
    min-width: 120px;
  }

  .min-w-\[130px\] {
    min-width: 130px;
  }

  .min-w-\[140px\] {
    min-width: 140px;
  }

  .min-w-\[150px\] {
    min-width: 150px;
  }

  .min-w-\[160px\] {
    min-width: 160px;
  }

  .min-w-\[170px\] {
    min-width: 170px;
  }

  .min-w-\[180px\] {
    min-width: 180px;
  }

  .min-w-\[200px\] {
    min-width: 200px;
  }

  .min-w-\[240px\] {
    min-width: 240px;
  }

  .flex-1 {
    flex: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .table-auto {
    table-layout: auto;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .origin-bottom {
    transform-origin: bottom;
  }

  .origin-center {
    transform-origin: center;
  }

  .translate-x-0 {
    --tw-translate-x: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-5 {
    --tw-translate-x: calc(var(--spacing) * 5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-6\.5 {
    --tw-translate-y: calc(var(--spacing) * -6.5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .scale-105 {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .rotate-180 {
    rotate: 180deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-bounce {
    animation: var(--animate-bounce);
  }

  .animate-ping {
    animation: var(--animate-ping);
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-grab {
    cursor: grab;
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .cursor-wait {
    cursor: wait;
  }

  .scrollbar-none {
    scrollbar-width: none;
  }

  .scrollbar-thin {
    scrollbar-width: thin;
  }

  .list-inside {
    list-style-position: inside;
  }

  .list-decimal {
    list-style-type: decimal;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-row {
    flex-direction: row;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .items-stretch {
    align-items: stretch;
  }

  .justify-around {
    justify-content: space-around;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: var(--spacing);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-3\.5 {
    gap: calc(var(--spacing) * 3.5);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  :where(.space-y-0\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
    margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.divide-x > :not(:last-child)) {
    --tw-divide-x-reverse: 0;
    border-inline-style: var(--tw-border-style);
    border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
    border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-gray-100 > :not(:last-child)) {
    border-color: var(--color-gray-100);
  }

  :where(.divide-sky-50 > :not(:last-child)) {
    border-color: var(--color-sky-50);
  }

  :where(.divide-sky-100 > :not(:last-child)) {
    border-color: var(--color-sky-100);
  }

  :where(.divide-slate-100 > :not(:last-child)) {
    border-color: var(--color-slate-100);
  }

  .self-start {
    align-self: flex-start;
  }

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

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-visible {
    overflow: visible;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .overflow-x-clip {
    overflow-x: clip;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .overscroll-none {
    overscroll-behavior: none;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .rounded-t-\[1\.75rem\] {
    border-top-left-radius: 1.75rem;
    border-top-right-radius: 1.75rem;
  }

  .rounded-t-md {
    border-top-left-radius: var(--radius-md);
    border-top-right-radius: var(--radius-md);
  }

  .rounded-tr-full {
    border-top-right-radius: 3.40282e38px;
  }

  .rounded-b-2xl {
    border-bottom-right-radius: var(--radius-2xl);
    border-bottom-left-radius: var(--radius-2xl);
  }

  .rounded-b-\[2rem\] {
    border-bottom-right-radius: 2rem;
    border-bottom-left-radius: 2rem;
  }

  .rounded-bl-full {
    border-bottom-left-radius: 3.40282e38px;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-4 {
    border-style: var(--tw-border-style);
    border-width: 4px;
  }

  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-amber-100 {
    border-color: var(--color-amber-100);
  }

  .border-amber-200 {
    border-color: var(--color-amber-200);
  }

  .border-amber-300 {
    border-color: var(--color-amber-300);
  }

  .border-amber-400 {
    border-color: var(--color-amber-400);
  }

  .border-amber-500 {
    border-color: var(--color-amber-500);
  }

  .border-amber-500\/50 {
    border-color: #f99c0080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/50 {
      border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
    }
  }

  .border-amber-500\/60 {
    border-color: #f99c0099;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/60 {
      border-color: color-mix(in oklab, var(--color-amber-500) 60%, transparent);
    }
  }

  .border-blue-100 {
    border-color: var(--color-blue-100);
  }

  .border-blue-200 {
    border-color: var(--color-blue-200);
  }

  .border-blue-200\/70 {
    border-color: #bedbffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-200\/70 {
      border-color: color-mix(in oklab, var(--color-blue-200) 70%, transparent);
    }
  }

  .border-blue-200\/80 {
    border-color: #bedbffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-blue-200\/80 {
      border-color: color-mix(in oklab, var(--color-blue-200) 80%, transparent);
    }
  }

  .border-blue-400 {
    border-color: var(--color-blue-400);
  }

  .border-blue-600 {
    border-color: var(--color-blue-600);
  }

  .border-cyan-100 {
    border-color: var(--color-cyan-100);
  }

  .border-cyan-100\/80 {
    border-color: #cefafecc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-100\/80 {
      border-color: color-mix(in oklab, var(--color-cyan-100) 80%, transparent);
    }
  }

  .border-cyan-200 {
    border-color: var(--color-cyan-200);
  }

  .border-cyan-300 {
    border-color: var(--color-cyan-300);
  }

  .border-cyan-300\/90 {
    border-color: #53eafde6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-300\/90 {
      border-color: color-mix(in oklab, var(--color-cyan-300) 90%, transparent);
    }
  }

  .border-cyan-400 {
    border-color: var(--color-cyan-400);
  }

  .border-cyan-500 {
    border-color: var(--color-cyan-500);
  }

  .border-cyan-500\/50 {
    border-color: #00b7d780;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-500\/50 {
      border-color: color-mix(in oklab, var(--color-cyan-500) 50%, transparent);
    }
  }

  .border-cyan-600 {
    border-color: var(--color-cyan-600);
  }

  .border-cyan-700 {
    border-color: var(--color-cyan-700);
  }

  .border-cyan-800 {
    border-color: var(--color-cyan-800);
  }

  .border-emerald-100 {
    border-color: var(--color-emerald-100);
  }

  .border-emerald-200 {
    border-color: var(--color-emerald-200);
  }

  .border-emerald-300 {
    border-color: var(--color-emerald-300);
  }

  .border-emerald-400 {
    border-color: var(--color-emerald-400);
  }

  .border-emerald-500 {
    border-color: var(--color-emerald-500);
  }

  .border-emerald-500\/50 {
    border-color: #00bb7f80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/50 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 50%, transparent);
    }
  }

  .border-emerald-500\/60 {
    border-color: #00bb7f99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/60 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 60%, transparent);
    }
  }

  .border-emerald-700 {
    border-color: var(--color-emerald-700);
  }

  .border-gray-50 {
    border-color: var(--color-gray-50);
  }

  .border-gray-100 {
    border-color: var(--color-gray-100);
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-gray-200\/80 {
    border-color: #e5e7ebcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-gray-200\/80 {
      border-color: color-mix(in oklab, var(--color-gray-200) 80%, transparent);
    }
  }

  .border-indigo-200 {
    border-color: var(--color-indigo-200);
  }

  .border-orange-200 {
    border-color: var(--color-orange-200);
  }

  .border-purple-200 {
    border-color: var(--color-purple-200);
  }

  .border-purple-400 {
    border-color: var(--color-purple-400);
  }

  .border-red-100 {
    border-color: var(--color-red-100);
  }

  .border-red-200 {
    border-color: var(--color-red-200);
  }

  .border-red-200\/60 {
    border-color: #ffcaca99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-red-200\/60 {
      border-color: color-mix(in oklab, var(--color-red-200) 60%, transparent);
    }
  }

  .border-rose-100 {
    border-color: var(--color-rose-100);
  }

  .border-rose-200 {
    border-color: var(--color-rose-200);
  }

  .border-rose-300 {
    border-color: var(--color-rose-300);
  }

  .border-rose-400 {
    border-color: var(--color-rose-400);
  }

  .border-rose-500 {
    border-color: var(--color-rose-500);
  }

  .border-rose-500\/50 {
    border-color: #ff235780;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/50 {
      border-color: color-mix(in oklab, var(--color-rose-500) 50%, transparent);
    }
  }

  .border-rose-500\/60 {
    border-color: #ff235799;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-500\/60 {
      border-color: color-mix(in oklab, var(--color-rose-500) 60%, transparent);
    }
  }

  .border-sky-50 {
    border-color: var(--color-sky-50);
  }

  .border-sky-100 {
    border-color: var(--color-sky-100);
  }

  .border-sky-200 {
    border-color: var(--color-sky-200);
  }

  .border-sky-200\/60 {
    border-color: #b8e6fe99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-200\/60 {
      border-color: color-mix(in oklab, var(--color-sky-200) 60%, transparent);
    }
  }

  .border-sky-200\/80 {
    border-color: #b8e6fecc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-200\/80 {
      border-color: color-mix(in oklab, var(--color-sky-200) 80%, transparent);
    }
  }

  .border-sky-200\/90 {
    border-color: #b8e6fee6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-200\/90 {
      border-color: color-mix(in oklab, var(--color-sky-200) 90%, transparent);
    }
  }

  .border-sky-300 {
    border-color: var(--color-sky-300);
  }

  .border-slate-100 {
    border-color: var(--color-slate-100);
  }

  .border-slate-200 {
    border-color: var(--color-slate-200);
  }

  .border-slate-200\/70 {
    border-color: #e2e8f0b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-200\/70 {
      border-color: color-mix(in oklab, var(--color-slate-200) 70%, transparent);
    }
  }

  .border-slate-200\/80 {
    border-color: #e2e8f0cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-200\/80 {
      border-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
    }
  }

  .border-slate-200\/90 {
    border-color: #e2e8f0e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-200\/90 {
      border-color: color-mix(in oklab, var(--color-slate-200) 90%, transparent);
    }
  }

  .border-slate-300 {
    border-color: var(--color-slate-300);
  }

  .border-slate-400 {
    border-color: var(--color-slate-400);
  }

  .border-slate-600\/60 {
    border-color: #45556c99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-600\/60 {
      border-color: color-mix(in oklab, var(--color-slate-600) 60%, transparent);
    }
  }

  .border-slate-800 {
    border-color: var(--color-slate-800);
  }

  .border-transparent {
    border-color: #0000;
  }

  .border-white {
    border-color: var(--color-white);
  }

  .border-white\/30 {
    border-color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/30 {
      border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .border-white\/40 {
    border-color: #fff6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/40 {
      border-color: color-mix(in oklab, var(--color-white) 40%, transparent);
    }
  }

  .border-white\/60 {
    border-color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/60 {
      border-color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .border-t-transparent {
    border-top-color: #0000;
  }

  .bg-\[\#e5e7eb\] {
    background-color: #e5e7eb;
  }

  .bg-\[\#f3f4f6\] {
    background-color: #f3f4f6;
  }

  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }

  .bg-amber-50\/40 {
    background-color: #fffbeb66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/40 {
      background-color: color-mix(in oklab, var(--color-amber-50) 40%, transparent);
    }
  }

  .bg-amber-50\/50 {
    background-color: #fffbeb80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/50 {
      background-color: color-mix(in oklab, var(--color-amber-50) 50%, transparent);
    }
  }

  .bg-amber-50\/70 {
    background-color: #fffbebb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/70 {
      background-color: color-mix(in oklab, var(--color-amber-50) 70%, transparent);
    }
  }

  .bg-amber-50\/80 {
    background-color: #fffbebcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/80 {
      background-color: color-mix(in oklab, var(--color-amber-50) 80%, transparent);
    }
  }

  .bg-amber-50\/90 {
    background-color: #fffbebe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/90 {
      background-color: color-mix(in oklab, var(--color-amber-50) 90%, transparent);
    }
  }

  .bg-amber-100 {
    background-color: var(--color-amber-100);
  }

  .bg-amber-100\/90 {
    background-color: #fef3c6e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-100\/90 {
      background-color: color-mix(in oklab, var(--color-amber-100) 90%, transparent);
    }
  }

  .bg-amber-500 {
    background-color: var(--color-amber-500);
  }

  .bg-amber-600 {
    background-color: var(--color-amber-600);
  }

  .bg-amber-900\/95 {
    background-color: #7b3306f2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-900\/95 {
      background-color: color-mix(in oklab, var(--color-amber-900) 95%, transparent);
    }
  }

  .bg-blue-50 {
    background-color: var(--color-blue-50);
  }

  .bg-blue-50\/50 {
    background-color: #eff6ff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-50\/50 {
      background-color: color-mix(in oklab, var(--color-blue-50) 50%, transparent);
    }
  }

  .bg-blue-50\/60 {
    background-color: #eff6ff99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-50\/60 {
      background-color: color-mix(in oklab, var(--color-blue-50) 60%, transparent);
    }
  }

  .bg-blue-50\/70 {
    background-color: #eff6ffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-50\/70 {
      background-color: color-mix(in oklab, var(--color-blue-50) 70%, transparent);
    }
  }

  .bg-blue-50\/80 {
    background-color: #eff6ffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-50\/80 {
      background-color: color-mix(in oklab, var(--color-blue-50) 80%, transparent);
    }
  }

  .bg-blue-100 {
    background-color: var(--color-blue-100);
  }

  .bg-blue-200 {
    background-color: var(--color-blue-200);
  }

  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }

  .bg-blue-600\/90 {
    background-color: #155dfce6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-600\/90 {
      background-color: color-mix(in oklab, var(--color-blue-600) 90%, transparent);
    }
  }

  .bg-blue-700 {
    background-color: var(--color-blue-700);
  }

  .bg-blue-800 {
    background-color: var(--color-blue-800);
  }

  .bg-blue-900\/40 {
    background-color: #1c398e66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-blue-900\/40 {
      background-color: color-mix(in oklab, var(--color-blue-900) 40%, transparent);
    }
  }

  .bg-cyan-50 {
    background-color: var(--color-cyan-50);
  }

  .bg-cyan-50\/30 {
    background-color: #ecfeff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-50\/30 {
      background-color: color-mix(in oklab, var(--color-cyan-50) 30%, transparent);
    }
  }

  .bg-cyan-50\/40 {
    background-color: #ecfeff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-50\/40 {
      background-color: color-mix(in oklab, var(--color-cyan-50) 40%, transparent);
    }
  }

  .bg-cyan-50\/50 {
    background-color: #ecfeff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-50\/50 {
      background-color: color-mix(in oklab, var(--color-cyan-50) 50%, transparent);
    }
  }

  .bg-cyan-50\/60 {
    background-color: #ecfeff99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-50\/60 {
      background-color: color-mix(in oklab, var(--color-cyan-50) 60%, transparent);
    }
  }

  .bg-cyan-50\/70 {
    background-color: #ecfeffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-50\/70 {
      background-color: color-mix(in oklab, var(--color-cyan-50) 70%, transparent);
    }
  }

  .bg-cyan-50\/80 {
    background-color: #ecfeffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-50\/80 {
      background-color: color-mix(in oklab, var(--color-cyan-50) 80%, transparent);
    }
  }

  .bg-cyan-50\/90 {
    background-color: #ecfeffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-50\/90 {
      background-color: color-mix(in oklab, var(--color-cyan-50) 90%, transparent);
    }
  }

  .bg-cyan-100 {
    background-color: var(--color-cyan-100);
  }

  .bg-cyan-100\/70 {
    background-color: #cefafeb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-100\/70 {
      background-color: color-mix(in oklab, var(--color-cyan-100) 70%, transparent);
    }
  }

  .bg-cyan-100\/80 {
    background-color: #cefafecc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-100\/80 {
      background-color: color-mix(in oklab, var(--color-cyan-100) 80%, transparent);
    }
  }

  .bg-cyan-100\/90 {
    background-color: #cefafee6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-100\/90 {
      background-color: color-mix(in oklab, var(--color-cyan-100) 90%, transparent);
    }
  }

  .bg-cyan-300\/10 {
    background-color: #53eafd1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-300\/10 {
      background-color: color-mix(in oklab, var(--color-cyan-300) 10%, transparent);
    }
  }

  .bg-cyan-500 {
    background-color: var(--color-cyan-500);
  }

  .bg-cyan-600 {
    background-color: var(--color-cyan-600);
  }

  .bg-cyan-700 {
    background-color: var(--color-cyan-700);
  }

  .bg-cyan-800 {
    background-color: var(--color-cyan-800);
  }

  .bg-cyan-900\/95 {
    background-color: #104e64f2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-900\/95 {
      background-color: color-mix(in oklab, var(--color-cyan-900) 95%, transparent);
    }
  }

  .bg-emerald-50 {
    background-color: var(--color-emerald-50);
  }

  .bg-emerald-50\/40 {
    background-color: #ecfdf566;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/40 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 40%, transparent);
    }
  }

  .bg-emerald-50\/70 {
    background-color: #ecfdf5b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/70 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 70%, transparent);
    }
  }

  .bg-emerald-50\/80 {
    background-color: #ecfdf5cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/80 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 80%, transparent);
    }
  }

  .bg-emerald-50\/90 {
    background-color: #ecfdf5e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/90 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 90%, transparent);
    }
  }

  .bg-emerald-100 {
    background-color: var(--color-emerald-100);
  }

  .bg-emerald-100\/70 {
    background-color: #d0fae5b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-100\/70 {
      background-color: color-mix(in oklab, var(--color-emerald-100) 70%, transparent);
    }
  }

  .bg-emerald-100\/90 {
    background-color: #d0fae5e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-100\/90 {
      background-color: color-mix(in oklab, var(--color-emerald-100) 90%, transparent);
    }
  }

  .bg-emerald-600 {
    background-color: var(--color-emerald-600);
  }

  .bg-emerald-900\/95 {
    background-color: #004e3bf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-900\/95 {
      background-color: color-mix(in oklab, var(--color-emerald-900) 95%, transparent);
    }
  }

  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }

  .bg-gray-50\/50 {
    background-color: #f9fafb80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-50\/50 {
      background-color: color-mix(in oklab, var(--color-gray-50) 50%, transparent);
    }
  }

  .bg-gray-50\/60 {
    background-color: #f9fafb99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-50\/60 {
      background-color: color-mix(in oklab, var(--color-gray-50) 60%, transparent);
    }
  }

  .bg-gray-50\/70 {
    background-color: #f9fafbb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-50\/70 {
      background-color: color-mix(in oklab, var(--color-gray-50) 70%, transparent);
    }
  }

  .bg-gray-50\/80 {
    background-color: #f9fafbcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-50\/80 {
      background-color: color-mix(in oklab, var(--color-gray-50) 80%, transparent);
    }
  }

  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-gray-200 {
    background-color: var(--color-gray-200);
  }

  .bg-gray-300 {
    background-color: var(--color-gray-300);
  }

  .bg-indigo-50\/60 {
    background-color: #eef2ff99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-indigo-50\/60 {
      background-color: color-mix(in oklab, var(--color-indigo-50) 60%, transparent);
    }
  }

  .bg-orange-100 {
    background-color: var(--color-orange-100);
  }

  .bg-orange-600 {
    background-color: var(--color-orange-600);
  }

  .bg-purple-50\/90 {
    background-color: #faf5ffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-purple-50\/90 {
      background-color: color-mix(in oklab, var(--color-purple-50) 90%, transparent);
    }
  }

  .bg-purple-100 {
    background-color: var(--color-purple-100);
  }

  .bg-purple-600 {
    background-color: var(--color-purple-600);
  }

  .bg-red-50 {
    background-color: var(--color-red-50);
  }

  .bg-red-50\/40 {
    background-color: #fef2f266;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-50\/40 {
      background-color: color-mix(in oklab, var(--color-red-50) 40%, transparent);
    }
  }

  .bg-red-100 {
    background-color: var(--color-red-100);
  }

  .bg-red-600 {
    background-color: var(--color-red-600);
  }

  .bg-rose-50 {
    background-color: var(--color-rose-50);
  }

  .bg-rose-50\/40 {
    background-color: #fff1f266;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-50\/40 {
      background-color: color-mix(in oklab, var(--color-rose-50) 40%, transparent);
    }
  }

  .bg-rose-50\/60 {
    background-color: #fff1f299;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-50\/60 {
      background-color: color-mix(in oklab, var(--color-rose-50) 60%, transparent);
    }
  }

  .bg-rose-50\/80 {
    background-color: #fff1f2cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-50\/80 {
      background-color: color-mix(in oklab, var(--color-rose-50) 80%, transparent);
    }
  }

  .bg-rose-50\/90 {
    background-color: #fff1f2e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-50\/90 {
      background-color: color-mix(in oklab, var(--color-rose-50) 90%, transparent);
    }
  }

  .bg-rose-100 {
    background-color: var(--color-rose-100);
  }

  .bg-rose-500 {
    background-color: var(--color-rose-500);
  }

  .bg-rose-600 {
    background-color: var(--color-rose-600);
  }

  .bg-rose-900\/95 {
    background-color: #8b0836f2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-900\/95 {
      background-color: color-mix(in oklab, var(--color-rose-900) 95%, transparent);
    }
  }

  .bg-sky-50 {
    background-color: var(--color-sky-50);
  }

  .bg-sky-50\/60 {
    background-color: #f0f9ff99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-sky-50\/60 {
      background-color: color-mix(in oklab, var(--color-sky-50) 60%, transparent);
    }
  }

  .bg-sky-50\/70 {
    background-color: #f0f9ffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-sky-50\/70 {
      background-color: color-mix(in oklab, var(--color-sky-50) 70%, transparent);
    }
  }

  .bg-sky-100 {
    background-color: var(--color-sky-100);
  }

  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }

  .bg-slate-50\/50 {
    background-color: #f8fafc80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/50 {
      background-color: color-mix(in oklab, var(--color-slate-50) 50%, transparent);
    }
  }

  .bg-slate-50\/70 {
    background-color: #f8fafcb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/70 {
      background-color: color-mix(in oklab, var(--color-slate-50) 70%, transparent);
    }
  }

  .bg-slate-50\/80 {
    background-color: #f8fafccc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/80 {
      background-color: color-mix(in oklab, var(--color-slate-50) 80%, transparent);
    }
  }

  .bg-slate-50\/90 {
    background-color: #f8fafce6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/90 {
      background-color: color-mix(in oklab, var(--color-slate-50) 90%, transparent);
    }
  }

  .bg-slate-100 {
    background-color: var(--color-slate-100);
  }

  .bg-slate-100\/80 {
    background-color: #f1f5f9cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-100\/80 {
      background-color: color-mix(in oklab, var(--color-slate-100) 80%, transparent);
    }
  }

  .bg-slate-100\/90 {
    background-color: #f1f5f9e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-100\/90 {
      background-color: color-mix(in oklab, var(--color-slate-100) 90%, transparent);
    }
  }

  .bg-slate-200 {
    background-color: var(--color-slate-200);
  }

  .bg-slate-300 {
    background-color: var(--color-slate-300);
  }

  .bg-slate-600 {
    background-color: var(--color-slate-600);
  }

  .bg-slate-700 {
    background-color: var(--color-slate-700);
  }

  .bg-slate-800 {
    background-color: var(--color-slate-800);
  }

  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }

  .bg-slate-900\/20 {
    background-color: #0f172b33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/20 {
      background-color: color-mix(in oklab, var(--color-slate-900) 20%, transparent);
    }
  }

  .bg-slate-900\/40 {
    background-color: #0f172b66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/40 {
      background-color: color-mix(in oklab, var(--color-slate-900) 40%, transparent);
    }
  }

  .bg-slate-900\/60 {
    background-color: #0f172b99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/60 {
      background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
    }
  }

  .bg-slate-900\/95 {
    background-color: #0f172bf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/95 {
      background-color: color-mix(in oklab, var(--color-slate-900) 95%, transparent);
    }
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-white\/10 {
    background-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/10 {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .bg-white\/15 {
    background-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/15 {
      background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .bg-white\/20 {
    background-color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/20 {
      background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .bg-white\/30 {
    background-color: #ffffff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/30 {
      background-color: color-mix(in oklab, var(--color-white) 30%, transparent);
    }
  }

  .bg-white\/40 {
    background-color: #fff6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/40 {
      background-color: color-mix(in oklab, var(--color-white) 40%, transparent);
    }
  }

  .bg-white\/50 {
    background-color: #ffffff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/50 {
      background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
    }
  }

  .bg-white\/60 {
    background-color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/60 {
      background-color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .bg-white\/80 {
    background-color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/80 {
      background-color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .bg-white\/90 {
    background-color: #ffffffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/90 {
      background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }

  .bg-white\/95 {
    background-color: #fffffff2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/95 {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }

  .bg-linear-to-r {
    --tw-gradient-position: to right;
  }

  @supports (background-image: linear-gradient(in lab, red, red)) {
    .bg-linear-to-r {
      --tw-gradient-position: to right in oklab;
    }
  }

  .bg-linear-to-r {
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-tr {
    --tw-gradient-position: to top right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-\[\#ecfeff\] {
    --tw-gradient-from: #ecfeff;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-50\/70 {
    --tw-gradient-from: #eff6ffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-blue-50\/70 {
      --tw-gradient-from: color-mix(in oklab, var(--color-blue-50) 70%, transparent);
    }
  }

  .from-blue-50\/70 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-blue-600 {
    --tw-gradient-from: var(--color-blue-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-cyan-600 {
    --tw-gradient-from: var(--color-cyan-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-sky-50\/80 {
    --tw-gradient-from: #f0f9ffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-sky-50\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-sky-50) 80%, transparent);
    }
  }

  .from-sky-50\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-sky-500 {
    --tw-gradient-from: var(--color-sky-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .via-\[\#f0f9ff\] {
    --tw-gradient-via: #f0f9ff;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-blue-600 {
    --tw-gradient-via: var(--color-blue-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-indigo-50\/30 {
    --tw-gradient-via: #eef2ff4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-indigo-50\/30 {
      --tw-gradient-via: color-mix(in oklab, var(--color-indigo-50) 30%, transparent);
    }
  }

  .via-indigo-50\/30 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-sky-600 {
    --tw-gradient-via: var(--color-sky-600);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-white {
    --tw-gradient-via: var(--color-white);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-\[\#e0f2fe\] {
    --tw-gradient-to: #e0f2fe;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-600 {
    --tw-gradient-to: var(--color-blue-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-700 {
    --tw-gradient-to: var(--color-blue-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-800 {
    --tw-gradient-to: var(--color-blue-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-cyan-50\/80 {
    --tw-gradient-to: #ecfeffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-cyan-50\/80 {
      --tw-gradient-to: color-mix(in oklab, var(--color-cyan-50) 80%, transparent);
    }
  }

  .to-cyan-50\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-indigo-50\/50 {
    --tw-gradient-to: #eef2ff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-indigo-50\/50 {
      --tw-gradient-to: color-mix(in oklab, var(--color-indigo-50) 50%, transparent);
    }
  }

  .to-indigo-50\/50 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-sky-500 {
    --tw-gradient-to: var(--color-sky-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-sky-600 {
    --tw-gradient-to: var(--color-sky-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-white {
    --tw-gradient-to: var(--color-white);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .fill-emerald-600 {
    fill: var(--color-emerald-600);
  }

  .fill-slate-400 {
    fill: var(--color-slate-400);
  }

  .fill-white {
    fill: var(--color-white);
  }

  .stroke-2 {
    stroke-width: 2px;
  }

  .stroke-\[1\.5\] {
    stroke-width: 1.5px;
  }

  .stroke-\[1\.8\] {
    stroke-width: 1.8px;
  }

  .stroke-\[2\.2\] {
    stroke-width: 2.2px;
  }

  .stroke-\[2\.5\] {
    stroke-width: 2.5px;
  }

  .stroke-\[3\] {
    stroke-width: 3px;
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-0 {
    padding: 0;
  }

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-1 {
    padding: var(--spacing);
  }

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .px-0\.5 {
    padding-inline: calc(var(--spacing) * .5);
  }

  .px-1 {
    padding-inline: var(--spacing);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: var(--spacing);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .pt-0\.5 {
    padding-top: calc(var(--spacing) * .5);
  }

  .pt-1 {
    padding-top: var(--spacing);
  }

  .pt-1\.5 {
    padding-top: calc(var(--spacing) * 1.5);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-2\.5 {
    padding-top: calc(var(--spacing) * 2.5);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pt-14 {
    padding-top: calc(var(--spacing) * 14);
  }

  .pr-0\.5 {
    padding-right: calc(var(--spacing) * .5);
  }

  .pr-1 {
    padding-right: var(--spacing);
  }

  .pr-2 {
    padding-right: calc(var(--spacing) * 2);
  }

  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }

  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }

  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }

  .pb-0 {
    padding-bottom: 0;
  }

  .pb-1 {
    padding-bottom: var(--spacing);
  }

  .pb-1\.5 {
    padding-bottom: calc(var(--spacing) * 1.5);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pb-2\.5 {
    padding-bottom: calc(var(--spacing) * 2.5);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-3\.5 {
    padding-bottom: calc(var(--spacing) * 3.5);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-7 {
    padding-bottom: calc(var(--spacing) * 7);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }

  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }

  .pb-\[max\(env\(safe-area-inset-bottom\,0px\)\,12px\)\] {
    padding-bottom: max(env(safe-area-inset-bottom, 0px), 12px);
  }

  .pl-1 {
    padding-left: var(--spacing);
  }

  .pl-1\.5 {
    padding-left: calc(var(--spacing) * 1.5);
  }

  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }

  .pl-3\.5 {
    padding-left: calc(var(--spacing) * 3.5);
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .pl-8 {
    padding-left: calc(var(--spacing) * 8);
  }

  .pl-9 {
    padding-left: calc(var(--spacing) * 9);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .text-right {
    text-align: right;
  }

  .align-middle {
    vertical-align: middle;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[9\.5px\] {
    font-size: 9.5px;
  }

  .text-\[9px\] {
    font-size: 9px;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .text-\[12px\] {
    font-size: 12px;
  }

  .text-\[13px\] {
    font-size: 13px;
  }

  .text-\[14px\] {
    font-size: 14px;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-black {
    --tw-font-weight: var(--font-weight-black);
    font-weight: var(--font-weight-black);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

  .break-words {
    overflow-wrap: break-word;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-\[\#0f172a\] {
    color: #0f172a;
  }

  .text-\[\#111827\] {
    color: #111827;
  }

  .text-amber-50 {
    color: var(--color-amber-50);
  }

  .text-amber-100 {
    color: var(--color-amber-100);
  }

  .text-amber-300 {
    color: var(--color-amber-300);
  }

  .text-amber-400 {
    color: var(--color-amber-400);
  }

  .text-amber-500 {
    color: var(--color-amber-500);
  }

  .text-amber-600 {
    color: var(--color-amber-600);
  }

  .text-amber-700 {
    color: var(--color-amber-700);
  }

  .text-amber-800 {
    color: var(--color-amber-800);
  }

  .text-amber-900 {
    color: var(--color-amber-900);
  }

  .text-amber-900\/80 {
    color: #7b3306cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-900\/80 {
      color: color-mix(in oklab, var(--color-amber-900) 80%, transparent);
    }
  }

  .text-amber-950 {
    color: var(--color-amber-950);
  }

  .text-blue-100 {
    color: var(--color-blue-100);
  }

  .text-blue-100\/90 {
    color: #dbeafee6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-blue-100\/90 {
      color: color-mix(in oklab, var(--color-blue-100) 90%, transparent);
    }
  }

  .text-blue-400 {
    color: var(--color-blue-400);
  }

  .text-blue-500 {
    color: var(--color-blue-500);
  }

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-blue-700 {
    color: var(--color-blue-700);
  }

  .text-blue-800 {
    color: var(--color-blue-800);
  }

  .text-blue-800\/90 {
    color: #193cb8e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-blue-800\/90 {
      color: color-mix(in oklab, var(--color-blue-800) 90%, transparent);
    }
  }

  .text-blue-900 {
    color: var(--color-blue-900);
  }

  .text-cyan-100 {
    color: var(--color-cyan-100);
  }

  .text-cyan-200 {
    color: var(--color-cyan-200);
  }

  .text-cyan-300 {
    color: var(--color-cyan-300);
  }

  .text-cyan-600 {
    color: var(--color-cyan-600);
  }

  .text-cyan-700 {
    color: var(--color-cyan-700);
  }

  .text-cyan-800 {
    color: var(--color-cyan-800);
  }

  .text-cyan-900 {
    color: var(--color-cyan-900);
  }

  .text-cyan-950 {
    color: var(--color-cyan-950);
  }

  .text-emerald-50 {
    color: var(--color-emerald-50);
  }

  .text-emerald-100 {
    color: var(--color-emerald-100);
  }

  .text-emerald-300 {
    color: var(--color-emerald-300);
  }

  .text-emerald-400 {
    color: var(--color-emerald-400);
  }

  .text-emerald-600 {
    color: var(--color-emerald-600);
  }

  .text-emerald-700 {
    color: var(--color-emerald-700);
  }

  .text-emerald-800 {
    color: var(--color-emerald-800);
  }

  .text-emerald-900 {
    color: var(--color-emerald-900);
  }

  .text-emerald-950 {
    color: var(--color-emerald-950);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-gray-900 {
    color: var(--color-gray-900);
  }

  .text-indigo-600 {
    color: var(--color-indigo-600);
  }

  .text-indigo-900 {
    color: var(--color-indigo-900);
  }

  .text-indigo-950 {
    color: var(--color-indigo-950);
  }

  .text-orange-500 {
    color: var(--color-orange-500);
  }

  .text-orange-700 {
    color: var(--color-orange-700);
  }

  .text-orange-900 {
    color: var(--color-orange-900);
  }

  .text-orange-950 {
    color: var(--color-orange-950);
  }

  .text-purple-600 {
    color: var(--color-purple-600);
  }

  .text-purple-700 {
    color: var(--color-purple-700);
  }

  .text-purple-800 {
    color: var(--color-purple-800);
  }

  .text-purple-900 {
    color: var(--color-purple-900);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-red-600 {
    color: var(--color-red-600);
  }

  .text-red-700 {
    color: var(--color-red-700);
  }

  .text-red-800 {
    color: var(--color-red-800);
  }

  .text-rose-50 {
    color: var(--color-rose-50);
  }

  .text-rose-100 {
    color: var(--color-rose-100);
  }

  .text-rose-300 {
    color: var(--color-rose-300);
  }

  .text-rose-400 {
    color: var(--color-rose-400);
  }

  .text-rose-500 {
    color: var(--color-rose-500);
  }

  .text-rose-600 {
    color: var(--color-rose-600);
  }

  .text-rose-700 {
    color: var(--color-rose-700);
  }

  .text-rose-800 {
    color: var(--color-rose-800);
  }

  .text-rose-900 {
    color: var(--color-rose-900);
  }

  .text-rose-950 {
    color: var(--color-rose-950);
  }

  .text-sky-400 {
    color: var(--color-sky-400);
  }

  .text-sky-900 {
    color: var(--color-sky-900);
  }

  .text-slate-50 {
    color: var(--color-slate-50);
  }

  .text-slate-300 {
    color: var(--color-slate-300);
  }

  .text-slate-400 {
    color: var(--color-slate-400);
  }

  .text-slate-500 {
    color: var(--color-slate-500);
  }

  .text-slate-600 {
    color: var(--color-slate-600);
  }

  .text-slate-700 {
    color: var(--color-slate-700);
  }

  .text-slate-800 {
    color: var(--color-slate-800);
  }

  .text-slate-900 {
    color: var(--color-slate-900);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-white\/60 {
    color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/60 {
      color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .text-white\/90 {
    color: #ffffffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/90 {
      color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }

  .text-white\/95 {
    color: #fffffff2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/95 {
      color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .normal-case {
    text-transform: none;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .line-through {
    text-decoration-line: line-through;
  }

  .decoration-red-400 {
    -webkit-text-decoration-color: var(--color-red-400);
    -webkit-text-decoration-color: var(--color-red-400);
    text-decoration-color: var(--color-red-400);
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .placeholder-gray-400::placeholder {
    color: var(--color-gray-400);
  }

  .placeholder-slate-400::placeholder {
    color: var(--color-slate-400);
  }

  .opacity-30 {
    opacity: .3;
  }

  .opacity-40 {
    opacity: .4;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-75 {
    opacity: .75;
  }

  .opacity-80 {
    opacity: .8;
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-2xs {
    --tw-shadow: 0 1px var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_-4px_12px_rgba\(0\,0\,0\,0\.05\)\] {
    --tw-shadow: 0 -4px 12px var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-0 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-amber-200 {
    --tw-shadow-color: oklch(92.4% .12 95.746);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-amber-200 {
      --tw-shadow-color: color-mix(in oklab, var(--color-amber-200) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-blue-500\/20 {
    --tw-shadow-color: #3080ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-blue-500\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-blue-600\/20 {
    --tw-shadow-color: #155dfc33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-blue-600\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-600) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-blue-600\/35 {
    --tw-shadow-color: #155dfc59;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-blue-600\/35 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-600) 35%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-cyan-200 {
    --tw-shadow-color: oklch(91.7% .08 205.041);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-cyan-200 {
      --tw-shadow-color: color-mix(in oklab, var(--color-cyan-200) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-cyan-600\/20 {
    --tw-shadow-color: #0092b533;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-cyan-600\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-600) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-cyan-600\/25 {
    --tw-shadow-color: #0092b540;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-cyan-600\/25 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-600) 25%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-cyan-900\/20 {
    --tw-shadow-color: #104e6433;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-cyan-900\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-cyan-900) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-emerald-200 {
    --tw-shadow-color: oklch(90.5% .093 164.15);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-emerald-200 {
      --tw-shadow-color: color-mix(in oklab, var(--color-emerald-200) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-gray-200\/60 {
    --tw-shadow-color: #e5e7eb99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-gray-200\/60 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-200) 60%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-rose-200 {
    --tw-shadow-color: oklch(89.2% .058 10.001);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-rose-200 {
      --tw-shadow-color: color-mix(in oklab, var(--color-rose-200) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-slate-950\/20 {
    --tw-shadow-color: #02061833;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-slate-950\/20 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-slate-950) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-amber-200 {
    --tw-ring-color: var(--color-amber-200);
  }

  .ring-amber-400\/40 {
    --tw-ring-color: #fcbb0066;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-amber-400\/40 {
      --tw-ring-color: color-mix(in oklab, var(--color-amber-400) 40%, transparent);
    }
  }

  .ring-black\/5 {
    --tw-ring-color: #0000000d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-black\/5 {
      --tw-ring-color: color-mix(in oklab, var(--color-black) 5%, transparent);
    }
  }

  .ring-cyan-200 {
    --tw-ring-color: var(--color-cyan-200);
  }

  .ring-cyan-200\/50 {
    --tw-ring-color: #a2f4fd80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-cyan-200\/50 {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-200) 50%, transparent);
    }
  }

  .ring-cyan-400 {
    --tw-ring-color: var(--color-cyan-400);
  }

  .ring-cyan-400\/40 {
    --tw-ring-color: #00d2ef66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-cyan-400\/40 {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-400) 40%, transparent);
    }
  }

  .ring-cyan-500 {
    --tw-ring-color: var(--color-cyan-500);
  }

  .ring-cyan-500\/30 {
    --tw-ring-color: #00b7d74d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-cyan-500\/30 {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-500) 30%, transparent);
    }
  }

  .ring-emerald-200 {
    --tw-ring-color: var(--color-emerald-200);
  }

  .ring-emerald-400\/40 {
    --tw-ring-color: #00d29466;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-400\/40 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-400) 40%, transparent);
    }
  }

  .ring-purple-200 {
    --tw-ring-color: var(--color-purple-200);
  }

  .ring-rose-200 {
    --tw-ring-color: var(--color-rose-200);
  }

  .ring-slate-400\/40 {
    --tw-ring-color: #90a1b966;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-slate-400\/40 {
      --tw-ring-color: color-mix(in oklab, var(--color-slate-400) 40%, transparent);
    }
  }

  .ring-white {
    --tw-ring-color: var(--color-white);
  }

  .drop-shadow-md {
    --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, #0000001f));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-xs {
    --tw-drop-shadow-size: drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000d));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-xs));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-xs {
    --tw-backdrop-blur: blur(var(--blur-xs));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-150 {
    --tw-duration: .15s;
    transition-duration: .15s;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  @media (hover: hover) {
    .group-hover\:block:is(:where(.group):hover *) {
      display: block;
    }

    .group-hover\:translate-x-0\.5:is(:where(.group):hover *) {
      --tw-translate-x: calc(var(--spacing) * .5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .group-hover\:scale-105:is(:where(.group):hover *) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:rotate-12:is(:where(.group):hover *) {
      rotate: 12deg;
    }

    .group-hover\:bg-cyan-700:is(:where(.group):hover *) {
      background-color: var(--color-cyan-700);
    }

    .group-hover\:text-blue-600:is(:where(.group):hover *) {
      color: var(--color-blue-600);
    }

    .group-hover\:text-blue-700:is(:where(.group):hover *) {
      color: var(--color-blue-700);
    }

    .group-hover\:text-cyan-700:is(:where(.group):hover *) {
      color: var(--color-cyan-700);
    }

    .group-hover\:text-cyan-800:is(:where(.group):hover *) {
      color: var(--color-cyan-800);
    }

    .group-hover\:text-cyan-900:is(:where(.group):hover *) {
      color: var(--color-cyan-900);
    }

    .group-hover\:text-white:is(:where(.group):hover *) {
      color: var(--color-white);
    }

    .group-hover\:underline:is(:where(.group):hover *) {
      text-decoration-line: underline;
    }
  }

  .peer-checked\:border-cyan-700:is(:where(.peer):checked ~ *) {
    border-color: var(--color-cyan-700);
  }

  .peer-checked\:bg-cyan-700:is(:where(.peer):checked ~ *) {
    background-color: var(--color-cyan-700);
  }

  .peer-focus\:ring-2:is(:where(.peer):focus ~ *) {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .peer-focus\:ring-cyan-100:is(:where(.peer):focus ~ *) {
    --tw-ring-color: var(--color-cyan-100);
  }

  .selection\:bg-cyan-200 ::selection {
    background-color: var(--color-cyan-200);
  }

  .selection\:bg-cyan-200::selection {
    background-color: var(--color-cyan-200);
  }

  .selection\:text-cyan-900 ::selection {
    color: var(--color-cyan-900);
  }

  .selection\:text-cyan-900::selection {
    color: var(--color-cyan-900);
  }

  .file\:mr-3::file-selector-button {
    margin-right: calc(var(--spacing) * 3);
  }

  .file\:rounded-xl::file-selector-button {
    border-radius: var(--radius-xl);
  }

  .file\:border-0::file-selector-button {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .file\:bg-cyan-600::file-selector-button {
    background-color: var(--color-cyan-600);
  }

  .file\:px-4::file-selector-button {
    padding-inline: calc(var(--spacing) * 4);
  }

  .file\:py-2::file-selector-button {
    padding-block: calc(var(--spacing) * 2);
  }

  .file\:text-xs::file-selector-button {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .file\:font-bold::file-selector-button {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .file\:text-white::file-selector-button {
    color: var(--color-white);
  }

  @media (hover: hover) {
    .hover\:block:hover {
      display: block;
    }

    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .hover\:border-blue-200:hover {
      border-color: var(--color-blue-200);
    }

    .hover\:border-cyan-200:hover {
      border-color: var(--color-cyan-200);
    }

    .hover\:border-cyan-300:hover {
      border-color: var(--color-cyan-300);
    }

    .hover\:border-cyan-400:hover {
      border-color: var(--color-cyan-400);
    }

    .hover\:bg-amber-100:hover {
      background-color: var(--color-amber-100);
    }

    .hover\:bg-amber-100\/50:hover {
      background-color: #fef3c680;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-amber-100\/50:hover {
        background-color: color-mix(in oklab, var(--color-amber-100) 50%, transparent);
      }
    }

    .hover\:bg-amber-200:hover {
      background-color: var(--color-amber-200);
    }

    .hover\:bg-amber-600:hover {
      background-color: var(--color-amber-600);
    }

    .hover\:bg-amber-700:hover {
      background-color: var(--color-amber-700);
    }

    .hover\:bg-blue-50\/40:hover {
      background-color: #eff6ff66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-blue-50\/40:hover {
        background-color: color-mix(in oklab, var(--color-blue-50) 40%, transparent);
      }
    }

    .hover\:bg-blue-50\/50:hover {
      background-color: #eff6ff80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-blue-50\/50:hover {
        background-color: color-mix(in oklab, var(--color-blue-50) 50%, transparent);
      }
    }

    .hover\:bg-blue-100:hover {
      background-color: var(--color-blue-100);
    }

    .hover\:bg-blue-100\/80:hover {
      background-color: #dbeafecc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-blue-100\/80:hover {
        background-color: color-mix(in oklab, var(--color-blue-100) 80%, transparent);
      }
    }

    .hover\:bg-blue-700:hover {
      background-color: var(--color-blue-700);
    }

    .hover\:bg-cyan-50:hover {
      background-color: var(--color-cyan-50);
    }

    .hover\:bg-cyan-50\/30:hover {
      background-color: #ecfeff4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-50\/30:hover {
        background-color: color-mix(in oklab, var(--color-cyan-50) 30%, transparent);
      }
    }

    .hover\:bg-cyan-50\/40:hover {
      background-color: #ecfeff66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-50\/40:hover {
        background-color: color-mix(in oklab, var(--color-cyan-50) 40%, transparent);
      }
    }

    .hover\:bg-cyan-50\/50:hover {
      background-color: #ecfeff80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-50\/50:hover {
        background-color: color-mix(in oklab, var(--color-cyan-50) 50%, transparent);
      }
    }

    .hover\:bg-cyan-50\/60:hover {
      background-color: #ecfeff99;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-50\/60:hover {
        background-color: color-mix(in oklab, var(--color-cyan-50) 60%, transparent);
      }
    }

    .hover\:bg-cyan-50\/70:hover {
      background-color: #ecfeffb3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-50\/70:hover {
        background-color: color-mix(in oklab, var(--color-cyan-50) 70%, transparent);
      }
    }

    .hover\:bg-cyan-100:hover {
      background-color: var(--color-cyan-100);
    }

    .hover\:bg-cyan-100\/50:hover {
      background-color: #cefafe80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-100\/50:hover {
        background-color: color-mix(in oklab, var(--color-cyan-100) 50%, transparent);
      }
    }

    .hover\:bg-cyan-100\/60:hover {
      background-color: #cefafe99;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-100\/60:hover {
        background-color: color-mix(in oklab, var(--color-cyan-100) 60%, transparent);
      }
    }

    .hover\:bg-cyan-100\/70:hover {
      background-color: #cefafeb3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-100\/70:hover {
        background-color: color-mix(in oklab, var(--color-cyan-100) 70%, transparent);
      }
    }

    .hover\:bg-cyan-200:hover {
      background-color: var(--color-cyan-200);
    }

    .hover\:bg-cyan-600:hover {
      background-color: var(--color-cyan-600);
    }

    .hover\:bg-cyan-700:hover {
      background-color: var(--color-cyan-700);
    }

    .hover\:bg-cyan-800:hover {
      background-color: var(--color-cyan-800);
    }

    .hover\:bg-emerald-50:hover {
      background-color: var(--color-emerald-50);
    }

    .hover\:bg-emerald-100\/50:hover {
      background-color: #d0fae580;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-100\/50:hover {
        background-color: color-mix(in oklab, var(--color-emerald-100) 50%, transparent);
      }
    }

    .hover\:bg-emerald-700:hover {
      background-color: var(--color-emerald-700);
    }

    .hover\:bg-gray-50:hover {
      background-color: var(--color-gray-50);
    }

    .hover\:bg-gray-50\/60:hover {
      background-color: #f9fafb99;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-gray-50\/60:hover {
        background-color: color-mix(in oklab, var(--color-gray-50) 60%, transparent);
      }
    }

    .hover\:bg-gray-50\/70:hover {
      background-color: #f9fafbb3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-gray-50\/70:hover {
        background-color: color-mix(in oklab, var(--color-gray-50) 70%, transparent);
      }
    }

    .hover\:bg-gray-100:hover {
      background-color: var(--color-gray-100);
    }

    .hover\:bg-gray-200:hover {
      background-color: var(--color-gray-200);
    }

    .hover\:bg-gray-200\/70:hover {
      background-color: #e5e7ebb3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-gray-200\/70:hover {
        background-color: color-mix(in oklab, var(--color-gray-200) 70%, transparent);
      }
    }

    .hover\:bg-red-50:hover {
      background-color: var(--color-red-50);
    }

    .hover\:bg-red-100:hover {
      background-color: var(--color-red-100);
    }

    .hover\:bg-red-700:hover {
      background-color: var(--color-red-700);
    }

    .hover\:bg-rose-50:hover {
      background-color: var(--color-rose-50);
    }

    .hover\:bg-rose-100:hover {
      background-color: var(--color-rose-100);
    }

    .hover\:bg-rose-700:hover {
      background-color: var(--color-rose-700);
    }

    .hover\:bg-sky-50\/40:hover {
      background-color: #f0f9ff66;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-sky-50\/40:hover {
        background-color: color-mix(in oklab, var(--color-sky-50) 40%, transparent);
      }
    }

    .hover\:bg-sky-50\/70:hover {
      background-color: #f0f9ffb3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-sky-50\/70:hover {
        background-color: color-mix(in oklab, var(--color-sky-50) 70%, transparent);
      }
    }

    .hover\:bg-sky-100:hover {
      background-color: var(--color-sky-100);
    }

    .hover\:bg-sky-100\/70:hover {
      background-color: #dff2feb3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-sky-100\/70:hover {
        background-color: color-mix(in oklab, var(--color-sky-100) 70%, transparent);
      }
    }

    .hover\:bg-slate-50:hover {
      background-color: var(--color-slate-50);
    }

    .hover\:bg-slate-50\/70:hover {
      background-color: #f8fafcb3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-50\/70:hover {
        background-color: color-mix(in oklab, var(--color-slate-50) 70%, transparent);
      }
    }

    .hover\:bg-slate-100:hover {
      background-color: var(--color-slate-100);
    }

    .hover\:bg-slate-100\/70:hover {
      background-color: #f1f5f9b3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-100\/70:hover {
        background-color: color-mix(in oklab, var(--color-slate-100) 70%, transparent);
      }
    }

    .hover\:bg-slate-200:hover {
      background-color: var(--color-slate-200);
    }

    .hover\:bg-slate-200\/50:hover {
      background-color: #e2e8f080;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-200\/50:hover {
        background-color: color-mix(in oklab, var(--color-slate-200) 50%, transparent);
      }
    }

    .hover\:bg-slate-200\/60:hover {
      background-color: #e2e8f099;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-200\/60:hover {
        background-color: color-mix(in oklab, var(--color-slate-200) 60%, transparent);
      }
    }

    .hover\:bg-slate-800:hover {
      background-color: var(--color-slate-800);
    }

    .hover\:bg-slate-900:hover {
      background-color: var(--color-slate-900);
    }

    .hover\:bg-white:hover {
      background-color: var(--color-white);
    }

    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/10:hover {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }

    .hover\:bg-white\/25:hover {
      background-color: #ffffff40;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/25:hover {
        background-color: color-mix(in oklab, var(--color-white) 25%, transparent);
      }
    }

    .hover\:bg-white\/30:hover {
      background-color: #ffffff4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/30:hover {
        background-color: color-mix(in oklab, var(--color-white) 30%, transparent);
      }
    }

    .hover\:from-cyan-500:hover {
      --tw-gradient-from: var(--color-cyan-500);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:from-sky-600:hover {
      --tw-gradient-from: var(--color-sky-600);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-blue-500:hover {
      --tw-gradient-to: var(--color-blue-500);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-blue-800:hover {
      --tw-gradient-to: var(--color-blue-800);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:to-sky-500:hover {
      --tw-gradient-to: var(--color-sky-500);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }

    .hover\:text-blue-600:hover {
      color: var(--color-blue-600);
    }

    .hover\:text-blue-800:hover {
      color: var(--color-blue-800);
    }

    .hover\:text-cyan-700:hover {
      color: var(--color-cyan-700);
    }

    .hover\:text-cyan-800:hover {
      color: var(--color-cyan-800);
    }

    .hover\:text-cyan-900:hover {
      color: var(--color-cyan-900);
    }

    .hover\:text-cyan-950:hover {
      color: var(--color-cyan-950);
    }

    .hover\:text-emerald-800:hover {
      color: var(--color-emerald-800);
    }

    .hover\:text-gray-600:hover {
      color: var(--color-gray-600);
    }

    .hover\:text-gray-700:hover {
      color: var(--color-gray-700);
    }

    .hover\:text-gray-800:hover {
      color: var(--color-gray-800);
    }

    .hover\:text-gray-900:hover {
      color: var(--color-gray-900);
    }

    .hover\:text-red-600:hover {
      color: var(--color-red-600);
    }

    .hover\:text-red-700:hover {
      color: var(--color-red-700);
    }

    .hover\:text-rose-600:hover {
      color: var(--color-rose-600);
    }

    .hover\:text-rose-800:hover {
      color: var(--color-rose-800);
    }

    .hover\:text-slate-600:hover {
      color: var(--color-slate-600);
    }

    .hover\:text-slate-700:hover {
      color: var(--color-slate-700);
    }

    .hover\:text-slate-800:hover {
      color: var(--color-slate-800);
    }

    .hover\:text-slate-900:hover {
      color: var(--color-slate-900);
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:opacity-80:hover {
      opacity: .8;
    }

    .hover\:file\:bg-cyan-700:hover::file-selector-button {
      background-color: var(--color-cyan-700);
    }
  }

  .focus\:border-blue-600:focus {
    border-color: var(--color-blue-600);
  }

  .focus\:border-cyan-500:focus {
    border-color: var(--color-cyan-500);
  }

  .focus\:border-cyan-600:focus {
    border-color: var(--color-cyan-600);
  }

  .focus\:border-cyan-700:focus {
    border-color: var(--color-cyan-700);
  }

  .focus\:bg-white:focus {
    background-color: var(--color-white);
  }

  .focus\:ring-1:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-blue-500:focus {
    --tw-ring-color: var(--color-blue-500);
  }

  .focus\:ring-blue-600:focus {
    --tw-ring-color: var(--color-blue-600);
  }

  .focus\:ring-cyan-100:focus {
    --tw-ring-color: var(--color-cyan-100);
  }

  .focus\:ring-cyan-500:focus {
    --tw-ring-color: var(--color-cyan-500);
  }

  .focus\:ring-offset-0:focus {
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .active\:scale-90:active {
    --tw-scale-x: 90%;
    --tw-scale-y: 90%;
    --tw-scale-z: 90%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .active\:scale-95:active {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .active\:scale-98:active {
    --tw-scale-x: 98%;
    --tw-scale-y: 98%;
    --tw-scale-z: 98%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .active\:scale-\[0\.98\]:active {
    scale: .98;
  }

  .active\:scale-\[0\.99\]:active {
    scale: .99;
  }

  .active\:cursor-grabbing:active {
    cursor: grabbing;
  }

  .active\:bg-gray-100\/70:active {
    background-color: #f3f4f6b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .active\:bg-gray-100\/70:active {
      background-color: color-mix(in oklab, var(--color-gray-100) 70%, transparent);
    }
  }

  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:cursor-wait:disabled {
    cursor: wait;
  }

  .disabled\:bg-cyan-600:disabled {
    background-color: var(--color-cyan-600);
  }

  .disabled\:bg-gray-100:disabled {
    background-color: var(--color-gray-100);
  }

  .disabled\:bg-slate-100:disabled {
    background-color: var(--color-slate-100);
  }

  .disabled\:text-gray-400:disabled {
    color: var(--color-gray-400);
  }

  .disabled\:opacity-35:disabled {
    opacity: .35;
  }

  .disabled\:opacity-40:disabled {
    opacity: .4;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  .disabled\:opacity-70:disabled {
    opacity: .7;
  }

  @media (min-width: 40rem) {
    .sm\:relative {
      position: relative;
    }

    .sm\:top-2\.5 {
      top: calc(var(--spacing) * 2.5);
    }

    .sm\:top-16 {
      top: calc(var(--spacing) * 16);
    }

    .sm\:right-0 {
      right: 0;
    }

    .sm\:right-6 {
      right: calc(var(--spacing) * 6);
    }

    .sm\:left-0 {
      left: 0;
    }

    .sm\:left-auto {
      left: auto;
    }

    .sm\:col-span-1 {
      grid-column: span 1 / span 1;
    }

    .sm\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .sm\:mt-1 {
      margin-top: var(--spacing);
    }

    .sm\:mt-4 {
      margin-top: calc(var(--spacing) * 4);
    }

    .sm\:mb-3 {
      margin-bottom: calc(var(--spacing) * 3);
    }

    .sm\:mb-4 {
      margin-bottom: calc(var(--spacing) * 4);
    }

    .sm\:line-clamp-none {
      -webkit-line-clamp: unset;
      -webkit-box-orient: horizontal;
      display: block;
      overflow: visible;
    }

    .sm\:hidden {
      display: none;
    }

    .sm\:inline {
      display: inline;
    }

    .sm\:h-2 {
      height: calc(var(--spacing) * 2);
    }

    .sm\:h-4 {
      height: calc(var(--spacing) * 4);
    }

    .sm\:h-5 {
      height: calc(var(--spacing) * 5);
    }

    .sm\:h-10 {
      height: calc(var(--spacing) * 10);
    }

    .sm\:h-12 {
      height: calc(var(--spacing) * 12);
    }

    .sm\:h-22 {
      height: calc(var(--spacing) * 22);
    }

    .sm\:h-40 {
      height: calc(var(--spacing) * 40);
    }

    .sm\:h-48 {
      height: calc(var(--spacing) * 48);
    }

    .sm\:h-\[30px\] {
      height: 30px;
    }

    .sm\:h-\[92dvh\] {
      height: 92dvh;
    }

    .sm\:h-\[210px\] {
      height: 210px;
    }

    .sm\:h-\[230px\] {
      height: 230px;
    }

    .sm\:h-\[290px\] {
      height: 290px;
    }

    .sm\:max-h-\[82vh\] {
      max-height: 82vh;
    }

    .sm\:max-h-\[85vh\] {
      max-height: 85vh;
    }

    .sm\:min-h-\[36px\] {
      min-height: 36px;
    }

    .sm\:min-h-\[100dvh\] {
      min-height: 100dvh;
    }

    .sm\:w-2 {
      width: calc(var(--spacing) * 2);
    }

    .sm\:w-3 {
      width: calc(var(--spacing) * 3);
    }

    .sm\:w-4 {
      width: calc(var(--spacing) * 4);
    }

    .sm\:w-5 {
      width: calc(var(--spacing) * 5);
    }

    .sm\:w-10 {
      width: calc(var(--spacing) * 10);
    }

    .sm\:w-12 {
      width: calc(var(--spacing) * 12);
    }

    .sm\:w-14 {
      width: calc(var(--spacing) * 14);
    }

    .sm\:w-28 {
      width: calc(var(--spacing) * 28);
    }

    .sm\:w-40 {
      width: calc(var(--spacing) * 40);
    }

    .sm\:w-48 {
      width: calc(var(--spacing) * 48);
    }

    .sm\:w-64 {
      width: calc(var(--spacing) * 64);
    }

    .sm\:w-\[290px\] {
      width: 290px;
    }

    .sm\:w-\[410px\] {
      width: 410px;
    }

    .sm\:w-auto {
      width: auto;
    }

    .sm\:max-w-\[180px\] {
      max-width: 180px;
    }

    .sm\:max-w-\[190px\] {
      max-width: 190px;
    }

    .sm\:max-w-\[440px\] {
      max-width: 440px;
    }

    .sm\:max-w-sm {
      max-width: var(--container-sm);
    }

    .sm\:min-w-\[30px\] {
      min-width: 30px;
    }

    .sm\:min-w-\[180px\] {
      min-width: 180px;
    }

    .sm\:min-w-\[220px\] {
      min-width: 220px;
    }

    .sm\:flex-none {
      flex: none;
    }

    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:flex-nowrap {
      flex-wrap: nowrap;
    }

    .sm\:items-center {
      align-items: center;
    }

    .sm\:justify-end {
      justify-content: flex-end;
    }

    .sm\:justify-start {
      justify-content: flex-start;
    }

    .sm\:gap-1\.5 {
      gap: calc(var(--spacing) * 1.5);
    }

    .sm\:gap-2 {
      gap: calc(var(--spacing) * 2);
    }

    .sm\:gap-2\.5 {
      gap: calc(var(--spacing) * 2.5);
    }

    .sm\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }

    .sm\:gap-3\.5 {
      gap: calc(var(--spacing) * 3.5);
    }

    .sm\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }

    :where(.sm\:space-y-2\.5 > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }

    :where(.sm\:space-y-3 > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }

    :where(.sm\:space-y-3\.5 > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)));
    }

    :where(.sm\:space-y-4 > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }

    .sm\:self-auto {
      align-self: auto;
    }

    .sm\:rounded-2xl {
      border-radius: var(--radius-2xl);
    }

    .sm\:rounded-3xl {
      border-radius: var(--radius-3xl);
    }

    .sm\:rounded-xl {
      border-radius: var(--radius-xl);
    }

    .sm\:border {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }

    .sm\:border-t-0 {
      border-top-style: var(--tw-border-style);
      border-top-width: 0;
    }

    .sm\:border-slate-200 {
      border-color: var(--color-slate-200);
    }

    .sm\:border-slate-200\/80 {
      border-color: #e2e8f0cc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .sm\:border-slate-200\/80 {
        border-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
      }
    }

    .sm\:p-1\.5 {
      padding: calc(var(--spacing) * 1.5);
    }

    .sm\:p-2 {
      padding: calc(var(--spacing) * 2);
    }

    .sm\:p-2\.5 {
      padding: calc(var(--spacing) * 2.5);
    }

    .sm\:p-3 {
      padding: calc(var(--spacing) * 3);
    }

    .sm\:p-3\.5 {
      padding: calc(var(--spacing) * 3.5);
    }

    .sm\:p-4 {
      padding: calc(var(--spacing) * 4);
    }

    .sm\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }

    .sm\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .sm\:px-1 {
      padding-inline: var(--spacing);
    }

    .sm\:px-2 {
      padding-inline: calc(var(--spacing) * 2);
    }

    .sm\:px-2\.5 {
      padding-inline: calc(var(--spacing) * 2.5);
    }

    .sm\:px-3 {
      padding-inline: calc(var(--spacing) * 3);
    }

    .sm\:px-4 {
      padding-inline: calc(var(--spacing) * 4);
    }

    .sm\:px-5 {
      padding-inline: calc(var(--spacing) * 5);
    }

    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }

    .sm\:py-1 {
      padding-block: var(--spacing);
    }

    .sm\:py-1\.5 {
      padding-block: calc(var(--spacing) * 1.5);
    }

    .sm\:py-2 {
      padding-block: calc(var(--spacing) * 2);
    }

    .sm\:py-2\.5 {
      padding-block: calc(var(--spacing) * 2.5);
    }

    .sm\:py-3 {
      padding-block: calc(var(--spacing) * 3);
    }

    .sm\:py-3\.5 {
      padding-block: calc(var(--spacing) * 3.5);
    }

    .sm\:pt-0 {
      padding-top: 0;
    }

    .sm\:pt-3 {
      padding-top: calc(var(--spacing) * 3);
    }

    .sm\:pt-5 {
      padding-top: calc(var(--spacing) * 5);
    }

    .sm\:pb-3 {
      padding-bottom: calc(var(--spacing) * 3);
    }

    .sm\:pb-4 {
      padding-bottom: calc(var(--spacing) * 4);
    }

    .sm\:pb-5 {
      padding-bottom: calc(var(--spacing) * 5);
    }

    .sm\:pl-2\.5 {
      padding-left: calc(var(--spacing) * 2.5);
    }

    .sm\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .sm\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }

    .sm\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }

    .sm\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }

    .sm\:text-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }

    .sm\:text-xs {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }

    .sm\:text-\[10\.5px\] {
      font-size: 10.5px;
    }

    .sm\:text-\[11px\] {
      font-size: 11px;
    }

    .sm\:shadow-2xl {
      --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .sm\:shadow-slate-900\/15 {
      --tw-shadow-color: #0f172b26;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .sm\:shadow-slate-900\/15 {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-slate-900) 15%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
  }

  @media (min-width: 48rem) {
    .md\:block {
      display: block;
    }

    .md\:hidden {
      display: none;
    }

    .md\:inline {
      display: inline;
    }

    .md\:table {
      display: table;
    }

    .md\:w-auto {
      width: auto;
    }

    .md\:table-fixed {
      table-layout: fixed;
    }

    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .md\:flex-row {
      flex-direction: row;
    }

    .md\:items-center {
      align-items: center;
    }

    .md\:justify-end {
      justify-content: flex-end;
    }

    .md\:justify-start {
      justify-content: flex-start;
    }
  }

  @media (min-width: 64rem) {
    .lg\:col-span-1 {
      grid-column: span 1 / span 1;
    }

    .lg\:col-span-3 {
      grid-column: span 3 / span 3;
    }

    .lg\:block {
      display: block;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:pb-0 {
      padding-bottom: 0;
    }

    .lg\:pl-60 {
      padding-left: calc(var(--spacing) * 60);
    }
  }

  .\[\&\>svg\]\:h-full > svg {
    height: 100%;
  }

  .\[\&\>svg\]\:max-h-full > svg {
    max-height: 100%;
  }

  .\[\&\>svg\]\:w-full > svg {
    width: 100%;
  }

  .\[\&\>svg\]\:max-w-full > svg {
    max-width: 100%;
  }

  .\[\&\>svg\]\:object-contain > svg {
    object-fit: contain;
  }
}

.no-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.scroll-area::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.no-scrollbar, .scroll-area {
  -ms-overflow-style: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.frost-card {
  -webkit-backdrop-filter: blur(12px);
  background: #ffffffe0;
  border: 1px solid #bae6fdbf;
  box-shadow: 0 4px 20px -2px #06b6d414, 0 2px 6px -1px #00000008;
}

.frost-card:hover {
  border-color: #38bdf8e6;
  box-shadow: 0 6px 24px -2px #06b6d424;
}

@keyframes frostPulse {
  0% {
    opacity: .9;
    transform: scale(.9);
  }

  50% {
    opacity: .3;
    transform: scale(1.15);
  }

  100% {
    opacity: .9;
    transform: scale(.9);
  }
}

.frost-pulse {
  animation: 2.4s cubic-bezier(.4, 0, .6, 1) infinite frostPulse;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fadeIn {
  animation: .25s ease-out forwards fadeIn;
}

@keyframes floaty {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-4px);
  }
}

.floaty {
  animation: 3s ease-in-out infinite floaty;
}

.portal-title-lg {
  letter-spacing: -.025em;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.2;
}

.portal-heading {
  letter-spacing: -.015em;
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.25rem;
}

.portal-subheading {
  font-size: .75rem;
  font-weight: 500;
  line-height: 1rem;
}

.portal-body-bold {
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.125rem;
}

.portal-body-normal {
  font-size: .75rem;
  font-weight: 500;
  line-height: 1rem;
}

.portal-caption {
  font-size: .6875rem;
  font-weight: 600;
  line-height: .875rem;
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

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

@keyframes ping {
  75%, 100% {
    opacity: 0;
    transform: scale(2);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    transform: translateY(-25%);
  }

  50% {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
    transform: none;
  }
}
/* Mascot: menyapa (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-menyapa .mascot-svg,
.mascot-container-menyapa .mascot-svg,
.mascot-menyapa .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-menyapa .rig-torso, .mascot-container-menyapa .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-menyapa_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-leg-l, .mascot-container-menyapa .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-menyapa_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-leg-r, .mascot-container-menyapa .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-menyapa_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-antenna-l, .mascot-container-menyapa .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-menyapa_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-antenna-r, .mascot-container-menyapa .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-menyapa_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-brows, .mascot-container-menyapa .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-eyes, .mascot-container-menyapa .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-glasses, .mascot-container-menyapa .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-mouth, .mascot-container-menyapa .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-arm-l, .mascot-container-menyapa .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 100px;
      animation: mascot-menyapa_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-arm-r, .mascot-container-menyapa .rig-arm-r {
      transform-box: view-box;
      transform-origin: 200px 95px;
      animation: mascot-menyapa_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-prop, .mascot-container-menyapa .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-menyapa .led-1, .mascot-container-menyapa .led-1 { animation: mascot-menyapa_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-menyapa .led-2, .mascot-container-menyapa .led-2 { animation: mascot-menyapa_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-menyapa .led-3, .mascot-container-menyapa .led-3 { animation: mascot-menyapa_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-menyapa_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-menyapa_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-menyapa_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-menyapa_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-menyapa_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        25% { transform: translateY(-5px) rotate(1.5deg); }
        50% { transform: translateY(-1px) rotate(0deg); }
        75% { transform: translateY(-5px) rotate(-1.2deg); }
      }
      @keyframes mascot-menyapa_legLAnim {
        0%, 100% { transform: rotate(0deg) translateY(0px); }
        25% { transform: rotate(8deg) translateY(-2px); }
        75% { transform: rotate(-6deg) translateY(0px); }
      }
      @keyframes mascot-menyapa_legRAnim {
        0%, 100% { transform: rotate(0deg) translateY(0px); }
        25% { transform: rotate(6deg) translateY(0px); }
        75% { transform: rotate(-8deg) translateY(-2px); }
      }
      @keyframes mascot-menyapa_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-8deg); }
        65% { transform: rotate(5deg); }
      }
      @keyframes mascot-menyapa_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(9deg); }
        65% { transform: rotate(-6deg); }
      }
      @keyframes mascot-menyapa_eyesAnim {
        0%, 42%, 50%, 100% { transform: translate(0px, 0px) scaleY(1); }
        20% { transform: translate(2px, -1px) scaleY(1); }
        46% { transform: translate(1px, 0px) scaleY(0.1); }
        75% { transform: translate(-1px, -1px) scaleY(1); }
      }
      @keyframes mascot-menyapa_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        20% { transform: scale(1.18, 1.35) translateY(1px); }
        40% { transform: scale(0.95, 0.85); }
        65% { transform: scale(1.15, 1.3) translateY(1px); }
        85% { transform: scale(1, 1); }
      }
      @keyframes mascot-menyapa_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        20% { transform: rotate(-20deg); }
        40% { transform: rotate(10deg); }
        60% { transform: rotate(-20deg); }
        80% { transform: rotate(6deg); }
      }
      @keyframes mascot-menyapa_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(7deg); }
      }
    
  
/* Mascot: pusing (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-pusing .mascot-svg,
.mascot-container-pusing .mascot-svg,
.mascot-pusing .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-pusing .rig-torso, .mascot-container-pusing .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-pusing_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-leg-l, .mascot-container-pusing .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-pusing_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-leg-r, .mascot-container-pusing .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-pusing_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-antenna-l, .mascot-container-pusing .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-pusing_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-antenna-r, .mascot-container-pusing .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-pusing_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-brows, .mascot-container-pusing .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-eyes, .mascot-container-pusing .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-glasses, .mascot-container-pusing .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-mouth, .mascot-container-pusing .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-arm-l, .mascot-container-pusing .rig-arm-l {
      transform-box: view-box;
      transform-origin: 39px 103px;
      animation: mascot-pusing_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-arm-r, .mascot-container-pusing .rig-arm-r {
      transform-box: view-box;
      transform-origin: 201px 102px;
      animation: mascot-pusing_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-prop, .mascot-container-pusing .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-pusing .led-1, .mascot-container-pusing .led-1 { animation: mascot-pusing_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-pusing .led-2, .mascot-container-pusing .led-2 { animation: mascot-pusing_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-pusing .led-3, .mascot-container-pusing .led-3 { animation: mascot-pusing_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-pusing_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #F59E0B; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-pusing_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-pusing_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-pusing_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-pusing_torsoAnim {
        0%, 100% { transform: translate(0px, 0px) rotate(0deg); }
        25% { transform: translate(-4px, 2px) rotate(-3.5deg); }
        50% { transform: translate(0px, 4px) rotate(0deg); }
        75% { transform: translate(4px, 2px) rotate(3.5deg); }
      }
      @keyframes mascot-pusing_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(8deg) translateY(-2px); }
        50% { transform: rotate(-3deg); }
        75% { transform: rotate(-8deg) translateY(-1px); }
      }
      @keyframes mascot-pusing_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(8deg) translateY(-1px); }
        50% { transform: rotate(3deg); }
        75% { transform: rotate(-8deg) translateY(-2px); }
      }
      @keyframes mascot-pusing_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-14deg); }
        50% { transform: rotate(6deg); }
        75% { transform: rotate(-10deg); }
      }
      @keyframes mascot-pusing_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(10deg); }
        50% { transform: rotate(-6deg); }
        75% { transform: rotate(14deg); }
      }
      @keyframes mascot-pusing_eyesAnim {
        0%, 100% { transform: translate(0px, -2.5px) scale(1, 1); }
        25% { transform: translate(2.5px, 0px) scale(1.06, 0.94); }
        50% { transform: translate(0px, 2.5px) scale(0.94, 1.06); }
        75% { transform: translate(-2.5px, 0px) scale(1.06, 0.94); }
      }
      @keyframes mascot-pusing_mouthAnim {
        0%, 100% { transform: translate(0px, 0px) scale(1, 1); }
        25% { transform: translate(-2px, 1px) scale(1.08, 0.85); }
        50% { transform: translate(0px, 2px) scale(0.92, 1.2); }
        75% { transform: translate(2px, 1px) scale(1.08, 0.85); }
      }
      @keyframes mascot-pusing_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(6deg) translateY(1px); }
        50% { transform: rotate(-4deg); }
        75% { transform: rotate(5deg) translateY(1px); }
      }
      @keyframes mascot-pusing_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-5deg) translateY(1px); }
        50% { transform: rotate(4deg); }
        75% { transform: rotate(-6deg) translateY(1px); }
      }
      .mascot-pusing .rig-prop, .mascot-container-pusing .rig-prop {
        transform-box: view-box;
        transform-origin: 121.5px 43px;
        animation: mascot-pusing_propAnim 3s linear infinite;
      }
      .mascot-pusing .rig-prop path, .mascot-container-pusing .rig-prop path {
        transform-box: fill-box;
        transform-origin: center center;
        animation: mascot-pusing_starSelfSpin 3s linear infinite;
      }
      @keyframes mascot-pusing_propAnim {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
      }
      @keyframes mascot-pusing_starSelfSpin {
        0% { transform: rotate(0deg) scale(1); }
        50% { transform: rotate(-180deg) scale(1.12); }
        100% { transform: rotate(-360deg) scale(1); }
      }
    
  
/* Mascot: admin-noc (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-admin-noc .mascot-svg,
.mascot-container-admin-noc .mascot-svg,
.mascot-admin-noc .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-admin-noc .rig-torso, .mascot-container-admin-noc .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-admin-noc_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-leg-l, .mascot-container-admin-noc .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-admin-noc_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-leg-r, .mascot-container-admin-noc .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-admin-noc_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-antenna-l, .mascot-container-admin-noc .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-admin-noc_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-antenna-r, .mascot-container-admin-noc .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-admin-noc_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-brows, .mascot-container-admin-noc .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-admin-noc_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-eyes, .mascot-container-admin-noc .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-admin-noc_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-glasses, .mascot-container-admin-noc .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-admin-noc_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-mouth, .mascot-container-admin-noc .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-admin-noc_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-arm-l, .mascot-container-admin-noc .rig-arm-l {
      transform-box: view-box;
      transform-origin: 39px 99px;
      animation: mascot-admin-noc_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-arm-r, .mascot-container-admin-noc .rig-arm-r {
      transform-box: view-box;
      transform-origin: 201px 110px;
      animation: mascot-admin-noc_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-admin-noc .rig-prop, .mascot-container-admin-noc .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-admin-noc_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-admin-noc .led-1, .mascot-container-admin-noc .led-1 { animation: mascot-admin-noc_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-admin-noc .led-2, .mascot-container-admin-noc .led-2 { animation: mascot-admin-noc_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-admin-noc .led-3, .mascot-container-admin-noc .led-3 { animation: mascot-admin-noc_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-admin-noc_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-admin-noc_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-admin-noc_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-admin-noc_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-admin-noc_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        40% { transform: translateY(-5px) rotate(-1.5deg); }
        75% { transform: translateY(-2px) rotate(1deg); }
      }
      @keyframes mascot-admin-noc_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        40% { transform: rotate(-6deg) translateY(-2px); }
        75% { transform: rotate(5deg); }
      }
      @keyframes mascot-admin-noc_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        40% { transform: rotate(-4deg); }
        75% { transform: rotate(6deg) translateY(-2px); }
      }
      @keyframes mascot-admin-noc_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-8deg); }
      }
      @keyframes mascot-admin-noc_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(8deg); }
      }
      @keyframes mascot-admin-noc_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(-3px, 1px) scaleY(1); }
        48% { transform: translate(-1px, 0px) scaleY(0.1); }
        75% { transform: translate(1px, 0px) scaleY(1); }
      }
      @keyframes mascot-admin-noc_glassesAnim {
        0%, 100% { transform: translateY(0px); }
        40% { transform: translateY(-1px); }
      }
      @keyframes mascot-admin-noc_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        30% { transform: scale(1.15, 1.3); }
        65% { transform: scale(0.92, 0.85); }
      }
      @keyframes mascot-admin-noc_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(8deg); }
      }
      @keyframes mascot-admin-noc_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-14deg); }
        65% { transform: rotate(8deg); }
      }
      /* Mascot: ai-bot (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-ai-bot .mascot-svg,
.mascot-container-ai-bot .mascot-svg,
.mascot-ai-bot .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-ai-bot .rig-torso, .mascot-container-ai-bot .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-ai-bot_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-leg-l, .mascot-container-ai-bot .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-ai-bot_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-leg-r, .mascot-container-ai-bot .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-ai-bot_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-antenna-l, .mascot-container-ai-bot .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-ai-bot_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-antenna-r, .mascot-container-ai-bot .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-ai-bot_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-brows, .mascot-container-ai-bot .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-ai-bot_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-eyes, .mascot-container-ai-bot .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-ai-bot_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-glasses, .mascot-container-ai-bot .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-ai-bot_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-mouth, .mascot-container-ai-bot .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-ai-bot_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-arm-l, .mascot-container-ai-bot .rig-arm-l {
      transform-box: view-box;
      transform-origin: 46px 94px;
      animation: mascot-ai-bot_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-arm-r, .mascot-container-ai-bot .rig-arm-r {
      transform-box: view-box;
      transform-origin: 194px 94px;
      animation: mascot-ai-bot_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-ai-bot .rig-prop, .mascot-container-ai-bot .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-ai-bot_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-ai-bot .led-1, .mascot-container-ai-bot .led-1 { animation: mascot-ai-bot_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-ai-bot .led-2, .mascot-container-ai-bot .led-2 { animation: mascot-ai-bot_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-ai-bot .led-3, .mascot-container-ai-bot .led-3 { animation: mascot-ai-bot_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-ai-bot_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #38BDF8; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-ai-bot_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-ai-bot_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-ai-bot_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-ai-bot_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        50% { transform: translateY(-8px) rotate(1deg); }
      }
      @keyframes mascot-ai-bot_legLAnim {
        0%, 100% { transform: scale(1); opacity: 0.9; }
        50% { transform: scale(1.08); opacity: 1; }
      }
      @keyframes mascot-ai-bot_legRAnim {
        0%, 100% { transform: scale(1) translateY(0px); opacity: 0.75; }
        50% { transform: scale(0.92) translateY(4px); opacity: 1; }
      }
      @keyframes mascot-ai-bot_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-10deg); }
      }
      @keyframes mascot-ai-bot_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(10deg); }
      }
      @keyframes mascot-ai-bot_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(2px, -1px) scaleY(1.05); }
        48% { transform: translate(0px, 0px) scaleY(0.1); }
        75% { transform: translate(-2px, -1px) scaleY(1.05); }
      }
      @keyframes mascot-ai-bot_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        30% { transform: scale(1.18, 1.32); }
        65% { transform: scale(0.94, 0.88); }
      }
      @keyframes mascot-ai-bot_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-12deg); }
      }
      @keyframes mascot-ai-bot_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(12deg); }
      }
      @keyframes mascot-ai-bot_propAnim {
        0%, 100% { transform: scale(0.85) translateY(0px); opacity: 0.7; }
        50% { transform: scale(1.2) translateY(-4px); opacity: 1; }
      }
      /* Mascot: analisis-redaman (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-analisis-redaman .mascot-svg,
.mascot-container-analisis-redaman .mascot-svg,
.mascot-analisis-redaman .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-analisis-redaman .rig-torso, .mascot-container-analisis-redaman .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-analisis-redaman_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-leg-l, .mascot-container-analisis-redaman .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-analisis-redaman_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-leg-r, .mascot-container-analisis-redaman .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-analisis-redaman_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-antenna-l, .mascot-container-analisis-redaman .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-analisis-redaman_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-antenna-r, .mascot-container-analisis-redaman .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-analisis-redaman_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-brows, .mascot-container-analisis-redaman .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-analisis-redaman_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-eyes, .mascot-container-analisis-redaman .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-analisis-redaman_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-glasses, .mascot-container-analisis-redaman .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-analisis-redaman_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-mouth, .mascot-container-analisis-redaman .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-analisis-redaman_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-arm-l, .mascot-container-analisis-redaman .rig-arm-l {
      transform-box: view-box;
      transform-origin: 47px 94px;
      animation: mascot-analisis-redaman_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-arm-r, .mascot-container-analisis-redaman .rig-arm-r {
      transform-box: view-box;
      transform-origin: 188px 94px;
      animation: mascot-analisis-redaman_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-analisis-redaman .rig-prop, .mascot-container-analisis-redaman .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-analisis-redaman_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-analisis-redaman .led-1, .mascot-container-analisis-redaman .led-1 { animation: mascot-analisis-redaman_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-analisis-redaman .led-2, .mascot-container-analisis-redaman .led-2 { animation: mascot-analisis-redaman_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-analisis-redaman .led-3, .mascot-container-analisis-redaman .led-3 { animation: mascot-analisis-redaman_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-analisis-redaman_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #10B981; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-analisis-redaman_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-analisis-redaman_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-analisis-redaman_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-analisis-redaman_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        40% { transform: translateY(-6px) rotate(1.5deg); }
        75% { transform: translateY(-2px) rotate(-1deg); }
      }
      @keyframes mascot-analisis-redaman_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        40% { transform: rotate(7deg) translateY(-2px); }
        75% { transform: rotate(-5deg); }
      }
      @keyframes mascot-analisis-redaman_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        40% { transform: rotate(5deg); }
        75% { transform: rotate(-7deg) translateY(-2px); }
      }
      @keyframes mascot-analisis-redaman_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-7deg); }
      }
      @keyframes mascot-analisis-redaman_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(9deg); }
      }
      @keyframes mascot-analisis-redaman_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(3px, -2px) scaleY(1); }
        48% { transform: translate(2px, -1px) scaleY(0.1); }
        75% { transform: translate(0px, 0px) scaleY(1); }
      }
      @keyframes mascot-analisis-redaman_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        25% { transform: scale(1.15, 1.35); }
        50% { transform: scale(0.95, 0.9); }
        75% { transform: scale(1.12, 1.25); }
      }
      @keyframes mascot-analisis-redaman_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-14deg); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-analisis-redaman_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(10deg); }
      }
      @keyframes mascot-analisis-redaman_propAnim {
        0%, 100% { transform: translateY(0px) scale(1); }
        50% { transform: translateY(-5px) scale(1.04); }
      }
      /* Mascot: atur-kabel (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-atur-kabel .mascot-svg,
.mascot-container-atur-kabel .mascot-svg,
.mascot-atur-kabel .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-atur-kabel .rig-torso, .mascot-container-atur-kabel .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-atur-kabel_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-leg-l, .mascot-container-atur-kabel .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-atur-kabel_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-leg-r, .mascot-container-atur-kabel .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-atur-kabel_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-antenna-l, .mascot-container-atur-kabel .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-atur-kabel_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-antenna-r, .mascot-container-atur-kabel .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-atur-kabel_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-brows, .mascot-container-atur-kabel .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-atur-kabel_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-eyes, .mascot-container-atur-kabel .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-atur-kabel_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-glasses, .mascot-container-atur-kabel .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-atur-kabel_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-mouth, .mascot-container-atur-kabel .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-atur-kabel_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-arm-l, .mascot-container-atur-kabel .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 100px;
      animation: mascot-atur-kabel_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-arm-r, .mascot-container-atur-kabel .rig-arm-r {
      transform-box: view-box;
      transform-origin: 201px 102px;
      animation: mascot-atur-kabel_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-atur-kabel .rig-prop, .mascot-container-atur-kabel .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-atur-kabel_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-atur-kabel .led-1, .mascot-container-atur-kabel .led-1 { animation: mascot-atur-kabel_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-atur-kabel .led-2, .mascot-container-atur-kabel .led-2 { animation: mascot-atur-kabel_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-atur-kabel .led-3, .mascot-container-atur-kabel .led-3 { animation: mascot-atur-kabel_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-atur-kabel_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-atur-kabel_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-atur-kabel_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-atur-kabel_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-atur-kabel_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        35% { transform: translateY(-4px) rotate(-2deg); }
        70% { transform: translateY(-5px) rotate(2deg); }
      }
      @keyframes mascot-atur-kabel_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-7deg) translateY(-2px); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-atur-kabel_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-5deg); }
        70% { transform: rotate(7deg) translateY(-2px); }
      }
      @keyframes mascot-atur-kabel_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-9deg); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-atur-kabel_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-6deg); }
        70% { transform: rotate(9deg); }
      }
      @keyframes mascot-atur-kabel_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(-3px, 2px) scaleY(1); }
        48% { transform: translate(0px, 1px) scaleY(0.1); }
        75% { transform: translate(3px, -1px) scaleY(1); }
      }
      @keyframes mascot-atur-kabel_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        35% { transform: scale(1.18, 1.3); }
        70% { transform: scale(0.92, 0.9); }
      }
      @keyframes mascot-atur-kabel_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-18deg); }
        60% { transform: rotate(10deg); }
      }
      @keyframes mascot-atur-kabel_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        40% { transform: rotate(10deg); }
        80% { transform: rotate(-6deg); }
      }
      /* Mascot: berhasil (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-berhasil .mascot-svg,
.mascot-container-berhasil .mascot-svg,
.mascot-berhasil .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-berhasil .rig-torso, .mascot-container-berhasil .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-berhasil_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-leg-l, .mascot-container-berhasil .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-berhasil_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-leg-r, .mascot-container-berhasil .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-berhasil_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-antenna-l, .mascot-container-berhasil .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-berhasil_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-antenna-r, .mascot-container-berhasil .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-berhasil_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-brows, .mascot-container-berhasil .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berhasil_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-eyes, .mascot-container-berhasil .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berhasil_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-glasses, .mascot-container-berhasil .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berhasil_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-mouth, .mascot-container-berhasil .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berhasil_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-arm-l, .mascot-container-berhasil .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 100px;
      animation: mascot-berhasil_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-arm-r, .mascot-container-berhasil .rig-arm-r {
      transform-box: view-box;
      transform-origin: 201px 102px;
      animation: mascot-berhasil_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berhasil .rig-prop, .mascot-container-berhasil .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berhasil_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-berhasil .led-1, .mascot-container-berhasil .led-1 { animation: mascot-berhasil_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-berhasil .led-2, .mascot-container-berhasil .led-2 { animation: mascot-berhasil_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-berhasil .led-3, .mascot-container-berhasil .led-3 { animation: mascot-berhasil_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-berhasil_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-berhasil_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-berhasil_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-berhasil_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-berhasil_torsoAnim {
        0%, 100% { transform: translateY(0px) scale(1, 1); }
        35% { transform: translateY(-8px) scale(0.98, 1.02); }
        70% { transform: translateY(-2px) scale(1.01, 0.99); }
      }
      @keyframes mascot-berhasil_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(9deg) translateY(-3px); }
        70% { transform: rotate(-6deg); }
      }
      @keyframes mascot-berhasil_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-9deg) translateY(-3px); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-berhasil_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-11deg); }
        70% { transform: rotate(5deg); }
      }
      @keyframes mascot-berhasil_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(11deg); }
        70% { transform: rotate(-5deg); }
      }
      @keyframes mascot-berhasil_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        35% { transform: translate(0px, -2px) scaleY(1.05); }
        48% { transform: translate(0px, 0px) scaleY(0.1); }
      }
      @keyframes mascot-berhasil_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        35% { transform: scale(1.18, 1.25); }
        70% { transform: scale(0.95, 0.92); }
      }
      @keyframes mascot-berhasil_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-18deg); }
        70% { transform: rotate(8deg); }
      }
      @keyframes mascot-berhasil_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(14deg); }
        70% { transform: rotate(-5deg); }
      }
      @keyframes mascot-berhasil_propAnim {
        0%, 100% { transform: translateY(0px) scale(1); }
        35% { transform: translateY(-6px) scale(1.12); }
      }
      /* Mascot: berpikir (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-berpikir .mascot-svg,
.mascot-container-berpikir .mascot-svg,
.mascot-berpikir .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-berpikir .rig-torso, .mascot-container-berpikir .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-berpikir_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-leg-l, .mascot-container-berpikir .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-berpikir_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-leg-r, .mascot-container-berpikir .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-berpikir_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-antenna-l, .mascot-container-berpikir .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-berpikir_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-antenna-r, .mascot-container-berpikir .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-berpikir_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-brows, .mascot-container-berpikir .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berpikir_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-eyes, .mascot-container-berpikir .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berpikir_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-glasses, .mascot-container-berpikir .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berpikir_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-mouth, .mascot-container-berpikir .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berpikir_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-arm-l, .mascot-container-berpikir .rig-arm-l {
      transform-box: view-box;
      transform-origin: 39px 99px;
      animation: mascot-berpikir_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-arm-r, .mascot-container-berpikir .rig-arm-r {
      transform-box: view-box;
      transform-origin: 202px 105px;
      animation: mascot-berpikir_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-berpikir .rig-prop, .mascot-container-berpikir .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-berpikir_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-berpikir .led-1, .mascot-container-berpikir .led-1 { animation: mascot-berpikir_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-berpikir .led-2, .mascot-container-berpikir .led-2 { animation: mascot-berpikir_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-berpikir .led-3, .mascot-container-berpikir .led-3 { animation: mascot-berpikir_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-berpikir_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #10B981; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-berpikir_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-berpikir_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-berpikir_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-berpikir_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        45% { transform: translateY(-5px) rotate(1deg); }
      }
      @keyframes mascot-berpikir_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(6deg) translateY(-2px); }
      }
      @keyframes mascot-berpikir_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-6deg) translateY(-2px); }
      }
      @keyframes mascot-berpikir_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-10deg); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-berpikir_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(10deg); }
        70% { transform: rotate(-6deg); }
      }
      @keyframes mascot-berpikir_browAnim {
        0%, 100% { transform: translateY(0px); }
        50% { transform: translateY(-2px); }
      }
      @keyframes mascot-berpikir_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(-2px, 0px) scaleY(1); }
        48% { transform: translate(0px, 0px) scaleY(0.1); }
        75% { transform: translate(2px, 0px) scaleY(1); }
      }
      @keyframes mascot-berpikir_glassesAnim {
        0%, 100% { transform: translateY(0px); }
        45% { transform: translateY(-1px); }
      }
      @keyframes mascot-berpikir_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        50% { transform: scale(1.15, 1.2); }
      }
      @keyframes mascot-berpikir_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(8deg); }
      }
      @keyframes mascot-berpikir_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-10deg); }
      }
      @keyframes mascot-berpikir_propAnim {
        0%, 100% { transform: translateY(0px) scale(1); }
        50% { transform: translateY(-5px) scale(1.08); }
      }
      /* Mascot: bingung (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-bingung .mascot-svg,
.mascot-container-bingung .mascot-svg,
.mascot-bingung .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-bingung .rig-torso, .mascot-container-bingung .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-bingung_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-leg-l, .mascot-container-bingung .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-bingung_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-leg-r, .mascot-container-bingung .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-bingung_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-antenna-l, .mascot-container-bingung .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-bingung_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-antenna-r, .mascot-container-bingung .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-bingung_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-brows, .mascot-container-bingung .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bingung_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-eyes, .mascot-container-bingung .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bingung_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-glasses, .mascot-container-bingung .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bingung_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-mouth, .mascot-container-bingung .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bingung_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-arm-l, .mascot-container-bingung .rig-arm-l {
      transform-box: view-box;
      transform-origin: 48px 94px;
      animation: mascot-bingung_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-arm-r, .mascot-container-bingung .rig-arm-r {
      transform-box: view-box;
      transform-origin: 196px 104px;
      animation: mascot-bingung_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bingung .rig-prop, .mascot-container-bingung .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bingung_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-bingung .led-1, .mascot-container-bingung .led-1 { animation: mascot-bingung_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-bingung .led-2, .mascot-container-bingung .led-2 { animation: mascot-bingung_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-bingung .led-3, .mascot-container-bingung .led-3 { animation: mascot-bingung_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-bingung_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #F59E0B; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-bingung_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-bingung_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-bingung_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-bingung_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        35% { transform: translateY(-4px) rotate(-3deg); }
        70% { transform: translateY(-2px) rotate(2deg); }
      }
      @keyframes mascot-bingung_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-7deg) translateY(-1px); }
        70% { transform: rotate(5deg); }
      }
      @keyframes mascot-bingung_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-5deg); }
        70% { transform: rotate(7deg) translateY(-1px); }
      }
      @keyframes mascot-bingung_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-12deg); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-bingung_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(6deg); }
        70% { transform: rotate(-10deg); }
      }
      @keyframes mascot-bingung_browAnim {
        0%, 100% { transform: translateY(0px); }
        35% { transform: translateY(-3px) rotate(-3deg); }
        70% { transform: translateY(1px) rotate(2deg); }
      }
      @keyframes mascot-bingung_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(2px, -2px) scaleY(1); }
        48% { transform: translate(1px, -1px) scaleY(0.1); }
        75% { transform: translate(-2px, 0px) scaleY(1); }
      }
      @keyframes mascot-bingung_mouthAnim {
        0%, 100% { transform: translateX(0px) scale(1, 1); }
        35% { transform: translateX(-2px) scale(0.9, 1.2); }
        70% { transform: translateX(2px) scale(1.1, 0.9); }
      }
      @keyframes mascot-bingung_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-12deg); }
        60% { transform: rotate(6deg); }
      }
      @keyframes mascot-bingung_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-8deg); }
      }
      @keyframes mascot-bingung_propAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg) scale(1); }
        50% { transform: translateY(-6px) rotate(10deg) scale(1.15); }
      }
      /* Mascot: bintang (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-bintang .mascot-svg,
.mascot-container-bintang .mascot-svg,
.mascot-bintang .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-bintang .rig-torso, .mascot-container-bintang .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-bintang_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-leg-l, .mascot-container-bintang .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-bintang_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-leg-r, .mascot-container-bintang .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-bintang_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-antenna-l, .mascot-container-bintang .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-bintang_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-antenna-r, .mascot-container-bintang .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-bintang_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-brows, .mascot-container-bintang .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bintang_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-eyes, .mascot-container-bintang .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bintang_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-glasses, .mascot-container-bintang .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bintang_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-mouth, .mascot-container-bintang .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bintang_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-arm-l, .mascot-container-bintang .rig-arm-l {
      transform-box: view-box;
      transform-origin: 48px 94px;
      animation: mascot-bintang_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-arm-r, .mascot-container-bintang .rig-arm-r {
      transform-box: view-box;
      transform-origin: 192px 94px;
      animation: mascot-bintang_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bintang .rig-prop, .mascot-container-bintang .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bintang_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-bintang .led-1, .mascot-container-bintang .led-1 { animation: mascot-bintang_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-bintang .led-2, .mascot-container-bintang .led-2 { animation: mascot-bintang_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-bintang .led-3, .mascot-container-bintang .led-3 { animation: mascot-bintang_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-bintang_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-bintang_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-bintang_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-bintang_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-bintang_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        25% { transform: translateY(-7px) rotate(2deg); }
        50% { transform: translateY(-2px) rotate(0deg); }
        75% { transform: translateY(-7px) rotate(-2deg); }
      }
      @keyframes mascot-bintang_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(10deg) translateY(-2px); }
        75% { transform: rotate(-8deg); }
      }
      @keyframes mascot-bintang_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(8deg); }
        75% { transform: rotate(-10deg) translateY(-2px); }
      }
      @keyframes mascot-bintang_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-10deg); }
        75% { transform: rotate(8deg); }
      }
      @keyframes mascot-bintang_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(10deg); }
        75% { transform: rotate(-8deg); }
      }
      @keyframes mascot-bintang_eyesAnim {
        0%, 100% { transform: translateY(0px) scaleY(1); }
        25%, 75% { transform: translateY(-2px) scaleY(1.1); }
      }
      @keyframes mascot-bintang_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        25% { transform: scale(1.15, 1.28); }
        50% { transform: scale(0.92, 0.85); }
        75% { transform: scale(1.18, 1.3); }
      }
      @keyframes mascot-bintang_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        25%, 75% { transform: rotate(16deg); }
        50% { transform: rotate(-4deg); }
      }
      @keyframes mascot-bintang_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        25%, 75% { transform: rotate(-16deg); }
        50% { transform: rotate(4deg); }
      }
      @keyframes mascot-bintang_propAnim {
        0%, 100% { transform: scale(0.85) rotate(0deg); }
        50% { transform: scale(1.25) rotate(20deg); }
      }
      /* Mascot: bosan (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-bosan .mascot-svg,
.mascot-container-bosan .mascot-svg,
.mascot-bosan .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-bosan .rig-torso, .mascot-container-bosan .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-bosan_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-leg-l, .mascot-container-bosan .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-bosan_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-leg-r, .mascot-container-bosan .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-bosan_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-antenna-l, .mascot-container-bosan .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-bosan_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-antenna-r, .mascot-container-bosan .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-bosan_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-brows, .mascot-container-bosan .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bosan_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-eyes, .mascot-container-bosan .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bosan_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-glasses, .mascot-container-bosan .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bosan_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-mouth, .mascot-container-bosan .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bosan_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-arm-l, .mascot-container-bosan .rig-arm-l {
      transform-box: view-box;
      transform-origin: 50px 96px;
      animation: mascot-bosan_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-arm-r, .mascot-container-bosan .rig-arm-r {
      transform-box: view-box;
      transform-origin: 190px 96px;
      animation: mascot-bosan_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-bosan .rig-prop, .mascot-container-bosan .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-bosan_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-bosan .led-1, .mascot-container-bosan .led-1 { animation: mascot-bosan_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-bosan .led-2, .mascot-container-bosan .led-2 { animation: mascot-bosan_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-bosan .led-3, .mascot-container-bosan .led-3 { animation: mascot-bosan_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-bosan_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #64748B; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-bosan_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-bosan_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-bosan_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-bosan_torsoAnim {
        0%, 100% { transform: translateY(0px) scale(1, 1); }
        50% { transform: translateY(4px) scale(1.02, 0.97); }
      }
      @keyframes mascot-bosan_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-5deg) translateY(-1px); }
      }
      @keyframes mascot-bosan_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(5deg) translateY(-1px); }
      }
      @keyframes mascot-bosan_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-10deg); }
      }
      @keyframes mascot-bosan_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(10deg); }
      }
      @keyframes mascot-bosan_eyesAnim {
        0%, 44%, 54%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(2px, 1px) scaleY(0.9); }
        50% { transform: translate(1px, 2px) scaleY(0.15); }
        75% { transform: translate(-1px, 1px) scaleY(0.9); }
      }
      @keyframes mascot-bosan_mouthAnim {
        0%, 100% { transform: scaleX(1); }
        50% { transform: scaleX(1.2) translateY(1px); }
      }
      @keyframes mascot-bosan_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-6deg); }
      }
      @keyframes mascot-bosan_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(6deg); }
      }
      /* Mascot: gangguan (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-gangguan .mascot-svg,
.mascot-container-gangguan .mascot-svg,
.mascot-gangguan .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-gangguan .rig-torso, .mascot-container-gangguan .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-gangguan_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-leg-l, .mascot-container-gangguan .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-gangguan_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-leg-r, .mascot-container-gangguan .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-gangguan_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-antenna-l, .mascot-container-gangguan .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-gangguan_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-antenna-r, .mascot-container-gangguan .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-gangguan_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-brows, .mascot-container-gangguan .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gangguan_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-eyes, .mascot-container-gangguan .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gangguan_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-glasses, .mascot-container-gangguan .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gangguan_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-mouth, .mascot-container-gangguan .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gangguan_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-arm-l, .mascot-container-gangguan .rig-arm-l {
      transform-box: view-box;
      transform-origin: 50px 99px;
      animation: mascot-gangguan_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-arm-r, .mascot-container-gangguan .rig-arm-r {
      transform-box: view-box;
      transform-origin: 194px 98px;
      animation: mascot-gangguan_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gangguan .rig-prop, .mascot-container-gangguan .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gangguan_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-gangguan .led-1, .mascot-container-gangguan .led-1 { animation: mascot-gangguan_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-gangguan .led-2, .mascot-container-gangguan .led-2 { animation: mascot-gangguan_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-gangguan .led-3, .mascot-container-gangguan .led-3 { animation: mascot-gangguan_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-gangguan_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #EF4444; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-gangguan_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-gangguan_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-gangguan_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-gangguan_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        25% { transform: translateY(-6px) rotate(-2deg); }
        50% { transform: translateY(-2px) rotate(2deg); }
        75% { transform: translateY(-5px) rotate(-1.5deg); }
      }
      @keyframes mascot-gangguan_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-8deg) translateY(-2px); }
        50% { transform: rotate(6deg); }
        75% { transform: rotate(-7deg) translateY(-2px); }
      }
      @keyframes mascot-gangguan_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-6deg); }
        50% { transform: rotate(8deg) translateY(-2px); }
        75% { transform: rotate(-5deg); }
      }
      @keyframes mascot-gangguan_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-12deg); }
        50% { transform: rotate(6deg); }
        75% { transform: rotate(-10deg); }
      }
      @keyframes mascot-gangguan_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(12deg); }
        50% { transform: rotate(-6deg); }
        75% { transform: rotate(10deg); }
      }
      @keyframes mascot-gangguan_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scale(1); }
        25% { transform: translate(3px, -1px) scale(1.08); }
        48% { transform: translate(2px, 0px) scale(1, 0.1); }
        75% { transform: translate(3px, 1px) scale(1.06); }
      }
      @keyframes mascot-gangguan_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        25% { transform: scale(1.2, 1.35); }
        50% { transform: scale(0.9, 0.85); }
        75% { transform: scale(1.15, 1.25); }
      }
      @keyframes mascot-gangguan_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-8deg); }
        70% { transform: rotate(4deg); }
      }
      @keyframes mascot-gangguan_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-8deg); }
      }
      @keyframes mascot-gangguan_propAnim {
        0%, 100% { transform: translateY(0px) scale(1); }
        50% { transform: translateY(-6px) scale(1.12); }
      }
      /* Mascot: gembira (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-gembira .mascot-svg,
.mascot-container-gembira .mascot-svg,
.mascot-gembira .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-gembira .rig-torso, .mascot-container-gembira .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-gembira_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-leg-l, .mascot-container-gembira .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-gembira_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-leg-r, .mascot-container-gembira .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-gembira_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-antenna-l, .mascot-container-gembira .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-gembira_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-antenna-r, .mascot-container-gembira .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-gembira_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-brows, .mascot-container-gembira .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gembira_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-eyes, .mascot-container-gembira .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gembira_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-glasses, .mascot-container-gembira .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gembira_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-mouth, .mascot-container-gembira .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gembira_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-arm-l, .mascot-container-gembira .rig-arm-l {
      transform-box: view-box;
      transform-origin: 48px 94px;
      animation: mascot-gembira_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-arm-r, .mascot-container-gembira .rig-arm-r {
      transform-box: view-box;
      transform-origin: 192px 94px;
      animation: mascot-gembira_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-gembira .rig-prop, .mascot-container-gembira .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-gembira_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-gembira .led-1, .mascot-container-gembira .led-1 { animation: mascot-gembira_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-gembira .led-2, .mascot-container-gembira .led-2 { animation: mascot-gembira_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-gembira .led-3, .mascot-container-gembira .led-3 { animation: mascot-gembira_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-gembira_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-gembira_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-gembira_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-gembira_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-gembira_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        25% { transform: translateY(-7px) rotate(2deg); }
        50% { transform: translateY(-2px) rotate(0deg); }
        75% { transform: translateY(-7px) rotate(-2deg); }
      }
      @keyframes mascot-gembira_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(10deg) translateY(-2px); }
        75% { transform: rotate(-8deg); }
      }
      @keyframes mascot-gembira_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(8deg); }
        75% { transform: rotate(-10deg) translateY(-2px); }
      }
      @keyframes mascot-gembira_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-10deg); }
        75% { transform: rotate(8deg); }
      }
      @keyframes mascot-gembira_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(10deg); }
        75% { transform: rotate(-8deg); }
      }
      @keyframes mascot-gembira_eyesAnim {
        0%, 100% { transform: translateY(0px) scaleY(1); }
        25%, 75% { transform: translateY(-2px) scaleY(1.1); }
      }
      @keyframes mascot-gembira_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        25% { transform: scale(1.15, 1.28); }
        50% { transform: scale(0.92, 0.85); }
        75% { transform: scale(1.18, 1.3); }
      }
      @keyframes mascot-gembira_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        25%, 75% { transform: rotate(16deg); }
        50% { transform: rotate(-4deg); }
      }
      @keyframes mascot-gembira_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        25%, 75% { transform: rotate(-16deg); }
        50% { transform: rotate(4deg); }
      }
      @keyframes mascot-gembira_propAnim {
        0%, 100% { transform: scale(0.85) rotate(0deg); }
        50% { transform: scale(1.25) rotate(20deg); }
      }
      /* Mascot: jijik (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-jijik .mascot-svg,
.mascot-container-jijik .mascot-svg,
.mascot-jijik .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-jijik .rig-torso, .mascot-container-jijik .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-jijik_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-leg-l, .mascot-container-jijik .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-jijik_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-leg-r, .mascot-container-jijik .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-jijik_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-antenna-l, .mascot-container-jijik .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-jijik_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-antenna-r, .mascot-container-jijik .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-jijik_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-brows, .mascot-container-jijik .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-jijik_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-eyes, .mascot-container-jijik .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-jijik_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-glasses, .mascot-container-jijik .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-jijik_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-mouth, .mascot-container-jijik .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-jijik_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-arm-l, .mascot-container-jijik .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 98px;
      animation: mascot-jijik_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-arm-r, .mascot-container-jijik .rig-arm-r {
      transform-box: view-box;
      transform-origin: 202px 98px;
      animation: mascot-jijik_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-jijik .rig-prop, .mascot-container-jijik .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-jijik_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-jijik .led-1, .mascot-container-jijik .led-1 { animation: mascot-jijik_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-jijik .led-2, .mascot-container-jijik .led-2 { animation: mascot-jijik_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-jijik .led-3, .mascot-container-jijik .led-3 { animation: mascot-jijik_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-jijik_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #F59E0B; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-jijik_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-jijik_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-jijik_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-jijik_torsoAnim {
        0%, 100% { transform: translate(0px, 0px) rotate(0deg); }
        45% { transform: translate(-5px, -3px) rotate(-3deg); }
        75% { transform: translate(-2px, -1px) rotate(-1deg); }
      }
      @keyframes mascot-jijik_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(8deg); }
      }
      @keyframes mascot-jijik_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(10deg) translateY(-2px); }
      }
      @keyframes mascot-jijik_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-12deg); }
      }
      @keyframes mascot-jijik_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(10deg); }
      }
      @keyframes mascot-jijik_eyesAnim {
        0%, 100% { transform: scale(1, 1); }
        45% { transform: scale(1.08, 0.82); }
      }
      @keyframes mascot-jijik_mouthAnim {
        0%, 100% { transform: translateY(0px) scale(1, 1); }
        45% { transform: translateY(2px) scale(1.12, 1.28); }
      }
      @keyframes mascot-jijik_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(14deg); }
      }
      @keyframes mascot-jijik_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-14deg); }
      }
      /* Mascot: juara (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-juara .mascot-svg,
.mascot-container-juara .mascot-svg,
.mascot-juara .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-juara .rig-torso, .mascot-container-juara .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-juara_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-leg-l, .mascot-container-juara .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-juara_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-leg-r, .mascot-container-juara .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-juara_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-antenna-l, .mascot-container-juara .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-juara_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-antenna-r, .mascot-container-juara .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-juara_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-brows, .mascot-container-juara .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-juara_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-eyes, .mascot-container-juara .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-juara_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-glasses, .mascot-container-juara .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-juara_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-mouth, .mascot-container-juara .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-juara_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-arm-l, .mascot-container-juara .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 101px;
      animation: mascot-juara_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-arm-r, .mascot-container-juara .rig-arm-r {
      transform-box: view-box;
      transform-origin: 202px 101px;
      animation: mascot-juara_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-juara .rig-prop, .mascot-container-juara .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-juara_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-juara .led-1, .mascot-container-juara .led-1 { animation: mascot-juara_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-juara .led-2, .mascot-container-juara .led-2 { animation: mascot-juara_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-juara .led-3, .mascot-container-juara .led-3 { animation: mascot-juara_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-juara_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-juara_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-juara_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-juara_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-juara_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        33% { transform: translateY(-6px) rotate(2deg); }
        66% { transform: translateY(-4px) rotate(-1.5deg); }
      }
      @keyframes mascot-juara_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(8deg) translateY(-2px); }
        66% { transform: rotate(-6deg); }
      }
      @keyframes mascot-juara_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(6deg); }
        66% { transform: rotate(-8deg) translateY(-2px); }
      }
      @keyframes mascot-juara_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(-9deg); }
        66% { transform: rotate(6deg); }
      }
      @keyframes mascot-juara_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(9deg); }
        66% { transform: rotate(-6deg); }
      }
      @keyframes mascot-juara_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(2px, -1px) scaleY(1); }
        48% { transform: translate(1px, 0px) scaleY(0.1); }
      }
      @keyframes mascot-juara_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        25% { transform: scale(1.15, 1.3); }
        50% { transform: scale(0.92, 0.85); }
        75% { transform: scale(1.15, 1.25); }
      }
      @keyframes mascot-juara_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(14deg); }
      }
      @keyframes mascot-juara_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-14deg); }
      }
      @keyframes mascot-juara_propAnim {
        0%, 100% { transform: translateY(0px) scale(1); }
        50% { transform: translateY(-6px) scale(1.1); }
      }
      /* Mascot: layanan-pelanggan (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-layanan-pelanggan .mascot-svg,
.mascot-container-layanan-pelanggan .mascot-svg,
.mascot-layanan-pelanggan .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-layanan-pelanggan .rig-torso, .mascot-container-layanan-pelanggan .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-layanan-pelanggan_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-leg-l, .mascot-container-layanan-pelanggan .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-layanan-pelanggan_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-leg-r, .mascot-container-layanan-pelanggan .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-layanan-pelanggan_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-antenna-l, .mascot-container-layanan-pelanggan .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-layanan-pelanggan_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-antenna-r, .mascot-container-layanan-pelanggan .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-layanan-pelanggan_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-brows, .mascot-container-layanan-pelanggan .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-layanan-pelanggan_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-eyes, .mascot-container-layanan-pelanggan .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-layanan-pelanggan_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-glasses, .mascot-container-layanan-pelanggan .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-layanan-pelanggan_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-mouth, .mascot-container-layanan-pelanggan .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-layanan-pelanggan_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-arm-l, .mascot-container-layanan-pelanggan .rig-arm-l {
      transform-box: view-box;
      transform-origin: 44px 98px;
      animation: mascot-layanan-pelanggan_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-arm-r, .mascot-container-layanan-pelanggan .rig-arm-r {
      transform-box: view-box;
      transform-origin: 200px 101px;
      animation: mascot-layanan-pelanggan_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-layanan-pelanggan .rig-prop, .mascot-container-layanan-pelanggan .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-layanan-pelanggan_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-layanan-pelanggan .led-1, .mascot-container-layanan-pelanggan .led-1 { animation: mascot-layanan-pelanggan_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-layanan-pelanggan .led-2, .mascot-container-layanan-pelanggan .led-2 { animation: mascot-layanan-pelanggan_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-layanan-pelanggan .led-3, .mascot-container-layanan-pelanggan .led-3 { animation: mascot-layanan-pelanggan_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-layanan-pelanggan_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-layanan-pelanggan_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-layanan-pelanggan_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-layanan-pelanggan_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-layanan-pelanggan_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        33% { transform: translateY(-4px) rotate(1.2deg); }
        66% { transform: translateY(-3px) rotate(-1.2deg); }
      }
      @keyframes mascot-layanan-pelanggan_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(6deg) translateY(-2px); }
        66% { transform: rotate(-5deg); }
      }
      @keyframes mascot-layanan-pelanggan_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(5deg); }
        66% { transform: rotate(-6deg) translateY(-2px); }
      }
      @keyframes mascot-layanan-pelanggan_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(-7deg); }
        66% { transform: rotate(5deg); }
      }
      @keyframes mascot-layanan-pelanggan_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(7deg); }
        66% { transform: rotate(-5deg); }
      }
      @keyframes mascot-layanan-pelanggan_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(2px, 1px) scaleY(1); }
        25% { transform: translate(4px, 2px) scaleY(1); }
        48% { transform: translate(3px, 1px) scaleY(0.1); }
        75% { transform: translate(1px, 0px) scaleY(1); }
      }
      @keyframes mascot-layanan-pelanggan_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        18% { transform: scale(1.15, 1.4); }
        36% { transform: scale(0.9, 0.8); }
        55% { transform: scale(1.2, 1.45); }
        75% { transform: scale(0.95, 0.9); }
      }
      @keyframes mascot-layanan-pelanggan_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        20% { transform: rotate(-8deg); }
        40% { transform: rotate(4deg); }
        60% { transform: rotate(-9deg); }
        80% { transform: rotate(3deg); }
      }
      @keyframes mascot-layanan-pelanggan_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(6deg); }
      }
      /* Mascot: manager-it (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-manager-it .mascot-svg,
.mascot-container-manager-it .mascot-svg,
.mascot-manager-it .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-manager-it .rig-torso, .mascot-container-manager-it .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-manager-it_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-leg-l, .mascot-container-manager-it .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-manager-it_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-leg-r, .mascot-container-manager-it .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-manager-it_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-antenna-l, .mascot-container-manager-it .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-manager-it_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-antenna-r, .mascot-container-manager-it .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-manager-it_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-brows, .mascot-container-manager-it .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-manager-it_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-eyes, .mascot-container-manager-it .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-manager-it_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-glasses, .mascot-container-manager-it .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-manager-it_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-mouth, .mascot-container-manager-it .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-manager-it_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-arm-l, .mascot-container-manager-it .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 114px;
      animation: mascot-manager-it_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-arm-r, .mascot-container-manager-it .rig-arm-r {
      transform-box: view-box;
      transform-origin: 201px 93px;
      animation: mascot-manager-it_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-manager-it .rig-prop, .mascot-container-manager-it .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-manager-it_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-manager-it .led-1, .mascot-container-manager-it .led-1 { animation: mascot-manager-it_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-manager-it .led-2, .mascot-container-manager-it .led-2 { animation: mascot-manager-it_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-manager-it .led-3, .mascot-container-manager-it .led-3 { animation: mascot-manager-it_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-manager-it_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #F59E0B; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-manager-it_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-manager-it_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-manager-it_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-manager-it_torsoAnim {
        0%, 100% { transform: translateY(0px) scale(1); }
        45% { transform: translateY(-7px) scale(1.02); }
      }
      @keyframes mascot-manager-it_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(8deg) translateY(-2px); }
      }
      @keyframes mascot-manager-it_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-8deg) translateY(-2px); }
      }
      @keyframes mascot-manager-it_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-10deg); }
      }
      @keyframes mascot-manager-it_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(10deg); }
      }
      @keyframes mascot-manager-it_browAnim {
        0%, 100% { transform: translateY(0px); }
        45% { transform: translateY(-2px); }
      }
      @keyframes mascot-manager-it_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(-2px, -1px) scaleY(1); }
        48% { transform: translate(0px, 0px) scaleY(0.1); }
      }
      @keyframes mascot-manager-it_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        45% { transform: scale(1.18, 1.28); }
      }
      @keyframes mascot-manager-it_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(16deg) translateY(-3px); }
      }
      @keyframes mascot-manager-it_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-12deg); }
      }
      /* Mascot: marah (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-marah .mascot-svg,
.mascot-container-marah .mascot-svg,
.mascot-marah .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-marah .rig-torso, .mascot-container-marah .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-marah_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-leg-l, .mascot-container-marah .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-marah_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-leg-r, .mascot-container-marah .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-marah_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-antenna-l, .mascot-container-marah .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-marah_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-antenna-r, .mascot-container-marah .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-marah_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-brows, .mascot-container-marah .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-marah_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-eyes, .mascot-container-marah .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-marah_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-glasses, .mascot-container-marah .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-marah_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-mouth, .mascot-container-marah .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-marah_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-arm-l, .mascot-container-marah .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 83px;
      animation: mascot-marah_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-arm-r, .mascot-container-marah .rig-arm-r {
      transform-box: view-box;
      transform-origin: 202px 86px;
      animation: mascot-marah_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-marah .rig-prop, .mascot-container-marah .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-marah_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-marah .led-1, .mascot-container-marah .led-1 { animation: mascot-marah_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-marah .led-2, .mascot-container-marah .led-2 { animation: mascot-marah_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-marah .led-3, .mascot-container-marah .led-3 { animation: mascot-marah_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-marah_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #EF4444; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-marah_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-marah_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-marah_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-marah_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg) scale(1, 1); }
        25% { transform: translateY(-5px) rotate(-2deg) scale(1.03, 0.98); }
        50% { transform: translateY(1px) rotate(2deg) scale(1.02, 0.98); }
        75% { transform: translateY(-4px) rotate(-1.5deg) scale(1.03, 0.98); }
      }
      @keyframes mascot-marah_legLAnim {
        0%, 100% { transform: rotate(0deg) translateY(0px); }
        25% { transform: rotate(10deg) translateY(-5px); }
        50% { transform: rotate(0deg) translateY(0px); }
        75% { transform: rotate(-5deg) translateY(0px); }
      }
      @keyframes mascot-marah_legRAnim {
        0%, 100% { transform: rotate(0deg) translateY(0px); }
        25% { transform: rotate(5deg) translateY(0px); }
        50% { transform: rotate(0deg) translateY(0px); }
        75% { transform: rotate(-10deg) translateY(-5px); }
      }
      @keyframes mascot-marah_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(12deg); }
        50% { transform: rotate(6deg); }
        75% { transform: rotate(14deg); }
      }
      @keyframes mascot-marah_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-12deg); }
        50% { transform: rotate(-6deg); }
        75% { transform: rotate(-14deg); }
      }
      @keyframes mascot-marah_browAnim {
        0%, 100% { transform: translateY(0px); }
        35% { transform: translateY(3px) scaleX(1.05); }
        70% { transform: translateY(2px); }
      }
      @keyframes mascot-marah_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(0px, 1px) scaleY(0.85); }
        48% { transform: translate(0px, 1px) scaleY(0.12); }
        75% { transform: translate(0px, 1px) scaleY(0.85); }
      }
      @keyframes mascot-marah_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        25% { transform: scale(1.16, 1.25); }
        50% { transform: scale(0.95, 0.9); }
        75% { transform: scale(1.14, 1.2); }
      }
      @keyframes mascot-marah_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(16deg); }
        50% { transform: rotate(-4deg); }
        75% { transform: rotate(14deg); }
      }
      @keyframes mascot-marah_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-16deg); }
        50% { transform: rotate(4deg); }
        75% { transform: rotate(-14deg); }
      }
      @keyframes mascot-marah_propAnim {
        0%, 100% { transform: scale(0.9); opacity: 0.75; }
        25%, 75% { transform: scale(1.22); opacity: 1; }
        50% { transform: scale(1); opacity: 0.85; }
      }
      /* Mascot: memantau (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-memantau .mascot-svg,
.mascot-container-memantau .mascot-svg,
.mascot-memantau .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-memantau .rig-torso, .mascot-container-memantau .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-memantau_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-leg-l, .mascot-container-memantau .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-memantau_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-leg-r, .mascot-container-memantau .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-memantau_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-antenna-l, .mascot-container-memantau .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-memantau_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-antenna-r, .mascot-container-memantau .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-memantau_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-brows, .mascot-container-memantau .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-memantau_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-eyes, .mascot-container-memantau .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-memantau_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-glasses, .mascot-container-memantau .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-memantau_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-mouth, .mascot-container-memantau .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-memantau_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-arm-l, .mascot-container-memantau .rig-arm-l {
      transform-box: view-box;
      transform-origin: 60px 100px;
      animation: mascot-memantau_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-arm-r, .mascot-container-memantau .rig-arm-r {
      transform-box: view-box;
      transform-origin: 204px 102px;
      animation: mascot-memantau_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-memantau .rig-prop, .mascot-container-memantau .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-memantau_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-memantau .led-1, .mascot-container-memantau .led-1 { animation: mascot-memantau_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-memantau .led-2, .mascot-container-memantau .led-2 { animation: mascot-memantau_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-memantau .led-3, .mascot-container-memantau .led-3 { animation: mascot-memantau_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-memantau_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #38BDF8; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-memantau_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-memantau_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-memantau_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-memantau_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        35% { transform: translateY(-4px) rotate(1.5deg); }
        70% { transform: translateY(-2px) rotate(-1deg); }
      }
      @keyframes mascot-memantau_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(6deg) translateY(-1px); }
        70% { transform: rotate(-5deg); }
      }
      @keyframes mascot-memantau_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(5deg); }
        70% { transform: rotate(-6deg) translateY(-1px); }
      }
      @keyframes mascot-memantau_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        40% { transform: rotate(6deg); }
        75% { transform: rotate(-5deg); }
      }
      @keyframes mascot-memantau_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        40% { transform: rotate(8deg); }
        75% { transform: rotate(-4deg); }
      }
      @keyframes mascot-memantau_eyesAnim {
        0%, 45%, 53%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(3px, -1px) scaleY(1); }
        49% { transform: translate(3px, 0px) scaleY(0.1); }
        75% { transform: translate(1px, 1px) scaleY(1); }
      }
      @keyframes mascot-memantau_glassesAnim {
        0%, 100% { transform: translateY(0px); }
        35% { transform: translateY(-1px); }
      }
      @keyframes mascot-memantau_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        35% { transform: scale(1.12, 1.2); }
        70% { transform: scale(0.92, 0.9); }
      }
      @keyframes mascot-memantau_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-10deg); }
        70% { transform: rotate(5deg); }
      }
      @keyframes mascot-memantau_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-6deg); }
      }
      /* Mascot: menganalisis (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-menganalisis .mascot-svg,
.mascot-container-menganalisis .mascot-svg,
.mascot-menganalisis .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-menganalisis .rig-torso, .mascot-container-menganalisis .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-menganalisis_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-leg-l, .mascot-container-menganalisis .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-menganalisis_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-leg-r, .mascot-container-menganalisis .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-menganalisis_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-antenna-l, .mascot-container-menganalisis .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-menganalisis_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-antenna-r, .mascot-container-menganalisis .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-menganalisis_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-brows, .mascot-container-menganalisis .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menganalisis_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-eyes, .mascot-container-menganalisis .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menganalisis_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-glasses, .mascot-container-menganalisis .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menganalisis_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-mouth, .mascot-container-menganalisis .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menganalisis_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-arm-l, .mascot-container-menganalisis .rig-arm-l {
      transform-box: view-box;
      transform-origin: 50px 96px;
      animation: mascot-menganalisis_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-arm-r, .mascot-container-menganalisis .rig-arm-r {
      transform-box: view-box;
      transform-origin: 202px 100px;
      animation: mascot-menganalisis_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menganalisis .rig-prop, .mascot-container-menganalisis .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menganalisis_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-menganalisis .led-1, .mascot-container-menganalisis .led-1 { animation: mascot-menganalisis_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-menganalisis .led-2, .mascot-container-menganalisis .led-2 { animation: mascot-menganalisis_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-menganalisis .led-3, .mascot-container-menganalisis .led-3 { animation: mascot-menganalisis_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-menganalisis_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #F59E0B; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-menganalisis_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-menganalisis_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-menganalisis_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-menganalisis_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        45% { transform: translateY(-4px) rotate(-2deg); }
      }
      @keyframes mascot-menganalisis_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-6deg) translateY(-1px); }
      }
      @keyframes mascot-menganalisis_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(6deg) translateY(-1px); }
      }
      @keyframes mascot-menganalisis_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-7deg); }
      }
      @keyframes mascot-menganalisis_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(9deg); }
      }
      @keyframes mascot-menganalisis_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(-2px, 2px) scaleY(0.92); }
        48% { transform: translate(-2px, 2px) scaleY(0.1); }
        75% { transform: translate(-1px, 1px) scaleY(0.95); }
      }
      @keyframes mascot-menganalisis_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        45% { transform: scale(0.88, 1.2) translateX(-2px); }
      }
      @keyframes mascot-menganalisis_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(8deg) translate(-3px, -2px); }
      }
      @keyframes mascot-menganalisis_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-8deg); }
      }
      /* Mascot: mengantuk (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-mengantuk .mascot-svg,
.mascot-container-mengantuk .mascot-svg,
.mascot-mengantuk .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-mengantuk .rig-torso, .mascot-container-mengantuk .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-mengantuk_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-leg-l, .mascot-container-mengantuk .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-mengantuk_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-leg-r, .mascot-container-mengantuk .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-mengantuk_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-antenna-l, .mascot-container-mengantuk .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-mengantuk_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-antenna-r, .mascot-container-mengantuk .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-mengantuk_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-brows, .mascot-container-mengantuk .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-mengantuk_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-eyes, .mascot-container-mengantuk .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-mengantuk_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-glasses, .mascot-container-mengantuk .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-mengantuk_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-mouth, .mascot-container-mengantuk .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-mengantuk_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-arm-l, .mascot-container-mengantuk .rig-arm-l {
      transform-box: view-box;
      transform-origin: 50px 96px;
      animation: mascot-mengantuk_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-arm-r, .mascot-container-mengantuk .rig-arm-r {
      transform-box: view-box;
      transform-origin: 194px 106px;
      animation: mascot-mengantuk_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-mengantuk .rig-prop, .mascot-container-mengantuk .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-mengantuk_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-mengantuk .led-1, .mascot-container-mengantuk .led-1 { animation: mascot-mengantuk_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-mengantuk .led-2, .mascot-container-mengantuk .led-2 { animation: mascot-mengantuk_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-mengantuk .led-3, .mascot-container-mengantuk .led-3 { animation: mascot-mengantuk_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-mengantuk_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #38BDF8; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-mengantuk_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-mengantuk_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-mengantuk_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-mengantuk_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        50% { transform: translateY(5px) rotate(3deg); }
      }
      @keyframes mascot-mengantuk_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-5deg) translateY(-2px); }
      }
      @keyframes mascot-mengantuk_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(5deg) translateY(-2px); }
      }
      @keyframes mascot-mengantuk_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-12deg); }
      }
      @keyframes mascot-mengantuk_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(12deg); }
      }
      @keyframes mascot-mengantuk_eyesAnim {
        0%, 100% { transform: translateY(0px) scaleX(1); }
        50% { transform: translateY(2px) scaleX(0.95); }
      }
      @keyframes mascot-mengantuk_mouthAnim {
        0%, 100% { transform: scale(0.85, 0.75); }
        50% { transform: scale(1.15, 1.3); }
      }
      @keyframes mascot-mengantuk_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-10deg); }
      }
      @keyframes mascot-mengantuk_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(8deg); }
      }
      @keyframes mascot-mengantuk_propAnim {
        0%, 100% { transform: translate(0px, 0px) scale(0.9); opacity: 0.5; }
        50% { transform: translate(4px, -6px) scale(1.12); opacity: 1; }
      }
      /* Mascot: menyapa (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-menyapa .mascot-svg,
.mascot-container-menyapa .mascot-svg,
.mascot-menyapa .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-menyapa .rig-torso, .mascot-container-menyapa .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-menyapa_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-leg-l, .mascot-container-menyapa .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-menyapa_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-leg-r, .mascot-container-menyapa .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-menyapa_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-antenna-l, .mascot-container-menyapa .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-menyapa_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-antenna-r, .mascot-container-menyapa .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-menyapa_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-brows, .mascot-container-menyapa .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-eyes, .mascot-container-menyapa .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-glasses, .mascot-container-menyapa .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-mouth, .mascot-container-menyapa .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-arm-l, .mascot-container-menyapa .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 100px;
      animation: mascot-menyapa_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-arm-r, .mascot-container-menyapa .rig-arm-r {
      transform-box: view-box;
      transform-origin: 200px 95px;
      animation: mascot-menyapa_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-menyapa .rig-prop, .mascot-container-menyapa .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-menyapa_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-menyapa .led-1, .mascot-container-menyapa .led-1 { animation: mascot-menyapa_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-menyapa .led-2, .mascot-container-menyapa .led-2 { animation: mascot-menyapa_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-menyapa .led-3, .mascot-container-menyapa .led-3 { animation: mascot-menyapa_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-menyapa_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-menyapa_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-menyapa_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-menyapa_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-menyapa_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        25% { transform: translateY(-5px) rotate(1.5deg); }
        50% { transform: translateY(-1px) rotate(0deg); }
        75% { transform: translateY(-5px) rotate(-1.2deg); }
      }
      @keyframes mascot-menyapa_legLAnim {
        0%, 100% { transform: rotate(0deg) translateY(0px); }
        25% { transform: rotate(8deg) translateY(-2px); }
        75% { transform: rotate(-6deg) translateY(0px); }
      }
      @keyframes mascot-menyapa_legRAnim {
        0%, 100% { transform: rotate(0deg) translateY(0px); }
        25% { transform: rotate(6deg) translateY(0px); }
        75% { transform: rotate(-8deg) translateY(-2px); }
      }
      @keyframes mascot-menyapa_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-8deg); }
        65% { transform: rotate(5deg); }
      }
      @keyframes mascot-menyapa_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(9deg); }
        65% { transform: rotate(-6deg); }
      }
      @keyframes mascot-menyapa_eyesAnim {
        0%, 42%, 50%, 100% { transform: translate(0px, 0px) scaleY(1); }
        20% { transform: translate(2px, -1px) scaleY(1); }
        46% { transform: translate(1px, 0px) scaleY(0.1); }
        75% { transform: translate(-1px, -1px) scaleY(1); }
      }
      @keyframes mascot-menyapa_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        20% { transform: scale(1.18, 1.35) translateY(1px); }
        40% { transform: scale(0.95, 0.85); }
        65% { transform: scale(1.15, 1.3) translateY(1px); }
        85% { transform: scale(1, 1); }
      }
      @keyframes mascot-menyapa_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        20% { transform: rotate(-20deg); }
        40% { transform: rotate(10deg); }
        60% { transform: rotate(-20deg); }
        80% { transform: rotate(6deg); }
      }
      @keyframes mascot-menyapa_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(7deg); }
      }
      /* Mascot: pelanggan (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-pelanggan .mascot-svg,
.mascot-container-pelanggan .mascot-svg,
.mascot-pelanggan .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-pelanggan .rig-torso, .mascot-container-pelanggan .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-pelanggan_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-leg-l, .mascot-container-pelanggan .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-pelanggan_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-leg-r, .mascot-container-pelanggan .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-pelanggan_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-antenna-l, .mascot-container-pelanggan .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-pelanggan_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-antenna-r, .mascot-container-pelanggan .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-pelanggan_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-brows, .mascot-container-pelanggan .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pelanggan_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-eyes, .mascot-container-pelanggan .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pelanggan_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-glasses, .mascot-container-pelanggan .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pelanggan_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-mouth, .mascot-container-pelanggan .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pelanggan_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-arm-l, .mascot-container-pelanggan .rig-arm-l {
      transform-box: view-box;
      transform-origin: 39px 99px;
      animation: mascot-pelanggan_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-arm-r, .mascot-container-pelanggan .rig-arm-r {
      transform-box: view-box;
      transform-origin: 200px 97px;
      animation: mascot-pelanggan_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pelanggan .rig-prop, .mascot-container-pelanggan .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pelanggan_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-pelanggan .led-1, .mascot-container-pelanggan .led-1 { animation: mascot-pelanggan_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-pelanggan .led-2, .mascot-container-pelanggan .led-2 { animation: mascot-pelanggan_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-pelanggan .led-3, .mascot-container-pelanggan .led-3 { animation: mascot-pelanggan_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-pelanggan_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-pelanggan_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-pelanggan_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-pelanggan_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-pelanggan_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        33% { transform: translateY(-5px) rotate(2deg); }
        66% { transform: translateY(-4px) rotate(-2deg); }
      }
      @keyframes mascot-pelanggan_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(8deg) translateY(-2px); }
        66% { transform: rotate(-6deg); }
      }
      @keyframes mascot-pelanggan_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(6deg); }
        66% { transform: rotate(-8deg) translateY(-2px); }
      }
      @keyframes mascot-pelanggan_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(-9deg); }
        66% { transform: rotate(7deg); }
      }
      @keyframes mascot-pelanggan_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(7deg); }
        66% { transform: rotate(-9deg); }
      }
      @keyframes mascot-pelanggan_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(-2px, 1px) scaleY(1); }
        48% { transform: translate(0px, 0px) scaleY(0.1); }
        75% { transform: translate(2px, 1px) scaleY(1); }
      }
      @keyframes mascot-pelanggan_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        33% { transform: scale(1.15, 1.25); }
        66% { transform: scale(0.95, 0.9); }
      }
      @keyframes mascot-pelanggan_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(10deg); }
      }
      @keyframes mascot-pelanggan_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-12deg); }
      }
      /* Mascot: percaya-diri (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-percaya-diri .mascot-svg,
.mascot-container-percaya-diri .mascot-svg,
.mascot-percaya-diri .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

    @keyframes mascot-percaya-diri_eyesAnim { 0%, 100% { transform: none; } }
/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-percaya-diri .rig-torso, .mascot-container-percaya-diri .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-percaya-diri_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-leg-l, .mascot-container-percaya-diri .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-percaya-diri_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-leg-r, .mascot-container-percaya-diri .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-percaya-diri_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-antenna-l, .mascot-container-percaya-diri .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-percaya-diri_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-antenna-r, .mascot-container-percaya-diri .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-percaya-diri_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-brows, .mascot-container-percaya-diri .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-percaya-diri_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-eyes, .mascot-container-percaya-diri .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-percaya-diri_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-glasses, .mascot-container-percaya-diri .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-percaya-diri_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-mouth, .mascot-container-percaya-diri .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-percaya-diri_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-arm-l, .mascot-container-percaya-diri .rig-arm-l {
      transform-box: view-box;
      transform-origin: 49px 105px;
      animation: mascot-percaya-diri_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-arm-r, .mascot-container-percaya-diri .rig-arm-r {
      transform-box: view-box;
      transform-origin: 203px 93px;
      animation: mascot-percaya-diri_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-percaya-diri .rig-prop, .mascot-container-percaya-diri .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-percaya-diri_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-percaya-diri .led-1, .mascot-container-percaya-diri .led-1 { animation: mascot-percaya-diri_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-percaya-diri .led-2, .mascot-container-percaya-diri .led-2 { animation: mascot-percaya-diri_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-percaya-diri .led-3, .mascot-container-percaya-diri .led-3 { animation: mascot-percaya-diri_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-percaya-diri_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-percaya-diri_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-percaya-diri_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-percaya-diri_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-percaya-diri_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg) scale(1); }
        45% { transform: translateY(-6px) rotate(1.5deg) scale(1.02); }
      }
      @keyframes mascot-percaya-diri_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(6deg) translateY(-2px); }
      }
      @keyframes mascot-percaya-diri_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-6deg) translateY(-2px); }
      }
      @keyframes mascot-percaya-diri_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-7deg); }
      }
      @keyframes mascot-percaya-diri_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(9deg); }
      }
      @keyframes mascot-percaya-diri_glassesAnim {
        0%, 100% { transform: translateY(0px); }
        45% { transform: translateY(-2px); }
      }
      @keyframes mascot-percaya-diri_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        45% { transform: scale(1.18, 1.15) rotate(-3deg); }
      }
      @keyframes mascot-percaya-diri_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-8deg); }
      }
      @keyframes mascot-percaya-diri_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(-12deg); }
      }
      @keyframes mascot-percaya-diri_propAnim {
        0%, 100% { transform: scale(0.8) rotate(0deg); opacity: 0.6; }
        45% { transform: scale(1.3) rotate(25deg); opacity: 1; }
      }
      /* Mascot: pusing (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-pusing .mascot-svg,
.mascot-container-pusing .mascot-svg,
.mascot-pusing .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-pusing .rig-torso, .mascot-container-pusing .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-pusing_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-leg-l, .mascot-container-pusing .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-pusing_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-leg-r, .mascot-container-pusing .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-pusing_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-antenna-l, .mascot-container-pusing .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-pusing_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-antenna-r, .mascot-container-pusing .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-pusing_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-brows, .mascot-container-pusing .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-eyes, .mascot-container-pusing .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-glasses, .mascot-container-pusing .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-mouth, .mascot-container-pusing .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-arm-l, .mascot-container-pusing .rig-arm-l {
      transform-box: view-box;
      transform-origin: 39px 103px;
      animation: mascot-pusing_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-arm-r, .mascot-container-pusing .rig-arm-r {
      transform-box: view-box;
      transform-origin: 201px 102px;
      animation: mascot-pusing_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-pusing .rig-prop, .mascot-container-pusing .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-pusing_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-pusing .led-1, .mascot-container-pusing .led-1 { animation: mascot-pusing_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-pusing .led-2, .mascot-container-pusing .led-2 { animation: mascot-pusing_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-pusing .led-3, .mascot-container-pusing .led-3 { animation: mascot-pusing_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-pusing_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #F59E0B; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-pusing_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-pusing_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-pusing_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-pusing_torsoAnim {
        0%, 100% { transform: translate(0px, 0px) rotate(0deg); }
        25% { transform: translate(-4px, 2px) rotate(-3.5deg); }
        50% { transform: translate(0px, 4px) rotate(0deg); }
        75% { transform: translate(4px, 2px) rotate(3.5deg); }
      }
      @keyframes mascot-pusing_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(8deg) translateY(-2px); }
        50% { transform: rotate(-3deg); }
        75% { transform: rotate(-8deg) translateY(-1px); }
      }
      @keyframes mascot-pusing_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(8deg) translateY(-1px); }
        50% { transform: rotate(3deg); }
        75% { transform: rotate(-8deg) translateY(-2px); }
      }
      @keyframes mascot-pusing_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-14deg); }
        50% { transform: rotate(6deg); }
        75% { transform: rotate(-10deg); }
      }
      @keyframes mascot-pusing_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(10deg); }
        50% { transform: rotate(-6deg); }
        75% { transform: rotate(14deg); }
      }
      @keyframes mascot-pusing_eyesAnim {
        0%, 100% { transform: translate(0px, -2.5px) scale(1, 1); }
        25% { transform: translate(2.5px, 0px) scale(1.06, 0.94); }
        50% { transform: translate(0px, 2.5px) scale(0.94, 1.06); }
        75% { transform: translate(-2.5px, 0px) scale(1.06, 0.94); }
      }
      @keyframes mascot-pusing_mouthAnim {
        0%, 100% { transform: translate(0px, 0px) scale(1, 1); }
        25% { transform: translate(-2px, 1px) scale(1.08, 0.85); }
        50% { transform: translate(0px, 2px) scale(0.92, 1.2); }
        75% { transform: translate(2px, 1px) scale(1.08, 0.85); }
      }
      @keyframes mascot-pusing_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(6deg) translateY(1px); }
        50% { transform: rotate(-4deg); }
        75% { transform: rotate(5deg) translateY(1px); }
      }
      @keyframes mascot-pusing_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        25% { transform: rotate(-5deg) translateY(1px); }
        50% { transform: rotate(4deg); }
        75% { transform: rotate(-6deg) translateY(1px); }
      }
      .mascot-pusing .rig-prop, .mascot-container-pusing .rig-prop {
        transform-box: view-box;
        transform-origin: 121.5px 43px;
        animation: mascot-pusing_propAnim 3s linear infinite;
      }
      .mascot-pusing .rig-prop path, .mascot-container-pusing .rig-prop path {
        transform-box: fill-box;
        transform-origin: center center;
        animation: mascot-pusing_starSelfSpin 3s linear infinite;
      }
      @keyframes mascot-pusing_propAnim {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
      }
      @keyframes mascot-pusing_starSelfSpin {
        0% { transform: rotate(0deg) scale(1); }
        50% { transform: rotate(-180deg) scale(1.12); }
        100% { transform: rotate(-360deg) scale(1); }
      }
      /* Mascot: rekomendasi (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-rekomendasi .mascot-svg,
.mascot-container-rekomendasi .mascot-svg,
.mascot-rekomendasi .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-rekomendasi .rig-torso, .mascot-container-rekomendasi .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-rekomendasi_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-leg-l, .mascot-container-rekomendasi .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-rekomendasi_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-leg-r, .mascot-container-rekomendasi .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-rekomendasi_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-antenna-l, .mascot-container-rekomendasi .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-rekomendasi_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-antenna-r, .mascot-container-rekomendasi .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-rekomendasi_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-brows, .mascot-container-rekomendasi .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-rekomendasi_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-eyes, .mascot-container-rekomendasi .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-rekomendasi_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-glasses, .mascot-container-rekomendasi .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-rekomendasi_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-mouth, .mascot-container-rekomendasi .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-rekomendasi_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-arm-l, .mascot-container-rekomendasi .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 101px;
      animation: mascot-rekomendasi_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-arm-r, .mascot-container-rekomendasi .rig-arm-r {
      transform-box: view-box;
      transform-origin: 200px 92px;
      animation: mascot-rekomendasi_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-rekomendasi .rig-prop, .mascot-container-rekomendasi .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-rekomendasi_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-rekomendasi .led-1, .mascot-container-rekomendasi .led-1 { animation: mascot-rekomendasi_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-rekomendasi .led-2, .mascot-container-rekomendasi .led-2 { animation: mascot-rekomendasi_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-rekomendasi .led-3, .mascot-container-rekomendasi .led-3 { animation: mascot-rekomendasi_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-rekomendasi_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-rekomendasi_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-rekomendasi_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-rekomendasi_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-rekomendasi_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        35% { transform: translateY(-7px) rotate(-1.5deg); }
        70% { transform: translateY(-2px) rotate(1deg); }
      }
      @keyframes mascot-rekomendasi_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-8deg) translateY(-2px); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-rekomendasi_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-5deg); }
        70% { transform: rotate(8deg) translateY(-2px); }
      }
      @keyframes mascot-rekomendasi_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-10deg); }
        70% { transform: rotate(5deg); }
      }
      @keyframes mascot-rekomendasi_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(10deg); }
        70% { transform: rotate(-5deg); }
      }
      @keyframes mascot-rekomendasi_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(-3px, -2px) scaleY(1); }
        48% { transform: translate(-2px, -1px) scaleY(0.1); }
        75% { transform: translate(2px, 1px) scaleY(1); }
      }
      @keyframes mascot-rekomendasi_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        25% { transform: scale(1.12, 1.25); }
        50% { transform: scale(0.92, 0.85); }
        75% { transform: scale(1.15, 1.3); }
      }
      @keyframes mascot-rekomendasi_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(14deg); }
        70% { transform: rotate(-5deg); }
      }
      @keyframes mascot-rekomendasi_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-8deg); }
      }
      @keyframes mascot-rekomendasi_propAnim {
        0%, 100% { transform: scale(0.9) translateY(0px); opacity: 0.7; }
        35% { transform: scale(1.18) translateY(-4px); opacity: 1; }
        70% { transform: scale(0.95) translateY(-1px); opacity: 0.85; }
      }
      /* Mascot: sales-marketing (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-sales-marketing .mascot-svg,
.mascot-container-sales-marketing .mascot-svg,
.mascot-sales-marketing .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-sales-marketing .rig-torso, .mascot-container-sales-marketing .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-sales-marketing_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-leg-l, .mascot-container-sales-marketing .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-sales-marketing_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-leg-r, .mascot-container-sales-marketing .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-sales-marketing_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-antenna-l, .mascot-container-sales-marketing .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-sales-marketing_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-antenna-r, .mascot-container-sales-marketing .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-sales-marketing_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-brows, .mascot-container-sales-marketing .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sales-marketing_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-eyes, .mascot-container-sales-marketing .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sales-marketing_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-glasses, .mascot-container-sales-marketing .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sales-marketing_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-mouth, .mascot-container-sales-marketing .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sales-marketing_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-arm-l, .mascot-container-sales-marketing .rig-arm-l {
      transform-box: view-box;
      transform-origin: 34px 83px;
      animation: mascot-sales-marketing_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-arm-r, .mascot-container-sales-marketing .rig-arm-r {
      transform-box: view-box;
      transform-origin: 198px 114px;
      animation: mascot-sales-marketing_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sales-marketing .rig-prop, .mascot-container-sales-marketing .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sales-marketing_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-sales-marketing .led-1, .mascot-container-sales-marketing .led-1 { animation: mascot-sales-marketing_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-sales-marketing .led-2, .mascot-container-sales-marketing .led-2 { animation: mascot-sales-marketing_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-sales-marketing .led-3, .mascot-container-sales-marketing .led-3 { animation: mascot-sales-marketing_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-sales-marketing_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-sales-marketing_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-sales-marketing_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-sales-marketing_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-sales-marketing_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        30% { transform: translateY(-6px) rotate(-2deg); }
        65% { transform: translateY(-3px) rotate(1.5deg); }
      }
      @keyframes mascot-sales-marketing_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(8deg) translateY(-2px); }
        65% { transform: rotate(-6deg); }
      }
      @keyframes mascot-sales-marketing_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(6deg); }
        65% { transform: rotate(-8deg) translateY(-2px); }
      }
      @keyframes mascot-sales-marketing_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-10deg); }
        65% { transform: rotate(6deg); }
      }
      @keyframes mascot-sales-marketing_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(10deg); }
        65% { transform: rotate(-6deg); }
      }
      @keyframes mascot-sales-marketing_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(2px, -1px) scaleY(1.05); }
        48% { transform: translate(1px, 0px) scaleY(0.1); }
      }
      @keyframes mascot-sales-marketing_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        20% { transform: scale(1.18, 1.35); }
        45% { transform: scale(0.9, 0.82); }
        70% { transform: scale(1.2, 1.35); }
      }
      @keyframes mascot-sales-marketing_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(10deg); }
      }
      @keyframes mascot-sales-marketing_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-16deg); }
        65% { transform: rotate(6deg); }
      }
      /* Mascot: security (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-security .mascot-svg,
.mascot-container-security .mascot-svg,
.mascot-security .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-security .rig-torso, .mascot-container-security .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-security_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-leg-l, .mascot-container-security .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-security_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-leg-r, .mascot-container-security .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-security_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-antenna-l, .mascot-container-security .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-security_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-antenna-r, .mascot-container-security .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-security_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-brows, .mascot-container-security .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-security_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-eyes, .mascot-container-security .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-security_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-glasses, .mascot-container-security .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-security_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-mouth, .mascot-container-security .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-security_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-arm-l, .mascot-container-security .rig-arm-l {
      transform-box: view-box;
      transform-origin: 48px 94px;
      animation: mascot-security_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-arm-r, .mascot-container-security .rig-arm-r {
      transform-box: view-box;
      transform-origin: 183px 98px;
      animation: mascot-security_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-security .rig-prop, .mascot-container-security .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-security_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-security .led-1, .mascot-container-security .led-1 { animation: mascot-security_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-security .led-2, .mascot-container-security .led-2 { animation: mascot-security_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-security .led-3, .mascot-container-security .led-3 { animation: mascot-security_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-security_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #38BDF8; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-security_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-security_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-security_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-security_torsoAnim {
        0%, 100% { transform: translateY(0px) scale(1); }
        50% { transform: translateY(-5px) scale(1.015); }
      }
      @keyframes mascot-security_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(6deg) translateY(-2px); }
      }
      @keyframes mascot-security_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-6deg) translateY(-2px); }
      }
      @keyframes mascot-security_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-7deg); }
      }
      @keyframes mascot-security_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(7deg); }
      }
      @keyframes mascot-security_browAnim {
        0%, 100% { transform: translateY(0px); }
        50% { transform: translateY(-2px); }
      }
      @keyframes mascot-security_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(-2px, 0px) scaleY(1); }
        48% { transform: translate(0px, 0px) scaleY(0.1); }
        75% { transform: translate(2px, 0px) scaleY(1); }
      }
      @keyframes mascot-security_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        50% { transform: scale(1.15, 1.2); }
      }
      @keyframes mascot-security_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        45% { transform: rotate(10deg); }
      }
      @keyframes mascot-security_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-8deg) translateY(-2px); }
      }
      /* Mascot: sedih (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-sedih .mascot-svg,
.mascot-container-sedih .mascot-svg,
.mascot-sedih .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-sedih .rig-torso, .mascot-container-sedih .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-sedih_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-leg-l, .mascot-container-sedih .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-sedih_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-leg-r, .mascot-container-sedih .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-sedih_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-antenna-l, .mascot-container-sedih .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-sedih_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-antenna-r, .mascot-container-sedih .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-sedih_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-brows, .mascot-container-sedih .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sedih_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-eyes, .mascot-container-sedih .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sedih_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-glasses, .mascot-container-sedih .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sedih_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-mouth, .mascot-container-sedih .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sedih_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-arm-l, .mascot-container-sedih .rig-arm-l {
      transform-box: view-box;
      transform-origin: 50px 96px;
      animation: mascot-sedih_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-arm-r, .mascot-container-sedih .rig-arm-r {
      transform-box: view-box;
      transform-origin: 190px 96px;
      animation: mascot-sedih_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-sedih .rig-prop, .mascot-container-sedih .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-sedih_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-sedih .led-1, .mascot-container-sedih .led-1 { animation: mascot-sedih_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-sedih .led-2, .mascot-container-sedih .led-2 { animation: mascot-sedih_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-sedih .led-3, .mascot-container-sedih .led-3 { animation: mascot-sedih_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-sedih_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #38BDF8; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-sedih_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-sedih_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-sedih_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-sedih_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg) scale(1, 1); }
        50% { transform: translateY(5px) rotate(-1.5deg) scale(1.02, 0.97); }
      }
      @keyframes mascot-sedih_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-5deg) translateY(-2px); }
      }
      @keyframes mascot-sedih_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(5deg) translateY(-2px); }
      }
      @keyframes mascot-sedih_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-14deg); }
      }
      @keyframes mascot-sedih_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(14deg); }
      }
      @keyframes mascot-sedih_browAnim {
        0%, 100% { transform: translateY(0px); }
        50% { transform: translateY(2px) rotate(-2deg); }
      }
      @keyframes mascot-sedih_eyesAnim {
        0%, 44%, 54%, 100% { transform: translateY(0px) scaleY(1); }
        50% { transform: translateY(2px) scaleY(0.2); }
      }
      @keyframes mascot-sedih_mouthAnim {
        0%, 100% { transform: translateY(0px) scale(1, 1); }
        35% { transform: translateY(2px) scale(1.12, 1.25); }
        70% { transform: translateY(1px) scale(0.92, 0.9); }
      }
      @keyframes mascot-sedih_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-8deg); }
      }
      @keyframes mascot-sedih_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(8deg); }
      }
      @keyframes mascot-sedih_propAnim {
        0% { transform: translateY(-2px); opacity: 0.2; }
        50% { transform: translateY(6px); opacity: 1; }
        100% { transform: translateY(14px); opacity: 0; }
      }
      /* Mascot: siaga-24jam (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-siaga-24jam .mascot-svg,
.mascot-container-siaga-24jam .mascot-svg,
.mascot-siaga-24jam .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-siaga-24jam .rig-torso, .mascot-container-siaga-24jam .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-siaga-24jam_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-leg-l, .mascot-container-siaga-24jam .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-siaga-24jam_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-leg-r, .mascot-container-siaga-24jam .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-siaga-24jam_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-antenna-l, .mascot-container-siaga-24jam .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-siaga-24jam_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-antenna-r, .mascot-container-siaga-24jam .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-siaga-24jam_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-brows, .mascot-container-siaga-24jam .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-siaga-24jam_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-eyes, .mascot-container-siaga-24jam .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-siaga-24jam_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-glasses, .mascot-container-siaga-24jam .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-siaga-24jam_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-mouth, .mascot-container-siaga-24jam .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-siaga-24jam_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-arm-l, .mascot-container-siaga-24jam .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 100px;
      animation: mascot-siaga-24jam_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-arm-r, .mascot-container-siaga-24jam .rig-arm-r {
      transform-box: view-box;
      transform-origin: 201px 102px;
      animation: mascot-siaga-24jam_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-siaga-24jam .rig-prop, .mascot-container-siaga-24jam .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-siaga-24jam_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-siaga-24jam .led-1, .mascot-container-siaga-24jam .led-1 { animation: mascot-siaga-24jam_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-siaga-24jam .led-2, .mascot-container-siaga-24jam .led-2 { animation: mascot-siaga-24jam_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-siaga-24jam .led-3, .mascot-container-siaga-24jam .led-3 { animation: mascot-siaga-24jam_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-siaga-24jam_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-siaga-24jam_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-siaga-24jam_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-siaga-24jam_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-siaga-24jam_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        50% { transform: translateY(-6px) rotate(1deg); }
      }
      @keyframes mascot-siaga-24jam_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(6deg) translateY(-2px); }
      }
      @keyframes mascot-siaga-24jam_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-6deg) translateY(-2px); }
      }
      @keyframes mascot-siaga-24jam_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-8deg); }
      }
      @keyframes mascot-siaga-24jam_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(8deg); }
      }
      @keyframes mascot-siaga-24jam_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(-2px, 1px) scaleY(1); }
        48% { transform: translate(0px, 0px) scaleY(0.1); }
        75% { transform: translate(2px, -1px) scaleY(1); }
      }
      @keyframes mascot-siaga-24jam_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        35% { transform: scale(1.15, 1.2); }
        70% { transform: scale(0.9, 0.85); }
      }
      @keyframes mascot-siaga-24jam_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-12deg); }
      }
      @keyframes mascot-siaga-24jam_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(8deg); }
      }
      @keyframes mascot-siaga-24jam_propAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        50% { transform: translateY(-5px) rotate(8deg); }
      }
      /* Mascot: surveyor (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-surveyor .mascot-svg,
.mascot-container-surveyor .mascot-svg,
.mascot-surveyor .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-surveyor .rig-torso, .mascot-container-surveyor .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-surveyor_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-leg-l, .mascot-container-surveyor .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-surveyor_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-leg-r, .mascot-container-surveyor .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-surveyor_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-antenna-l, .mascot-container-surveyor .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-surveyor_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-antenna-r, .mascot-container-surveyor .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-surveyor_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-brows, .mascot-container-surveyor .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-surveyor_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-eyes, .mascot-container-surveyor .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-surveyor_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-glasses, .mascot-container-surveyor .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-surveyor_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-mouth, .mascot-container-surveyor .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-surveyor_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-arm-l, .mascot-container-surveyor .rig-arm-l {
      transform-box: view-box;
      transform-origin: 40px 93px;
      animation: mascot-surveyor_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-arm-r, .mascot-container-surveyor .rig-arm-r {
      transform-box: view-box;
      transform-origin: 204px 99px;
      animation: mascot-surveyor_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-surveyor .rig-prop, .mascot-container-surveyor .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-surveyor_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-surveyor .led-1, .mascot-container-surveyor .led-1 { animation: mascot-surveyor_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-surveyor .led-2, .mascot-container-surveyor .led-2 { animation: mascot-surveyor_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-surveyor .led-3, .mascot-container-surveyor .led-3 { animation: mascot-surveyor_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-surveyor_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-surveyor_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-surveyor_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-surveyor_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-surveyor_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        35% { transform: translateY(-5px) rotate(-1.5deg); }
        70% { transform: translateY(-3px) rotate(1.5deg); }
      }
      @keyframes mascot-surveyor_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-7deg) translateY(-2px); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-surveyor_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-5deg); }
        70% { transform: rotate(7deg) translateY(-2px); }
      }
      @keyframes mascot-surveyor_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-8deg); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-surveyor_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(8deg); }
        70% { transform: rotate(-6deg); }
      }
      @keyframes mascot-surveyor_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(-3px, 1px) scaleY(1); }
        48% { transform: translate(0px, 0px) scaleY(0.1); }
        75% { transform: translate(3px, -2px) scaleY(1); }
      }
      @keyframes mascot-surveyor_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        35% { transform: scale(1.15, 1.3); }
        70% { transform: scale(0.95, 0.9); }
      }
      @keyframes mascot-surveyor_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(8deg); }
      }
      @keyframes mascot-surveyor_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        40% { transform: rotate(-14deg); }
        75% { transform: rotate(5deg); }
      }
      @keyframes mascot-surveyor_propAnim {
        0%, 100% { transform: translateY(0px) scale(1); }
        50% { transform: translateY(-7px) scale(1.08); }
      }
      /* Mascot: takut (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-takut .mascot-svg,
.mascot-container-takut .mascot-svg,
.mascot-takut .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-takut .rig-torso, .mascot-container-takut .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-takut_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-leg-l, .mascot-container-takut .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-takut_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-leg-r, .mascot-container-takut .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-takut_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-antenna-l, .mascot-container-takut .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-takut_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-antenna-r, .mascot-container-takut .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-takut_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-brows, .mascot-container-takut .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-takut_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-eyes, .mascot-container-takut .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-takut_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-glasses, .mascot-container-takut .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-takut_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-mouth, .mascot-container-takut .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-takut_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-arm-l, .mascot-container-takut .rig-arm-l {
      transform-box: view-box;
      transform-origin: 38px 96px;
      animation: mascot-takut_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-arm-r, .mascot-container-takut .rig-arm-r {
      transform-box: view-box;
      transform-origin: 202px 96px;
      animation: mascot-takut_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-takut .rig-prop, .mascot-container-takut .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-takut_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-takut .led-1, .mascot-container-takut .led-1 { animation: mascot-takut_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-takut .led-2, .mascot-container-takut .led-2 { animation: mascot-takut_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-takut .led-3, .mascot-container-takut .led-3 { animation: mascot-takut_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-takut_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #F59E0B; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-takut_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-takut_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-takut_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-takut_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        25% { transform: translateY(3px) rotate(-1.8deg); }
        50% { transform: translateY(1px) rotate(1.8deg); }
        75% { transform: translateY(4px) rotate(-1.5deg); }
      }
      @keyframes mascot-takut_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        25%, 75% { transform: rotate(-7deg) translateY(-1px); }
        50% { transform: rotate(5deg); }
      }
      @keyframes mascot-takut_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        25%, 75% { transform: rotate(7deg) translateY(-1px); }
        50% { transform: rotate(-5deg); }
      }
      @keyframes mascot-takut_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-14deg); }
        70% { transform: rotate(-6deg); }
      }
      @keyframes mascot-takut_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(14deg); }
        70% { transform: rotate(6deg); }
      }
      @keyframes mascot-takut_browAnim {
        0%, 100% { transform: translateY(0px); }
        50% { transform: translateY(-3px); }
      }
      @keyframes mascot-takut_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scale(1); }
        25% { transform: translate(-3px, 0px) scale(1.06); }
        48% { transform: translate(0px, 0px) scale(1, 0.12); }
        75% { transform: translate(3px, 0px) scale(1.06); }
      }
      @keyframes mascot-takut_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        25% { transform: scale(1.15, 1.3); }
        50% { transform: scale(0.9, 0.85); }
        75% { transform: scale(1.12, 1.25); }
      }
      @keyframes mascot-takut_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-10deg); }
      }
      @keyframes mascot-takut_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(10deg); }
      }
      @keyframes mascot-takut_propAnim {
        0% { transform: translateY(-2px); opacity: 0.2; }
        50% { transform: translateY(5px); opacity: 1; }
        100% { transform: translateY(12px); opacity: 0; }
      }
      /* Mascot: teknisi (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-teknisi .mascot-svg,
.mascot-container-teknisi .mascot-svg,
.mascot-teknisi .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-teknisi .rig-torso, .mascot-container-teknisi .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-teknisi_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-leg-l, .mascot-container-teknisi .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-teknisi_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-leg-r, .mascot-container-teknisi .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-teknisi_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-antenna-l, .mascot-container-teknisi .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-teknisi_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-antenna-r, .mascot-container-teknisi .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-teknisi_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-brows, .mascot-container-teknisi .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-teknisi_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-eyes, .mascot-container-teknisi .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-teknisi_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-glasses, .mascot-container-teknisi .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-teknisi_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-mouth, .mascot-container-teknisi .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-teknisi_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-arm-l, .mascot-container-teknisi .rig-arm-l {
      transform-box: view-box;
      transform-origin: 46px 92px;
      animation: mascot-teknisi_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-arm-r, .mascot-container-teknisi .rig-arm-r {
      transform-box: view-box;
      transform-origin: 202px 93px;
      animation: mascot-teknisi_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-teknisi .rig-prop, .mascot-container-teknisi .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-teknisi_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-teknisi .led-1, .mascot-container-teknisi .led-1 { animation: mascot-teknisi_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-teknisi .led-2, .mascot-container-teknisi .led-2 { animation: mascot-teknisi_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-teknisi .led-3, .mascot-container-teknisi .led-3 { animation: mascot-teknisi_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-teknisi_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-teknisi_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-teknisi_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-teknisi_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-teknisi_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        35% { transform: translateY(-5px) rotate(1.5deg); }
        70% { transform: translateY(-2px) rotate(-1deg); }
      }
      @keyframes mascot-teknisi_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(7deg) translateY(-2px); }
        70% { transform: rotate(-5deg); }
      }
      @keyframes mascot-teknisi_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(5deg); }
        70% { transform: rotate(-7deg) translateY(-2px); }
      }
      @keyframes mascot-teknisi_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(-8deg); }
        70% { transform: rotate(5deg); }
      }
      @keyframes mascot-teknisi_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        35% { transform: rotate(8deg); }
        70% { transform: rotate(-5deg); }
      }
      @keyframes mascot-teknisi_browAnim {
        0%, 100% { transform: translateY(0px); }
        35% { transform: translateY(-2px); }
      }
      @keyframes mascot-teknisi_eyesAnim {
        0%, 44%, 52%, 100% { transform: translate(0px, 0px) scaleY(1); }
        30% { transform: translate(-2px, -1px) scaleY(1); }
        48% { transform: translate(0px, 0px) scaleY(0.1); }
      }
      @keyframes mascot-teknisi_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        35% { transform: scale(1.16, 1.25); }
        70% { transform: scale(0.95, 0.9); }
      }
      @keyframes mascot-teknisi_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-18deg); }
        65% { transform: rotate(10deg); }
      }
      @keyframes mascot-teknisi_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-10deg); }
      }
      /* Mascot: terkejut (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-terkejut .mascot-svg,
.mascot-container-terkejut .mascot-svg,
.mascot-terkejut .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-terkejut .rig-torso, .mascot-container-terkejut .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-terkejut_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-leg-l, .mascot-container-terkejut .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-terkejut_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-leg-r, .mascot-container-terkejut .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-terkejut_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-antenna-l, .mascot-container-terkejut .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-terkejut_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-antenna-r, .mascot-container-terkejut .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-terkejut_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-brows, .mascot-container-terkejut .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-terkejut_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-eyes, .mascot-container-terkejut .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-terkejut_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-glasses, .mascot-container-terkejut .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-terkejut_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-mouth, .mascot-container-terkejut .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-terkejut_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-arm-l, .mascot-container-terkejut .rig-arm-l {
      transform-box: view-box;
      transform-origin: 46px 106px;
      animation: mascot-terkejut_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-arm-r, .mascot-container-terkejut .rig-arm-r {
      transform-box: view-box;
      transform-origin: 194px 106px;
      animation: mascot-terkejut_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-terkejut .rig-prop, .mascot-container-terkejut .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-terkejut_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-terkejut .led-1, .mascot-container-terkejut .led-1 { animation: mascot-terkejut_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-terkejut .led-2, .mascot-container-terkejut .led-2 { animation: mascot-terkejut_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-terkejut .led-3, .mascot-container-terkejut .led-3 { animation: mascot-terkejut_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-terkejut_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #EF4444; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-terkejut_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-terkejut_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-terkejut_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-terkejut_torsoAnim {
        0%, 100% { transform: translateY(0px) scale(1, 1); }
        30% { transform: translateY(-8px) scale(0.97, 1.03); }
        65% { transform: translateY(-2px) scale(1.01, 0.99); }
      }
      @keyframes mascot-terkejut_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(10deg) translateY(-3px); }
        65% { transform: rotate(-4deg); }
      }
      @keyframes mascot-terkejut_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-10deg) translateY(-3px); }
        65% { transform: rotate(4deg); }
      }
      @keyframes mascot-terkejut_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-14deg); }
        65% { transform: rotate(4deg); }
      }
      @keyframes mascot-terkejut_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(14deg); }
        65% { transform: rotate(-4deg); }
      }
      @keyframes mascot-terkejut_eyesAnim {
        0%, 50%, 58%, 100% { transform: scale(1); }
        30% { transform: scale(1.1); }
        54% { transform: scale(1, 0.12); }
      }
      @keyframes mascot-terkejut_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        30% { transform: scale(1.15, 1.25); }
        65% { transform: scale(0.9, 0.85); }
      }
      @keyframes mascot-terkejut_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(14deg); }
        65% { transform: rotate(-4deg); }
      }
      @keyframes mascot-terkejut_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        30% { transform: rotate(-14deg); }
        65% { transform: rotate(4deg); }
      }
      @keyframes mascot-terkejut_propAnim {
        0%, 100% { transform: scale(0.9); opacity: 0.6; }
        30% { transform: scale(1.25); opacity: 1; }
      }
      /* Mascot: tersipu (Scoped from D:\Si Router\Maskot_Bergerak) */
.mascot-tersipu .mascot-svg,
.mascot-container-tersipu .mascot-svg,
.mascot-tersipu .mascot-router-svg {
  display: inline-flex;
  line-height: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow: visible;
}

/* ==========================================================
       SISTEM RIGGING SMOOTH 3 DETIK (MULTI-PART NATURAL MOTION)
       ========================================================== */
    .mascot-tersipu .rig-torso, .mascot-container-tersipu .rig-torso {
      transform-box: view-box;
      transform-origin: 120px 132px;
      animation: mascot-tersipu_torsoAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-leg-l, .mascot-container-tersipu .rig-leg-l {
      transform-box: view-box;
      transform-origin: 93px 130px;
      animation: mascot-tersipu_legLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-leg-r, .mascot-container-tersipu .rig-leg-r {
      transform-box: view-box;
      transform-origin: 147px 130px;
      animation: mascot-tersipu_legRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-antenna-l, .mascot-container-tersipu .rig-antenna-l {
      transform-box: view-box;
      transform-origin: 83px 53px;
      animation: mascot-tersipu_antLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-antenna-r, .mascot-container-tersipu .rig-antenna-r {
      transform-box: view-box;
      transform-origin: 157px 53px;
      animation: mascot-tersipu_antRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-brows, .mascot-container-tersipu .rig-brows {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-tersipu_browAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-eyes, .mascot-container-tersipu .rig-eyes {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-tersipu_eyesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-glasses, .mascot-container-tersipu .rig-glasses {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-tersipu_glassesAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-mouth, .mascot-container-tersipu .rig-mouth {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-tersipu_mouthAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-arm-l, .mascot-container-tersipu .rig-arm-l {
      transform-box: view-box;
      transform-origin: 50px 96px;
      animation: mascot-tersipu_armLAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-arm-r, .mascot-container-tersipu .rig-arm-r {
      transform-box: view-box;
      transform-origin: 190px 96px;
      animation: mascot-tersipu_armRAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }
    .mascot-tersipu .rig-prop, .mascot-container-tersipu .rig-prop {
      transform-box: fill-box;
      transform-origin: center center;
      animation: mascot-tersipu_propAnim 3s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    }

    /* LED Indikator Berdenyut */
    .mascot-tersipu .led-1, .mascot-container-tersipu .led-1 { animation: mascot-tersipu_ledPulse 3s ease-in-out infinite 0s; }
    .mascot-tersipu .led-2, .mascot-container-tersipu .led-2 { animation: mascot-tersipu_ledPulse 3s ease-in-out infinite 0.4s; }
    .mascot-tersipu .led-3, .mascot-container-tersipu .led-3 { animation: mascot-tersipu_ledPulse 3s ease-in-out infinite 0.8s; }
    @keyframes mascot-tersipu_ledPulse {
      0%, 100% { fill: #0F172A; }
      50% { fill: #22C55E; }
    }

    /* Default fallback jika bagian opsional kosong */
    @keyframes mascot-tersipu_browAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-tersipu_glassesAnim { 0%, 100% { transform: none; } }
    @keyframes mascot-tersipu_propAnim { 0%, 100% { transform: none; } }

    /* Keyframes Spesifik Karakter (Siklus 3 Detik Smooth) */
    
      @keyframes mascot-tersipu_torsoAnim {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        33% { transform: translateY(2px) rotate(2.5deg); }
        66% { transform: translateY(2px) rotate(-2.5deg); }
      }
      @keyframes mascot-tersipu_legLAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(-7deg); }
        66% { transform: rotate(5deg); }
      }
      @keyframes mascot-tersipu_legRAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(-5deg); }
        66% { transform: rotate(7deg); }
      }
      @keyframes mascot-tersipu_antLAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(-10deg); }
        66% { transform: rotate(4deg); }
      }
      @keyframes mascot-tersipu_antRAnim {
        0%, 100% { transform: rotate(0deg); }
        33% { transform: rotate(-4deg); }
        66% { transform: rotate(10deg); }
      }
      @keyframes mascot-tersipu_eyesAnim {
        0%, 42%, 50%, 100% { transform: translate(0px, 0px) scaleY(1); }
        25% { transform: translate(-2px, 2px) scaleY(1); }
        46% { transform: translate(0px, 2px) scaleY(0.1); }
        75% { transform: translate(2px, 2px) scaleY(1); }
      }
      @keyframes mascot-tersipu_mouthAnim {
        0%, 100% { transform: scale(1, 1); }
        50% { transform: scale(1.18, 1.2) translateY(-1px); }
      }
      @keyframes mascot-tersipu_armLAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(-7deg); }
      }
      @keyframes mascot-tersipu_armRAnim {
        0%, 100% { transform: rotate(0deg); }
        50% { transform: rotate(7deg); }
      }
