/* brand — tokens.json 에서 자동 생성. 직접 고치지 말고 _build/specs.py 를 고친 뒤 다시 빌드하세요. */
:root {
  --color-primary: #9555D3;
  --color-secondary: #C35AB8;
  --color-ink: #2A1638;
  --primary-50: #F9F5FF;
  --primary-100: #F1E8FF;
  --primary-200: #E5D3FD;
  --primary-300: #D6B7FD;
  --primary-400: #C490FD;
  --primary-500: #AD6EEE;
  --primary-600: #9353D1;
  --primary-700: #783DAE;
  --primary-800: #5B2988;
  --primary-900: #3F1762;
  --secondary-50: #FFF2FD;
  --secondary-100: #FEE3F9;
  --secondary-200: #FEC9F6;
  --secondary-300: #F9A7EE;
  --secondary-400: #E683DA;
  --secondary-500: #CD64C2;
  --secondary-600: #B149A7;
  --secondary-700: #913489;
  --secondary-800: #702169;
  --secondary-900: #4F114A;
  --logo-p1: #9555D3;
  --logo-p2: #AE56C7;
  --logo-p3: #BD5ABF;
  --logo-p4: #A357CD;
  --logo-p5: #CE5CB5;
  --neutral-0: #FFFFFF;
  --neutral-50: #F8F9FB;
  --neutral-100: #F0F3F6;
  --neutral-200: #E4E6EA;
  --neutral-300: #D0D3D6;
  --neutral-400: #A5A8AB;
  --neutral-500: #7E8084;
  --neutral-600: #616367;
  --neutral-700: #484B4E;
  --neutral-800: #2E3033;
  --neutral-900: #1A1C1F;
  --neutral-950: #0E1012;
  --bg: #FFFFFF;
  --surface: #FFFFFF;
  --surface-2: #F0F3F6;
  --surface-3: #E4E6EA;
  --border: #E4E6EA;
  --border-strong: #7E8084;
  --text: #2A1638;
  --text-2: #484B4E;
  --text-3: #616367;
  --text-inverse: #FFFFFF;
  --brand: #9555D3;
  --brand-2: #C35AB8;
  --brand-3: #C35AB8;
  --brand-soft: #F1E8FF;
  --brand-soft-text: #8948C6;
  --action: #9555D3;
  --action-2: #B64DAB;
  --action-bg: linear-gradient(100deg, #9555D3, #B64DAB);
  --action-hover-bg: linear-gradient(100deg, #834BBA, #A04496);
  --action-active-bg: linear-gradient(100deg, #7442A5, #8E3C85);
  --action-text: #FFFFFF;
  --link: #9555D3;
  --focus: #9555D3;
  --disabled-bg: #F0F3F6;
  --disabled-text: #7E8084;
  --present-bg: #D9FAE3;
  --present-fg: #007E46;
  --present-solid: #14AA63;
  --late-bg: #FEEDD9;
  --late-fg: #956313;
  --late-solid: #C78623;
  --absent-bg: #FEEBEB;
  --absent-fg: #B54952;
  --absent-solid: #EE6570;
  --info-bg: #EDEFFF;
  --info-fg: #6162BD;
  --info-solid: #8688FE;
  --pending-bg: #F2EEF7;
  --pending-fg: #6E6975;
  --pending-solid: #98929F;
  --out-bg: #F0F3F6;
  --out-fg: #484B4E;
  --out-solid: #7E8084;
  --success-bg: var(--present-bg);
  --success-fg: var(--present-fg);
  --success-solid: var(--present-solid);
  --warning-bg: var(--late-bg);
  --warning-fg: var(--late-fg);
  --warning-solid: var(--late-solid);
  --error-bg: var(--absent-bg);
  --error-fg: var(--absent-fg);
  --error-solid: var(--absent-solid);
  --font-body: 'Pretendard Variable', Pretendard, -apple-system, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --font-display: 'Black Han Sans', 'Pretendard Variable', Pretendard, sans-serif;
  --font-numeric: 'Pretendard Variable', Pretendard, sans-serif;
  --font-accent: 'Black Han Sans', 'Pretendard Variable', Pretendard, sans-serif;
  --fs-display: 40px; --lh-display: 1.15; --fw-display: 400; --ff-display: var(--font-display); --tr-display: 0;
  --fs-h1: 33px; --lh-h1: 1.2; --fw-h1: 400; --ff-h1: var(--font-display); --tr-h1: 0;
  --fs-h2: 28px; --lh-h2: 1.25; --fw-h2: 700; --ff-h2: var(--font-body); --tr-h2: 0;
  --fs-h3: 23px; --lh-h3: 1.3; --fw-h3: 700; --ff-h3: var(--font-body); --tr-h3: 0;
  --fs-h4: 19px; --lh-h4: 1.35; --fw-h4: 700; --ff-h4: var(--font-body); --tr-h4: 0;
  --fs-body-l: 18px; --lh-body-l: 1.6; --fw-body-l: 500; --ff-body-l: var(--font-body); --tr-body-l: 0;
  --fs-body: 16px; --lh-body: 1.6; --fw-body: 500; --ff-body: var(--font-body); --tr-body: 0;
  --fs-body-s: 14px; --lh-body-s: 1.5; --fw-body-s: 500; --ff-body-s: var(--font-body); --tr-body-s: 0;
  --fs-label: 14px; --lh-label: 1.4; --fw-label: 600; --ff-label: var(--font-body); --tr-label: 0;
  --fs-caption: 12px; --lh-caption: 1.4; --fw-caption: 500; --ff-caption: var(--font-body); --tr-caption: 0.01em;
  --fs-button: 16px; --lh-button: 1.2; --fw-button: 700; --ff-button: var(--font-body); --tr-button: 0;
  --fs-price: 28px; --lh-price: 1.1; --fw-price: 800; --ff-price: var(--font-numeric); --tr-price: 0;
  --fs-stat: 33px; --lh-stat: 1.05; --fw-stat: 800; --ff-stat: var(--font-numeric); --tr-stat: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 48px;
  --space-10: 64px;
  --space-11: 80px;
  --space-12: 96px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-btn: 10px;
  --radius-pill: 999px;
  --border-w: 0px;
  --shadow-1: none;
  --shadow-inset: none;
  --shadow-frame: 0 18px 40px rgba(26, 28, 31, 0.08);
  --shadow-overlay: 0 24px 64px rgba(26, 28, 31, 0.18);
  --safe-line: rgba(255, 255, 255, 0.55);
  --spec-line: #E5484D; --spec-fill: rgba(229, 72, 77, 0.12);
  --shadow-soft: 0 1px 2px rgba(26, 28, 31, 0.04), 0 6px 20px rgba(26, 28, 31, 0.06);
  --sidebar-w: 200px; --menu-h: 36px; --menu-fs: 14px;
  --card-pad: 20px; --row-h: 48px; --head-h: 36px; --ctl-h: 40px;
  --card-border: 1px solid var(--border); --card-shadow: none;
  --dur-fast: 180ms; --dur-base: 300ms; --dur-slow: 480ms; --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --touch-min: 44px; --kiosk-key: 80px; --icon: 24px;
  --grad-brand: linear-gradient(120deg, #9555D3, #C35AB8);
  color-scheme: light;
}
@media (max-width: 767px) {
  :root {
    --fs-display: 31px;
    --fs-h1: 26px;
    --fs-h2: 24px;
    --fs-h3: 22px;
    --fs-h4: 18px;
    --fs-body-l: 17px;
    --fs-body: 15px;
    --fs-body-s: 13px;
    --fs-label: 13px;
    --fs-caption: 12px;
    --fs-button: 15px;
    --fs-price: 26px;
    --fs-stat: 26px;
  }
}
:root[data-theme="dark"], .theme-dark {
  --bg: #0E1012;
  --surface: #1A1C1F;
  --surface-2: #2E3033;
  --surface-3: #484B4E;
  --border: #2E3033;
  --border-strong: #616367;
  --text: #F8F9FB;
  --text-2: #D0D3D6;
  --text-3: #A5A8AB;
  --text-inverse: #0E1012;
  --link: #F9F5FF;
  --focus: #F9F5FF;
  --action: #9555D3;
  --action-2: #B64DAB;
  --action-bg: linear-gradient(100deg, #9555D3, #B64DAB);
  --action-hover-bg: linear-gradient(100deg, #834BBA, #A04496);
  --action-active-bg: linear-gradient(100deg, #7442A5, #8E3C85);
  --action-text: #FFFFFF;
  --brand-soft: #2E3033;
  --brand-soft-text: #F9F5FF;
  --disabled-bg: #2E3033;
  --disabled-text: #7E8084;
  --present-bg: #0F3620;
  --present-fg: #6DC88F;
  --present-solid: #0FA05C;
  --late-bg: #402804;
  --late-fg: #E0A454;
  --late-solid: #B47815;
  --absent-bg: #472022;
  --absent-fg: #F49194;
  --absent-solid: #D15A63;
  --info-bg: #282A4B;
  --info-fg: #A2A8FC;
  --info-solid: #7679DE;
  --pending-bg: #302B36;
  --pending-fg: #B4AEBC;
  --pending-solid: #898390;
  --out-bg: #2E3033;
  --out-fg: #F0F3F6;
  --out-solid: #A5A8AB;
  color-scheme: dark;
}
@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 1ms; --dur-base: 1ms; --dur-slow: 1ms; }
}
