:root {
  color-scheme: dark;
  --ink: #111218;
  --surface: #191b22;
  --paper: #f4f3ed;
  --muted: #a6a8b0;
  --line: #343740;
  --accent: #f4d35e;
  font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { background: var(--ink); color: var(--paper); }
body { margin: 0; }
a { color: inherit; }
.legal-header { position: sticky; top: 0; z-index: 2; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--ink) 92%, transparent); backdrop-filter: blur(14px); }
.legal-header div { width: min(1040px, calc(100% - 40px)); min-height: 64px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.legal-brand { font-weight: 850; text-decoration: none; }
.legal-header nav { display: flex; gap: 16px; color: var(--muted); font-size: 13px; }
.legal-wrap { width: min(820px, calc(100% - 40px)); margin: 0 auto; padding: clamp(56px, 8vw, 96px) 0 100px; }
.legal-kicker { margin: 0 0 14px; color: var(--accent); font: 700 11px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(38px, 6vw, 64px); line-height: 1.05; letter-spacing: 0; }
.legal-updated { margin: 18px 0 0; color: var(--muted); font-size: 13px; }
.legal-intro { margin: 34px 0 54px; padding: 22px 24px; border-left: 3px solid var(--accent); background: var(--surface); color: #d9dae0; line-height: 1.8; }
.legal-section { padding: 32px 0; border-top: 1px solid var(--line); }
.legal-section h2 { margin: 0 0 18px; font-size: 22px; letter-spacing: 0; }
.legal-section p, .legal-section li { color: #c7c8ce; font-size: 15px; line-height: 1.85; }
.legal-section ul, .legal-section ol { margin: 0; padding-left: 22px; }
.legal-section li + li { margin-top: 8px; }
.legal-table { width: 100%; border-collapse: collapse; margin-top: 14px; font-size: 14px; }
.legal-table th, .legal-table td { padding: 14px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.65; }
.legal-table th { width: 24%; background: var(--surface); color: var(--paper); }
.legal-table td { color: #c7c8ce; }
.legal-contact { display: grid; gap: 8px; padding: 20px; border: 1px solid var(--line); background: var(--surface); }
.legal-contact a { color: var(--accent); word-break: break-all; }
.legal-footer { border-top: 1px solid var(--line); padding: 28px 20px; color: var(--muted); text-align: center; font-size: 12px; }
@media (max-width: 600px) {
  .legal-header div { width: min(100% - 28px, 1040px); }
  .legal-header nav { gap: 10px; font-size: 11px; }
  .legal-wrap { width: min(100% - 32px, 820px); padding-top: 46px; }
  .legal-intro { padding: 18px; }
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table th, .legal-table td { display: block; width: 100%; }
  .legal-table tr + tr { margin-top: 12px; }
  .legal-table td { border-top: 0; }
}
