@font-face {
  font-family: "Pretendard Legal";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("/fonts/PretendardVariable-legal.woff2?v=f501a2b0d4f4") format("woff2-variations");
}

:root {
  color-scheme: dark;
  --l-canvas: hsl(180 14% 4%);
  --l-surface: hsl(180 12% 7%);
  --l-card: hsl(180 10% 10%);
  --l-ink: hsl(150 18% 96%);
  --l-body: hsl(160 7% 78%);
  --l-muted: hsl(160 7% 68%);
  --l-mint: hsl(156 100% 76%);
  --l-deep: hsl(171 70% 13%);
  --l-amber: hsl(39 93% 72%);
  --l-line: hsl(150 18% 96% / .12);
  --l-line-strong: hsl(150 18% 96% / .24);
  --l-font: "Pretendard Legal", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", sans-serif;
  --l-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --l-s1: 4px;
  --l-s2: 8px;
  --l-s3: 12px;
  --l-s4: 16px;
  --l-s6: 24px;
  --l-s8: 32px;
  --l-s12: 48px;
  --l-s16: 64px;
  --l-s24: 96px;
  --l-r-control: 8px;
  --l-r-card: 16px;
  --l-r-panel: 24px;
  --l-nav-height: 80px;
  --l-state: 240ms;
}

* , *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--l-nav-height) + var(--l-s8)); }
body { margin: 0; background: var(--l-canvas); color: var(--l-body); font: 400 18px/1.85 var(--l-font); -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: 640px; pointer-events: none; background: radial-gradient(ellipse at 75% 0%, hsl(156 100% 76% / .07), transparent 65%); }
:is(h1, h2, h3, p, li, th, td) { word-break: keep-all; overflow-wrap: break-word; }
a { color: var(--l-mint); text-underline-offset: 4px; text-decoration-thickness: 1px; }
a:hover { text-decoration-color: var(--l-ink); }
:focus-visible { outline: 2px solid var(--l-mint); outline-offset: 4px; border-radius: var(--l-r-control); }
.legal-skip { position: fixed; z-index: 50; top: var(--l-s4); left: var(--l-s6); transform: translateY(-200%); padding: var(--l-s3) var(--l-s6); background: var(--l-mint); color: var(--l-canvas); border-radius: var(--l-r-control); font-size: 14px; font-weight: 600; }
.legal-skip:focus { transform: none; }
.legal-nav { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--l-line); background: hsl(180 14% 4% / .94); backdrop-filter: blur(16px); }
.legal-nav__inner, .legal-footer__inner { width: min(1200px, calc(100% - var(--l-s12))); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--l-s6); }
.legal-nav__inner { min-height: var(--l-nav-height); }
.legal-brand { display: inline-flex; align-items: center; min-height: 44px; gap: var(--l-s3); color: var(--l-ink); font-size: 24px; font-weight: 600; letter-spacing: -.045em; text-decoration: none; }
.legal-brand svg,
.legal-brand img { width: 32px; height: 32px; flex-shrink: 0; object-fit: contain; }
.legal-nav__links { display: flex; align-items: center; gap: var(--l-s2); }
.legal-nav__links a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding-inline: var(--l-s4); border-radius: var(--l-r-control); color: var(--l-muted); font-size: 14px; font-weight: 500; text-decoration: none; transition: color var(--l-state), background var(--l-state); }
.legal-nav__links a:hover { color: var(--l-ink); background: var(--l-card); }
.legal-nav__links a[aria-current="page"] { color: var(--l-mint); background: var(--l-deep); }
.legal-wrap { width: min(860px, calc(100% - var(--l-s12))); margin-inline: auto; padding: var(--l-s24) 0; }
.legal-eyebrow { margin: 0 0 var(--l-s6); color: var(--l-mint); font: 500 12px/1.5 var(--l-mono); letter-spacing: .16em; text-transform: uppercase; }
.legal-title { margin: 0; color: var(--l-ink); font-size: 60px; font-weight: 600; line-height: 1.2; letter-spacing: -.055em; }
.legal-updated { margin: var(--l-s6) 0 0; color: var(--l-muted); font-size: 14px; }
.legal-updated::after { content: ""; display: block; width: var(--l-s12); height: 1px; margin-top: var(--l-s8); background: var(--l-mint); }
.legal-draft { margin: var(--l-s12) 0 0; padding: var(--l-s6); border: 1px solid hsl(39 93% 72% / .2); border-radius: var(--l-r-card); background: hsl(39 93% 72% / .04); color: var(--l-amber); font-size: 14px; line-height: 1.85; }
.legal-draft .legal-phrase { white-space: nowrap; }
.legal-contents { margin-top: var(--l-s6); border: 1px solid var(--l-line-strong); border-radius: var(--l-r-card); background: var(--l-surface); }
.legal-contents summary { display: flex; justify-content: space-between; align-items: center; gap: var(--l-s4); min-height: 64px; padding: var(--l-s4) var(--l-s6); color: var(--l-ink); cursor: pointer; list-style: none; font-size: 16px; font-weight: 600; }
.legal-contents summary::-webkit-details-marker { display: none; }
.legal-contents summary::after { content: "+"; color: var(--l-mint); font: 24px/1 var(--l-mono); }
.legal-contents[open] summary::after { content: "−"; }
.legal-contents summary span { margin-right: auto; }
.legal-contents summary small { color: var(--l-muted); font-size: 12px; font-weight: 400; white-space: nowrap; }
.legal-contents nav { padding: 0 var(--l-s6) var(--l-s6); }
.legal-contents ol { margin: 0; padding: var(--l-s4) 0 0; list-style: none; border-top: 1px solid var(--l-line); display: grid; grid-template-columns: 1fr 1fr; gap: var(--l-s2) var(--l-s6); }
.legal-contents a { display: flex; align-items: center; min-height: 44px; padding-block: var(--l-s2); color: var(--l-body); font-size: 14px; line-height: 1.65; text-decoration: none; }
.legal-contents a:hover { color: var(--l-mint); text-decoration: underline; }
.legal-body { margin-top: var(--l-s12); }
.legal-body p { margin: 0 0 var(--l-s6); }
.legal-body h2 { margin: var(--l-s16) 0 var(--l-s6); padding-top: var(--l-s12); border-top: 1px solid var(--l-line); color: var(--l-ink); font-size: 24px; font-weight: 600; line-height: 1.5; letter-spacing: -.025em; }
.legal-body h3 { margin: var(--l-s8) 0 var(--l-s4); color: var(--l-ink); font-size: 18px; line-height: 1.65; font-weight: 600; }
.legal-body ul { margin: 0 0 var(--l-s6); padding-left: var(--l-s6); }
.legal-body li { margin-bottom: var(--l-s3); padding-left: var(--l-s1); }
.legal-body li::marker { color: var(--l-mint); font-size: 12px; }
.legal-body strong { color: var(--l-ink); font-weight: 600; }
.legal-table-wrap { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-color: var(--l-muted) var(--l-surface); margin: var(--l-s6) 0 var(--l-s8); border: 1px solid var(--l-line-strong); border-radius: var(--l-r-card); background: var(--l-surface); }
.legal-body table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 14px; }
.legal-body th, .legal-body td { padding: var(--l-s4); border-bottom: 1px solid var(--l-line); text-align: left; vertical-align: top; line-height: 1.85; overflow-wrap: anywhere; }
.legal-body tr:last-child :is(th, td) { border-bottom: 0; }
.legal-body thead { background: var(--l-deep); }
.legal-body thead th { color: var(--l-mint); font-weight: 600; white-space: nowrap; }
.legal-body tbody th { color: var(--l-ink); font-weight: 600; }
.legal-table-hint { display: none; }
.legal-note { color: var(--l-muted); font-size: 14px; }
.legal-back { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; gap: var(--l-s3); margin-top: var(--l-s12); padding: var(--l-s3) var(--l-s6); border: 1px solid var(--l-line-strong); border-radius: var(--l-r-control); color: var(--l-ink); font-size: 14px; font-weight: 600; text-decoration: none; transition: color var(--l-state), background var(--l-state); }
.legal-back:hover { color: var(--l-mint); background: var(--l-card); }
.legal-footer { border-top: 1px solid var(--l-line); background: var(--l-surface); }
.legal-footer__inner { flex-wrap: wrap; min-height: 96px; padding-block: var(--l-s6); color: var(--l-muted); font-size: 12px; }
.legal-footer a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: var(--l-s2); color: var(--l-muted); text-decoration: none; }
.legal-footer a[aria-current="page"], .legal-footer a:hover { color: var(--l-mint); }

