/* towncar-design-html spec v0.2.3 — tokens.md + base.md 자동 추출 (수정 금지) */
/* ===== tokens.md ===== */
:root {
  --tds-version: "0.2.3";

  --tds-static-black: #000000;
  --tds-static-white: #ffffff;
  --tds-primary-general: #0bb53b;
  --tds-secondary-general: #222222;
  --tds-text-general: #171719;
  --tds-text-heavy: #000000;
  --tds-text-neutral: rgba(23, 23, 25, 0.82);
  --tds-text-alternative: rgba(48, 48, 51, 0.55);
  --tds-text-assistive: rgba(81, 81, 87, 0.3);
  --tds-text-disable: rgba(111, 110, 116, 0.22);
  --tds-background-general-general: #ffffff;
  --tds-background-general-alternative: #f8f8f9;
  --tds-background-general-neutral: #f0f0f3;
  --tds-background-general-heavy: #e9e9ed;
  --tds-background-elevated-general: #ffffff;
  --tds-background-elevated-alternative: #f8f8f9;
  --tds-background-elevated-neutral: #f0f0f3;
  --tds-background-elevated-heavy: #e9e9ed;
  --tds-line-general-general: rgba(147, 146, 152, 0.22);
  --tds-line-general-alternative: rgba(164, 163, 171, 0.1);
  --tds-line-general-neutral: rgba(130, 129, 135, 0.22);
  --tds-line-general-heavy: rgba(111, 110, 116, 0.3);
  --tds-line-solid-general: #e9e9ed;
  --tds-line-solid-alternative: #f8f8f9;
  --tds-line-solid-neutral: #dbdbe0;
  --tds-line-solid-heavy: #ccccd2;
  --tds-status-positive: #0059fe;
  --tds-status-cautionary: #fd6106;
  --tds-status-negative: #e41f10;
  --tds-point-general-green: #0bb53b;
  --tds-point-general-yellow: #ffc719;
  --tds-point-general-orange: #fd6106;
  --tds-point-general-red: #ec4337;
  --tds-point-general-pink: #e846cd;
  --tds-point-general-purple: #ad36e3;
  --tds-point-general-violet: #6541f2;
  --tds-point-general-blue: #0059fe;
  --tds-point-general-light-blue: #008aed;
  --tds-point-heavy-green: #0aa336;
  --tds-point-heavy-yellow: #e0aa00;
  --tds-point-heavy-orange: #d74f00;
  --tds-point-heavy-red: #e41f10;
  --tds-point-heavy-pink: #d331b8;
  --tds-point-heavy-purple: #861cb8;
  --tds-point-heavy-violet: #5b37ed;
  --tds-point-heavy-blue: #004ddd;
  --tds-point-heavy-light-blue: #007ad1;
  --tds-point-soft-green: #e1f9e8;
  --tds-point-soft-yellow: #fff8de;
  --tds-point-soft-orange: #ffeee4;
  --tds-point-soft-red: #ffebeb;
  --tds-point-soft-pink: #feecfb;
  --tds-point-soft-purple: #f9edff;
  --tds-point-soft-violet: #f1edff;
  --tds-point-soft-blue: #e9f0ff;
  --tds-point-soft-light-blue: #e9f6ff;
  --tds-inverse-primary: #34cc64;
  --tds-inverse-background: #222222;
  --tds-inverse-text: #fcfcfd;
  --tds-interaction-inactive: #b8b8bf;
  --tds-interaction-disable: rgba(240, 240, 243, 0.82);
  --tds-interaction-read-only: rgba(240, 240, 243, 0.55);
  --tds-fill-general: rgba(111, 110, 116, 0.08);
  --tds-fill-alternative: rgba(111, 110, 116, 0.05);
  --tds-fill-neutral: rgba(204, 204, 210, 0.4);
  --tds-fill-heavy: rgba(81, 81, 87, 0.15);
  --tds-dimmer-general: rgba(23, 23, 25, 0.55);
  --tds-dimmer-alternative: rgba(23, 23, 25, 0.1);

  --tds-opacity-0: 0;
  --tds-opacity-5: 0.05;
  --tds-opacity-8: 0.08;
  --tds-opacity-10: 0.1;
  --tds-opacity-15: 0.15;
  --tds-opacity-22: 0.22;
  --tds-opacity-30: 0.3;
  --tds-opacity-40: 0.4;
  --tds-opacity-50: 0.5;
  --tds-opacity-55: 0.55;
  --tds-opacity-60: 0.6;
  --tds-opacity-75: 0.75;
  --tds-opacity-82: 0.82;
  --tds-opacity-90: 0.9;
  --tds-opacity-94: 0.94;
  --tds-opacity-100: 1;

  --tds-ix-normal-default: 0;
  --tds-ix-normal-hovered: 0.05;
  --tds-ix-normal-focused: 0.08;
  --tds-ix-normal-pressed: 0.12;
  --tds-ix-light-default: 0;
  --tds-ix-light-hovered: 0.04;
  --tds-ix-light-focused: 0.06;
  --tds-ix-light-pressed: 0.09;
  --tds-ix-heavy-default: 0;
  --tds-ix-heavy-hovered: 0.05;
  --tds-ix-heavy-focused: 0.12;
  --tds-ix-heavy-pressed: 0.18;

  --tds-palette-common-black: #000000;
  --tds-palette-common-white: #ffffff;
  --tds-palette-neutral-10: #fcfcfd;
  --tds-palette-neutral-50: #f8f8f9;
  --tds-palette-neutral-100: #f0f0f3;
  --tds-palette-neutral-120: #e9e9ed;
  --tds-palette-neutral-150: #dbdbe0;
  --tds-palette-neutral-180: #ccccd2;
  --tds-palette-neutral-200: #b8b8bf;
  --tds-palette-neutral-250: #a4a3ab;
  --tds-palette-neutral-300: #939298;
  --tds-palette-neutral-400: #828187;
  --tds-palette-neutral-500: #6f6e74;
  --tds-palette-neutral-600: #515157;
  --tds-palette-neutral-700: #303033;
  --tds-palette-neutral-750: #222222;
  --tds-palette-neutral-800: #171719;
  --tds-palette-neutral-900: #0f0f10;
  --tds-palette-green-50: #f7fef9;
  --tds-palette-green-100: #f0fcf3;
  --tds-palette-green-150: #e1f9e8;
  --tds-palette-green-200: #d5f5de;
  --tds-palette-green-250: #c5f1d1;
  --tds-palette-green-300: #abecbd;
  --tds-palette-green-400: #85e7a1;
  --tds-palette-green-500: #34cc64;
  --tds-palette-green-600: #0bb53b;
  --tds-palette-green-650: #0aa336;
  --tds-palette-green-700: #06842b;
  --tds-palette-green-750: #046f24;
  --tds-palette-green-800: #02571d;
  --tds-palette-green-850: #004517;
  --tds-palette-green-900: #00240c;
  --tds-palette-yellow-50: #fffcf6;
  --tds-palette-yellow-100: #fffbee;
  --tds-palette-yellow-150: #fff8de;
  --tds-palette-yellow-200: #fff3cc;
  --tds-palette-yellow-250: #ffeeb2;
  --tds-palette-yellow-300: #ffe894;
  --tds-palette-yellow-400: #ffe180;
  --tds-palette-yellow-500: #ffd962;
  --tds-palette-yellow-550: #ffd245;
  --tds-palette-yellow-600: #ffc719;
  --tds-palette-yellow-700: #f5b900;
  --tds-palette-yellow-750: #e0aa00;
  --tds-palette-yellow-800: #c69600;
  --tds-palette-yellow-900: #ab8202;
  --tds-palette-blue-50: #f7faff;
  --tds-palette-blue-100: #e9f0ff;
  --tds-palette-blue-150: #dbe7ff;
  --tds-palette-blue-200: #ccdeff;
  --tds-palette-blue-250: #b4ceff;
  --tds-palette-blue-300: #8cb4ff;
  --tds-palette-blue-400: #679af9;
  --tds-palette-blue-500: #4886f9;
  --tds-palette-blue-550: #2d73f6;
  --tds-palette-blue-600: #0059fe;
  --tds-palette-blue-700: #004ddd;
  --tds-palette-blue-750: #003fb3;
  --tds-palette-blue-800: #042666;
  --tds-palette-blue-900: #001536;
  --tds-palette-light-blue-50: #f5fbff;
  --tds-palette-light-blue-100: #e9f6ff;
  --tds-palette-light-blue-150: #dcf1fe;
  --tds-palette-light-blue-200: #c2e8ff;
  --tds-palette-light-blue-250: #abdfff;
  --tds-palette-light-blue-300: #8fd4ff;
  --tds-palette-light-blue-400: #69c4fc;
  --tds-palette-light-blue-500: #3aa9f9;
  --tds-palette-light-blue-550: #1e9bf5;
  --tds-palette-light-blue-600: #008aed;
  --tds-palette-light-blue-700: #007ad1;
  --tds-palette-light-blue-800: #004e87;
  --tds-palette-light-blue-850: #003c67;
  --tds-palette-light-blue-900: #002130;
  --tds-palette-red-50: #fff7f7;
  --tds-palette-red-100: #ffebeb;
  --tds-palette-red-150: #ffdede;
  --tds-palette-red-200: #ffcfcf;
  --tds-palette-red-250: #ffb7b7;
  --tds-palette-red-300: #ff9999;
  --tds-palette-red-400: #fc7a7a;
  --tds-palette-red-500: #ec4337;
  --tds-palette-red-600: #e41f10;
  --tds-palette-red-650: #cc1003;
  --tds-palette-red-700: #ab1206;
  --tds-palette-red-750: #860c03;
  --tds-palette-red-800: #690700;
  --tds-palette-red-900: #3b0101;
  --tds-palette-orange-50: #fff7f2;
  --tds-palette-orange-100: #ffeee4;
  --tds-palette-orange-150: #ffe3d3;
  --tds-palette-orange-200: #ffd1b6;
  --tds-palette-orange-250: #ffc29f;
  --tds-palette-orange-300: #ffb082;
  --tds-palette-orange-400: #ff9e66;
  --tds-palette-orange-500: #ff782a;
  --tds-palette-orange-600: #fd6106;
  --tds-palette-orange-700: #d74f00;
  --tds-palette-orange-750: #ad4000;
  --tds-palette-orange-800: #863100;
  --tds-palette-orange-850: #622400;
  --tds-palette-orange-900: #301200;
  --tds-palette-purple-50: #fdf7ff;
  --tds-palette-purple-100: #f9edff;
  --tds-palette-purple-200: #f2d6ff;
  --tds-palette-purple-300: #e9baff;
  --tds-palette-purple-400: #de96ff;
  --tds-palette-purple-450: #d478ff;
  --tds-palette-purple-500: #cb59ff;
  --tds-palette-purple-550: #ba49ed;
  --tds-palette-purple-600: #ad36e3;
  --tds-palette-purple-700: #861cb8;
  --tds-palette-purple-750: #580a7d;
  --tds-palette-purple-800: #440e5d;
  --tds-palette-purple-850: #360b4a;
  --tds-palette-purple-900: #290247;
  --tds-palette-violet-50: #fbfaff;
  --tds-palette-violet-100: #f1edff;
  --tds-palette-violet-150: #dbd3fe;
  --tds-palette-violet-200: #c0b0ff;
  --tds-palette-violet-250: #b3a0ff;
  --tds-palette-violet-300: #9e86fc;
  --tds-palette-violet-400: #7d5ef7;
  --tds-palette-violet-500: #6d4bf6;
  --tds-palette-violet-600: #6541f2;
  --tds-palette-violet-650: #5b37ed;
  --tds-palette-violet-700: #3a16c9;
  --tds-palette-violet-750: #23098f;
  --tds-palette-violet-800: #210e72;
  --tds-palette-violet-900: #11024d;
  --tds-palette-pink-50: #fff3fd;
  --tds-palette-pink-100: #feecfb;
  --tds-palette-pink-150: #fed3f7;
  --tds-palette-pink-200: #ffb8f3;
  --tds-palette-pink-250: #ffa8f0;
  --tds-palette-pink-300: #ff94ed;
  --tds-palette-pink-400: #fa73e3;
  --tds-palette-pink-500: #f553da;
  --tds-palette-pink-600: #e846cd;
  --tds-palette-pink-650: #d331b8;
  --tds-palette-pink-700: #a81690;
  --tds-palette-pink-750: #730560;
  --tds-palette-pink-800: #3d0133;
  --tds-palette-pink-900: #280322;
}

