/* ========================================
   Design System - Design Tokens
   미라클평생교육원 AI 업무자동화 상세페이지 Design Token
   기준 프로젝트(organize) 토큰 체계를 그대로 유지한다.
   ======================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, img, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, address, a, select, input, textarea, header, footer, section, article, aside, nav, hgroup, details, menu, figure, figcaption, button, input[type="button"] {
    font-family: "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;
}
:root {
    /* ===== Color System ===== */

    /* Primary */
    --color-primary: #2563EB;
    --color-primary-dark: #1D4ED8;
    --color-primary-darker: #1E3A8A;
    --color-primary-light: #3B82F6;
    --color-primary-lighter: #E6F0FF;

    /* Secondary */
    --color-secondary: #0D1E6C;
    --color-secondary-light: #374151;

    /* Accent */
    --color-accent: #06B6D4;
    --color-accent-dark: #0891B2;
    --color-accent-light: #67E8F9;

    /* Purple (시안 툴 그리드 / 학습 결과물 카드 전용 포인트) */
    --color-purple: #7C5CFC;
    --color-purple-dark: #5B3FD9;
    --color-purple-light: #EDE9FE;

    /* Pink (시안 학습 결과물 카드 전용 포인트) */
    --color-pink: #FB7185;
    --color-pink-light: #FFE4E6;

    /* Background */
    --color-bg: #FFFFFF;
    --color-bg-light: #F7F9FC;
    --color-bg-lighter: #F3F4F6;

    /* Surface */
    --color-surface: #FFFFFF;
    --color-surface-hover: #F9FAFB;

    /* Text */
    --color-text: #1A2332;
    --color-text-secondary: #6B7280;
    --color-text-tertiary: #9CA3AF;
    --color-text-white: #FFFFFF;

    /* Border */
    --color-border: #E5E7EB;
    --color-border-light: #F3F4F6;

    /* Status */
    --color-success: #10B981;
    --color-success-light: #D1FAE5;
    --color-warning: #F59E0B;
    --color-error: #EF4444;
    --color-info: #3B82F6;

    /* ===== Typography ===== */
    /* Font Size */
    --font-size-h1: 60px;
    --font-size-h2: 36px;
    --font-size-h3: 28px;
    --font-size-h4: 24px;
    --font-size-h5: 20px;
    --font-size-h6: 18px;
    --font-size-body: 16px;
    --font-size-body-lg: 18px;
    --font-size-body-sm: 14px;
    --font-size-caption: 12px;

    /* Font Weight */
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Line Height */
    --line-height-tight: 1.1;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;
    --line-height-loose: 2;

    /* ===== Spacing System ===== */

    --spacing-xs: 8px;
    --spacing-sm: 16px;
    --spacing-md: 24px;
    --spacing-lg: 40px;
    --spacing-xl: 60px;
    --spacing-2xl: 80px;
    --spacing-3xl: 120px;

    /* ===== Border Radius ===== */

    --radius-xs: 4px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --radius-full: 9999px;

    /* ===== Shadow System ===== */

    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.16);
    --shadow-xl: 0 12px 32px rgba(0, 0, 0, 0.20);

    /* ===== Transition ===== */

    --transition-fast: 150ms ease-in-out;
    --transition-base: 250ms ease-in-out;
    --transition-slow: 350ms ease-in-out;

    /* ===== Z-Index ===== */

    --z-dropdown: 100;
    --z-sticky: 90;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-popover: 600;
    --z-tooltip: 700;
}

/* ===== Utility Classes ===== */

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

/* Responsive Typography */
@media (max-width: 768px) {
    :root {
        --font-size-h1: 36px;
        --font-size-h2: 28px;
        --font-size-h3: 24px;
        --font-size-h4: 20px;
        --font-size-h5: 18px;
        --font-size-h6: 16px;
    }
}
