@charset "UTF-8";

/* 디자인 토큰 (Design Tokens) */
:root {
    --color-primary: #1B498C;
    --color-secondary: #2C66E6;
    --color-accent: #2A94FF;
    --color-red: #E53935;
    --color-green: #075445;
    --color-blue-bg: #E1F0FF;
    --color-green-bg: #EDFAF6;
    --gray-0: #FFFFFF;
    --gray-5: #F9F9F9;
    --gray-10: #E0E0E0;
    --gray-20: #C0C0C0;
    --gray-30: #767676;
    --gray-40: #505050;
    --gray-50: #101010;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 24px;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-pill: 100px;
    --header-h: 80px;
    --layout-w: 1280px;
    --side-pad: 24px;
}

/* 초기화 */
[x-cloak] { display: none !important; }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { display: flex; flex-direction: column; min-height: 100vh; font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif; color: var(--gray-50); background: var(--gray-5); -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
button, input, select, textarea { font-family: inherit; color: inherit; border: none; outline: none; background: none; }
button { cursor: pointer; }

/* 레이아웃 컴포넌트 */
.layout-container { flex: 1; width: 100%; max-width: calc(var(--layout-w) + (var(--side-pad) * 2)); margin: 0 auto; padding: var(--space-lg) var(--side-pad) 62px; }