.tds-display1-extra-bold {
  font-weight: 800;
  font-size: 52px;
  line-height: 72px;
  letter-spacing: -0.03em;
}
.tds-display1-bold {
  font-weight: 700;
  font-size: 52px;
  line-height: 72px;
  letter-spacing: -0.03em;
}
.tds-display1-medium {
  font-weight: 600;
  font-size: 52px;
  line-height: 72px;
  letter-spacing: -0.03em;
}
.tds-display1-regular {
  font-weight: 500;
  font-size: 52px;
  line-height: 72px;
  letter-spacing: -0.03em;
}
.tds-display2-bold {
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  letter-spacing: -0.03em;
}
.tds-display2-medium {
  font-weight: 500;
  font-size: 40px;
  line-height: 52px;
  letter-spacing: -0.03em;
}
.tds-display2-regular {
  font-weight: 400;
  font-size: 40px;
  line-height: 52px;
  letter-spacing: -0.03em;
}
.tds-title1-bold {
  font-weight: 700;
  font-size: 36px;
  line-height: 48px;
  letter-spacing: -0.028em;
}
.tds-title1-medium {
  font-weight: 500;
  font-size: 36px;
  line-height: 48px;
  letter-spacing: -0.028em;
}
.tds-title1-regular {
  font-weight: 400;
  font-size: 36px;
  line-height: 48px;
  letter-spacing: -0.028em;
}
.tds-title2-bold {
  font-weight: 700;
  font-size: 28px;
  line-height: 38px;
  letter-spacing: -0.0236em;
}
.tds-title2-medium {
  font-weight: 500;
  font-size: 28px;
  line-height: 38px;
  letter-spacing: -0.0236em;
}
.tds-title2-regular {
  font-weight: 400;
  font-size: 28px;
  line-height: 38px;
  letter-spacing: -0.0236em;
}
.tds-title3-extra-bold {
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.023em;
}
.tds-title3-bold {
  font-weight: 600;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.023em;
}
.tds-title3-medium {
  font-weight: 500;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.023em;
}
.tds-title3-regular {
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.023em;
}
.tds-heading1-extra-bold {
  font-weight: 700;
  font-size: 22px;
  line-height: 30px;
  letter-spacing: -0.0194em;
}
.tds-heading1-bold {
  font-weight: 600;
  font-size: 22px;
  line-height: 30px;
  letter-spacing: -0.0194em;
}
.tds-heading1-medium {
  font-weight: 500;
  font-size: 22px;
  line-height: 30px;
  letter-spacing: -0.0194em;
}
.tds-heading1-regular {
  font-weight: 400;
  font-size: 22px;
  line-height: 30px;
  letter-spacing: -0.0194em;
}
.tds-heading2-extra-bold {
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.012em;
}
.tds-heading2-bold {
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.012em;
}
.tds-heading2-medium {
  font-weight: 500;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.012em;
}
.tds-heading2-regular {
  font-weight: 400;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -0.012em;
}
.tds-headline1-extra-bold {
  font-weight: 700;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: -0.0002em;
}
.tds-headline1-bold {
  font-weight: 600;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: -0.0002em;
}
.tds-headline1-medium {
  font-weight: 500;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: -0.0002em;
}
.tds-headline1-regular {
  font-weight: 400;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: -0.0002em;
}
.tds-headline2-bold {
  font-weight: 600;
  font-size: 17px;
  line-height: 24px;
  letter-spacing: 0em;
}
.tds-headline2-regular {
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
  letter-spacing: 0em;
}
.tds-body1-normal-bold {
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.0057em;
}
.tds-body1-normal-medium {
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.0057em;
}
.tds-body1-normal-regular {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.0057em;
}
.tds-body1-reading-bold {
  font-weight: 600;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0.0057em;
}
.tds-body1-reading-medium {
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0.0057em;
}
.tds-body1-reading-regular {
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0.0057em;
}
.tds-body2-normal-bold {
  font-weight: 600;
  font-size: 15px;
  line-height: 22px;
  letter-spacing: 0.0096em;
}
.tds-body2-normal-medium {
  font-weight: 500;
  font-size: 15px;
  line-height: 22px;
  letter-spacing: 0.0096em;
}
.tds-body2-normal-regular {
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;
  letter-spacing: 0.0096em;
}
.tds-body2-reading-bold {
  font-weight: 600;
  font-size: 15px;
  line-height: 24px;
  letter-spacing: 0.0096em;
}
.tds-body2-reading-medium {
  font-weight: 500;
  font-size: 15px;
  line-height: 24px;
  letter-spacing: 0.0096em;
}
.tds-body2-reading-regular {
  font-weight: 400;
  font-size: 15px;
  line-height: 24px;
  letter-spacing: 0.0096em;
}
.tds-label1-normal-bold {
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.0145em;
}
.tds-label1-normal-medium {
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.0145em;
}
.tds-label1-normal-regular {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.0145em;
}
.tds-label1-reading-bold {
  font-weight: 600;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.0145em;
}
.tds-label1-reading-medium {
  font-weight: 500;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.0145em;
}
.tds-label1-reading-regular {
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: 0.0145em;
}
.tds-label2-bold {
  font-weight: 600;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.0194em;
}
.tds-label2-medium {
  font-weight: 500;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.0194em;
}
.tds-label2-regular {
  font-weight: 400;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.0194em;
}
.tds-caption1-bold {
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.0252em;
}
.tds-caption1-medium {
  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.0252em;
}
.tds-caption1-regular {
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.0252em;
}
.tds-caption2-bold {
  font-weight: 600;
  font-size: 11px;
  line-height: 14px;
  letter-spacing: 0.0311em;
}
.tds-caption2-medium {
  font-weight: 500;
  font-size: 11px;
  line-height: 14px;
  letter-spacing: 0.0311em;
}
.tds-caption2-regular {
  font-weight: 400;
  font-size: 11px;
  line-height: 14px;
  letter-spacing: 0.0311em;
}
.tds-caption3-bold {
  font-weight: 600;
  font-size: 10px;
  line-height: 12px;
  letter-spacing: 0.034em;
}
.tds-caption3-medium {
  font-weight: 500;
  font-size: 10px;
  line-height: 12px;
  letter-spacing: 0.034em;
}
.tds-caption3-regular {
  font-weight: 400;
  font-size: 10px;
  line-height: 12px;
  letter-spacing: 0.034em;
}

