/* =========================================================
   1. Design Tokens (Brand Colors & Variables)
   ========================================================= */
:root {
    /* 배경 및 카드 */
    --bg: #f8f9fa;           /* 전체 메인 배경 (연한 그레이/화이트) */
    --card: #ffffff;         /* 카드 및 요소 배경 */
    --dark-bg: #05040a;      /* 상단 비주얼 및 푸터 블랙보라 배경 */
    
    /* 텍스트 컬러 */
    --text: #1d1d1f;         /* 메인 텍스트 (애플 스타일 먹색) */
    --text-pure: #111113;    /* 더 진한 텍스트 */
    --muted: #6e6e73;         /* 부드러운 설명글/비활성 텍스트 */
    --white: #ffffff;        /* 다크모드 대응 화이트 텍스트 */
    
    /* 포인트 컬러 */
    --accent: #0055ff;       /* 신뢰감 있는 브랜드 블루 */
    --accent-light: rgba(0, 85, 255, 0.9);
    --neon: #00d4ff;         /* 기술적 포인트 (시안 블루) */
    --naver-green: #03c75a;  /* 네이버 블로그 아이콘용 */
    
    /* 경계선 및 효과 */
    --line: rgba(0, 0, 0, 0.05);
    --line-white: rgba(255, 255, 255, 0.1);
    --shadow: 0 10px 22px rgba(0, 0, 0, 0.08);
}

/* =========================================================
   2. Core Reset & Base Styles
   ========================================================= */
* { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html { 
    scroll-behavior: smooth; 
}

body {
    background-color: var(--bg);
    color: var(--text);
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
    line-height: 1.6;
    letter-spacing: -0.02em;
    overflow-x: hidden; /* 가로 스크롤 방지 */
}

/* 링크 및 리스트 초기화 */
a { 
    text-decoration: none; 
    color: inherit; 
    transition: 0.3s ease;
}

ul, li { 
    list-style: none; 
}

img {
    max-width: 100%;
    display: block;
}

/* 공통 유틸리티 */
.container { 
    max-width: 1100px; 
    margin: 0 auto; 
    padding: 0 24px; 
}

.center { 
    text-align: center; 
}

/* 텍스트 강조(시스템 키워드) */
.tech-word {
    color: var(--neon);
    font-weight: 700;
    text-transform: uppercase;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.95em;
}