:root {
  --color-primitive-blue-50: #e8f1fe;
  --color-primitive-blue-100: #d9e6ff;
  --color-primitive-blue-200: #c5d7fb;
  --color-primitive-blue-300: #9db7f9;
  --color-primitive-blue-700: #264af4;
  --color-primitive-blue-800: #0031d8;
  --color-primitive-blue-900: #0017c1;
  --color-primitive-blue-1000: #00118f;
  --color-primitive-blue-1100: #000071;
  --color-primitive-blue-1200: #000060;

  --color-primitive-light-blue-50: #f0f9ff;
  --color-primitive-light-blue-800: #0066be;
  --color-primitive-light-blue-900: #0055ad;
  --color-primitive-light-blue-1000: #00428c;

  --color-primitive-cyan-50: #e9f7f9;
  --color-primitive-cyan-100: #c8f8ff;
  --color-primitive-cyan-400: #2bc8e4;
  --color-primitive-cyan-900: #006f83;
  --color-primitive-cyan-1000: #006173;
  --color-primitive-cyan-1200: #003741;

  --color-primitive-green-50: #e6f5ec;
  --color-primitive-green-200: #9bd4b5;
  --color-primitive-green-300: #71c598;
  --color-primitive-green-600: #259d63;
  --color-primitive-green-800: #197a4b;
  --color-primitive-green-900: #115a36;
  --color-primitive-green-1000: #0c472a;
  --color-primitive-green-1200: #032213;

  --color-primitive-lime-50: #ebfad9;
  --color-primitive-lime-900: #507500;
  --color-primitive-lime-1000: #3e5a00;

  --color-primitive-yellow-50: #fbf5e0;
  --color-primitive-yellow-200: #ffe380;
  --color-primitive-yellow-300: #ffd43d;
  --color-primitive-yellow-400: #ffc700;
  --color-primitive-yellow-900: #927200;
  --color-primitive-yellow-1000: #806300;
  --color-primitive-yellow-1100: #6e5600;
  --color-primitive-yellow-1200: #604b00;

  --color-primitive-orange-50: #ffeee2;
  --color-primitive-orange-600: #fb5b01;
  --color-primitive-orange-800: #c74700;
  --color-primitive-orange-900: #ac3e00;
  --color-primitive-orange-1000: #8b3200;

  --color-primitive-red-50: #fdeeee;
  --color-primitive-red-200: #ffbbbb;
  --color-primitive-red-300: #ff9696;
  --color-primitive-red-800: #ec0000;
  --color-primitive-red-900: #ce0000;
  --color-primitive-red-1000: #a90000;
  --color-primitive-red-1200: #620000;

  --color-primitive-magenta-50: #f3e5f4;
  --color-primitive-magenta-800: #aa00aa;
  --color-primitive-magenta-900: #8b008b;

  --color-primitive-purple-50: #f1eafa;
  --color-primitive-purple-500: #a565f8;
  --color-primitive-purple-800: #5c10be;

  --color-neutral-white: #ffffff;
  --color-neutral-black: #000000;
  --color-neutral-solid-gray-50: #f2f2f2;
  --color-neutral-solid-gray-100: #e6e6e6;
  --color-neutral-solid-gray-200: #cccccc;
  --color-neutral-solid-gray-300: #b3b3b3;
  --color-neutral-solid-gray-420: #949494;
  --color-neutral-solid-gray-500: #7f7f7f;
  --color-neutral-solid-gray-536: #767676;
  --color-neutral-solid-gray-600: #666666;
  --color-neutral-solid-gray-700: #4d4d4d;
  --color-neutral-solid-gray-800: #333333;
  --color-neutral-solid-gray-900: #1a1a1a;
  --color-neutral-opacity-gray-100: rgba(0, 0, 0, 0.1);

  --color-semantic-success-1: var(--color-primitive-green-600);
  --color-semantic-success-2: var(--color-primitive-green-800);
  --color-semantic-error-1: var(--color-primitive-red-800);
  --color-semantic-error-2: var(--color-primitive-red-900);
  --color-semantic-warning-yellow-2: var(--color-primitive-yellow-900);
  --color-semantic-warning-orange-1: var(--color-primitive-orange-600);
}

:root {
  --font-family-sans: "IBM Plex Sans", "BIZ UDGothic", "Hiragino Sans", sans-serif;
  --font-family-mono: "Fira Code", "Noto Sans Mono", monospace;
}

html {
  scrollbar-gutter: stable;
  font-family: var(--font-family-sans);
}

html:has(:modal) {
  overflow: clip;
  scrollbar-gutter: auto;
}

body:has(:modal) {
  overflow: auto;
  scrollbar-gutter: stable;
}

:where(a):any-link {
  color: var(--color-primitive-blue-1000);
  text-decoration: underline;
  text-decoration-thickness: calc(1 / 16 * 1rem);
  text-underline-offset: calc(3 / 16 * 1rem);
}

:where(a):visited {
  color: var(--color-primitive-magenta-900);
}

@media (hover: hover) {
  :where(a):hover {
    color: var(--color-primitive-blue-900);
    text-decoration-thickness: calc(3 / 16 * 1rem);
  }
}

:where(a):active {
  color: var(--color-primitive-orange-800);
  text-decoration-thickness: calc(1 / 16 * 1rem);
}

:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  border-radius: calc(4 / 16 * 1rem);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

.dads-u-visually-hidden {
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

:where(.dads-u-focus-outline):focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black) !important;
  outline-offset: calc(2 / 16 * 1rem) !important;
  border-radius: calc(4 / 16 * 1rem) !important;
  background-color: var(--color-primitive-yellow-300) !important;
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300) !important;
}

@supports selector(:has(*)) {
  :where(.dads-u-focus-within-outline):focus-visible,
  :where(.dads-u-focus-within-outline):has(:focus-visible) {
    outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black) !important;
    outline-offset: calc(2 / 16 * 1rem) !important;
    border-radius: calc(4 / 16 * 1rem) !important;
    background-color: var(--color-primitive-yellow-300) !important;
    box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300) !important;
  }
}

@supports not selector(:has(*)) {
  :where(.dads-u-focus-within-outline):focus-within {
    outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black) !important;
    outline-offset: calc(2 / 16 * 1rem) !important;
    border-radius: calc(4 / 16 * 1rem) !important;
    background-color: var(--color-primitive-yellow-300) !important;
    box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300) !important;
  }
}

:root {
  --elevation-1: 0 2px 8px 1px rgba(0, 0, 0, 0.1), 0 1px 5px 0 rgba(0, 0, 0, 0.3);
  --elevation-2: 0 2px 12px 2px rgba(0, 0, 0, 0.1), 0 1px 6px 0 rgba(0, 0, 0, 0.3);
}