:root{
  --color-bg: #f5f5f7; --color-surface: #ffffff; --color-text: #1d1d1f;
  --color-divider: rgba(0,0,0,0.1);
  --card: #ffffff; --card-r: 18px; --card-sh: 0 1px 2px rgba(0,0,0,0.05), 0 10px 28px rgba(0,0,0,0.05);
  --color-neutral-100: #ffffff; --color-neutral-200: #e7ebe8; --color-neutral-300: #d4dad6;
  --color-neutral-400: #aeb8b3; --color-neutral-500: #869390; --color-neutral-600: #64726e;
  --color-neutral-700: #465350; --color-neutral-800: #2c3835; --color-neutral-900: #18211e;
  --color-accent: #141a17; --color-accent-100: #eaedeb; --color-accent-200: #ccd2cf;
  --color-accent-300: #a6b2ac; --color-accent-400: #6d7a74; --color-accent-500: #3b453f;
  --color-accent-600: #232b27; --color-accent-700: #141a17; --color-accent-800: #141a17;
  --color-accent-900: #0a0e0c;
  --color-accent-2: #141a17; --color-accent-2-500: #3b453f; --color-accent-2-700: #141a17;
  --font-heading-weight: 500;
  --fh: "Geist", "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --fb: "Geist", "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --edge: clamp(22px, 5vw, 76px);
  --ink: #1d1d1f; --paper: #f5f5f7;
}
.btn { letter-spacing: 0.01em; font-weight: 500; font-size: 14px; border-radius: 980px; }
[data-lang-toggle], [data-nav-toggle] { border-radius: 980px; }
.nav a, .tag, dt, th, label, strong, b { font-weight: 400; }
@keyframes ygl-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
[data-rise] { animation: ygl-rise 0.7s cubic-bezier(0.2,0.7,0.2,1) both; }
@media (prefers-reduced-motion: reduce) { [data-rise] { animation: none; } }
html{ scroll-behavior: smooth; }
body{ margin:0; text-wrap: pretty; font-family: var(--fb); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a{ color: var(--color-accent-700); text-decoration: none; }
a:hover{ color: var(--color-accent); }
summary::-webkit-details-marker{ display:none; }
section[id]{ scroll-margin-top: 84px; }
h1, h2, h3, summary, [data-nav-item] { word-break: keep-all; overflow-wrap: break-word; }
html[lang="ko"] p, html[lang="ko"] li, html[lang="ko"] dd { line-height: 1.8; }
html[lang="ko"] { --font-heading-weight: 400; }
html[lang="ko"] h1, html[lang="ko"] h2, html[lang="ko"] h3, html[lang="ko"] summary { letter-spacing: -0.02em; font-weight: 400; }
html[lang="ko"] strong, html[lang="ko"] b { font-weight: 500; }
html[lang="ko"] [style*="letter-spacing:0.14em"] { letter-spacing: 0.06em; }

body { background: var(--color-bg); }
img { max-width: 100%; height: auto; }
