/*
Theme Name: Theo Theme
Theme URI: https://wp.bypluson.com
Description: 테오의 워드프레스 자식 테마. GeneratePress 기반. 한국 톤(미색+먹색+빨강) 디자인 시스템.
Author: Theo
Author URI: https://wp.bypluson.com
Template: generatepress
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: theo-theme
Tags: blog, portfolio, minimal, korean
*/

/* ===== Design Tokens (Korean Tone) ===== */
:root {
  /* Colors */
  --color-paper: #F5F1E8;
  --color-paper-strong: #EDE6D3;
  --color-bg-card: #FFFFFF;
  --color-ink: #1A1614;
  --color-ink-soft: #4A4540;
  --color-ink-mute: #8A8580;
  --color-accent: #C23B22;
  --color-accent-deep: #8A2818;
  --color-line: #D9D2C2;

  /* Typography */
  --font-sans-ko: 'Pretendard Variable', 'Pretendard', 'Apple SD Gothic Neo',
                  'Spoqa Han Sans Neo', 'Spoqa Han Sans', 'Inter',
                  system-ui, -apple-system, sans-serif;
  --font-sans-en: 'Geist', 'Inter', 'Pretendard Variable',
                  system-ui, -apple-system, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  /* Type scale (desktop) */
  --fs-xs: 0.75rem;     /* 12px */
  --fs-sm: 0.875rem;    /* 14px */
  --fs-base: 1.0625rem; /* 17px */
  --fs-lg: 1.1875rem;   /* 19px */
  --fs-xl: 1.5rem;      /* 24px */
  --fs-2xl: 2rem;       /* 32px */
  --fs-3xl: 3rem;       /* 48px */
  --fs-hero: 4.5rem;    /* 72px */

  /* Spacing */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-8: 3rem;
  --sp-10: 4rem;
  --sp-12: 6rem;
  --sp-16: 8rem;

  /* Layout */
  --container-narrow: 720px;
  --container-default: 960px;
  --container-wide: 1200px;

  /* Misc */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --transition-base: 200ms ease;
}

@media (max-width: 768px) {
  :root {
    --fs-base: 1rem;       /* 16px */
    --fs-lg: 1.125rem;     /* 18px */
    --fs-xl: 1.375rem;     /* 22px */
    --fs-2xl: 1.75rem;     /* 28px */
    --fs-3xl: 2.25rem;     /* 36px */
    --fs-hero: 3rem;       /* 48px */
  }
}

/* ===== Base ===== */
body {
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-sans-ko);
  font-size: var(--fs-base);
  line-height: 1.7;
  letter-spacing: -0.011em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--color-accent);
  text-decoration: none;
  transition: color var(--transition-base);
}

a:hover {
  color: var(--color-accent-deep);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--color-ink);
  font-weight: 700;
  letter-spacing: -0.022em;
  line-height: 1.3;
}

code, pre {
  font-family: var(--font-mono);
}

/* 영문/숫자 강조 시 유틸 클래스 */
.en, .num {
  font-family: var(--font-sans-en);
}
