/* base.css - 기본 스타일, 변수, 리셋 */

:root {
    /* 기본 색상 */
    --primary-color: #3498db;
    --primary-dark: #2980b9;
    --primary-light: #e3f2fd;
    --gray-light: #f8f9fa;
    --gray: #e9ecef;
    --gray-dark: #6c757d;
    --text-color: #343a40;
    --card-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    --card-shadow-hover: 0 8px 20px rgba(0, 0, 0, 0.08);

    /* 카테고리별 색상 */
    --dev-color: #4dabf7;
    --design-color: #f06595;
    --plan-color: #f9c74f;
    --marketing-color: #9775fa;
    --trend-color: #51cf66;
    --news-color: #868e96;
    --vibecoding-color: #7950f2;

    /* 그라디언트 컬러 */
    --dev-gradient: linear-gradient(135deg, #4dabf7, #228be6);
    --design-gradient: linear-gradient(135deg, #f06595, #d6336c);
    --plan-gradient: linear-gradient(135deg, #f9c74f, #f4a259);
    --marketing-gradient: linear-gradient(135deg, #9775fa, #7048e8);
    --trend-gradient: linear-gradient(135deg, #51cf66, #37b24d);
    --news-gradient: linear-gradient(135deg, #868e96, #495057);
    --vibecoding-gradient: linear-gradient(135deg, #7950f2, #5f3dc4);
    --header-gradient: linear-gradient(90deg, #f9c74f, #7950f2, #4dabf7);
}

/* 기본 스타일 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Noto Sans KR', sans-serif;
    color: var(--text-color);
    background-color: var(--gray-light);
    line-height: 1.5;
    max-width: 100%;
    overflow-x: hidden;
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* 기본 링크 스타일 */
a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--primary-dark);
}

/* 기본 버튼 스타일 */
button {
    border: none;
    background: none;
    font: inherit;
    cursor: pointer;
}

/* 기본 이미지 스타일 */
img {
    max-width: 100%;
    height: auto;
}

/* 기본 폼 요소 스타일 */
input, select, textarea {
    font-family: inherit;
    font-size: inherit;
}

/* 기본 리스트 스타일 제거 */
ul, ol {
    list-style: none;
}

/* 기본 헤딩 스타일 */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.5em;
}