@media (max-width: 1023px) {
  .legal-title { font-size: 48px; }
  .legal-wrap { padding-top: var(--l-s16); }
}
@media (max-width: 767px) {
  :root { --l-nav-height: 72px; }
  body { font-size: 16px; }
  .legal-nav__inner { gap: var(--l-s3); }
  .legal-brand { gap: var(--l-s2); font-size: 20px; }
  .legal-brand svg,
  .legal-brand img { width: 24px; height: 24px; }
  .legal-nav__links { gap: var(--l-s1); }
  .legal-nav__links a { padding-inline: var(--l-s2); font-size: 12px; }
  .legal-wrap { padding-top: var(--l-s12); padding-bottom: var(--l-s16); }
  .legal-title { font-size: 36px; }
  .legal-draft, .legal-contents summary { padding: var(--l-s4); }
  .legal-contents nav { padding-inline: var(--l-s4); }
  .legal-contents ol { grid-template-columns: 1fr; }
  .legal-body h2 { margin-top: var(--l-s12); padding-top: var(--l-s8); font-size: 20px; }
  .legal-body th, .legal-body td { padding: var(--l-s3); }
  .legal-table-hint { display: block; margin: var(--l-s6) 0 var(--l-s2) !important; color: var(--l-muted); font-size: 12px; }
  .legal-table-hint + .legal-table-wrap { margin-top: var(--l-s2); }
  .legal-footer__inner { gap: var(--l-s2); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
@media print {
  :root { color-scheme: light; }
  body { color: black; background: white; font-size: 11pt; }
  body::before, .legal-nav, .legal-footer, .legal-skip, .legal-contents, .legal-back, .legal-table-hint { display: none; }
  .legal-wrap { width: 100%; padding: 0; }
  .legal-title { font-size: 28pt; }
  :is(h1, h2, h3, strong, a, .legal-updated, .legal-draft, .legal-note, th, td) { color: black !important; }
  .legal-draft, .legal-table-wrap, thead { background: white !important; }
  .legal-table-wrap { overflow: visible; }
  .legal-body table { min-width: 0; font-size: 9pt; }
  .legal-body h2 { break-after: avoid; }
}