:root {
  --tds-font-family: Pretendard, Roboto, sans-serif;
}

/* ===== base.md ===== */
html,
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: Pretendard, Roboto, sans-serif;
}
button,
input,
select,
textarea,
optgroup {
  font-family: inherit;
}

.tdsx-btn {
  position: relative;
  isolation: isolate;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}
.tdsx-btn::after {
  content: "";
  position: absolute;
  inset: var(--ix-inset-y, 0) var(--ix-inset-x, 0);
  border-radius: var(--ix-radius, inherit);
  pointer-events: none;
  background-color: var(--ix-color, transparent);
  opacity: var(--ix-default, 0);
}
.tdsx-btn:hover::after {
  opacity: var(--ix-hovered, 0);
}
.tdsx-btn:focus-visible::after {
  opacity: var(--ix-focused, 0);
}
.tdsx-btn:active::after {
  opacity: var(--ix-pressed, 0);
}
input:focus-visible ~ .tdsx-btn::after {
  opacity: var(--ix-focused, 0);
}
.tdsx-btn[data-ix-state="hovered"]::after {
  opacity: var(--ix-hovered, 0);
}
.tdsx-btn[data-ix-state="focused"]::after {
  opacity: var(--ix-focused, 0);
}
.tdsx-btn[data-ix-state="pressed"]::after {
  opacity: var(--ix-pressed, 0);
}
.tdsx-btn:disabled::after {
  opacity: 0;
}
.tdsx-btn:disabled {
  cursor: not-allowed;
}
.tdsx-btn > * {
  position: relative;
  z-index: 1;
}

.iconSlot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.iconSlot > svg {
  display: block;
  width: 100%;
  height: 100%;
}
