:root {
  color-scheme: light;
  --legal-bg: #f7f9fc;
  --legal-surface: #ffffff;
  --legal-surface-soft: #f1f5f9;
  --legal-text: #172033;
  --legal-muted: #617086;
  --legal-subtle: #8a97a8;
  --legal-border: #dfe5ed;
  --legal-blue: #2563eb;
  --legal-blue-soft: #eaf1ff;
  --legal-shadow: 0 18px 50px rgba(15, 23, 42, .07);
  --legal-radius: 16px;
  --legal-font: "Inter", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 280px; color: var(--legal-text); background: var(--legal-bg); font: 15px/1.75 var(--legal-font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.legal-topbar { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid var(--legal-border); background: color-mix(in srgb, var(--legal-surface) 88%, transparent); backdrop-filter: blur(18px); }
.legal-nav { width: min(1180px, calc(100% - 48px)); min-height: 72px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.legal-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 800; letter-spacing: .08em; }
.legal-brand img { width: 29px; height: 29px; object-fit: contain; }
.legal-nav-actions { display: flex; align-items: center; gap: 10px; }
.legal-nav-link, .legal-theme { border: 1px solid var(--legal-border); border-radius: 8px; color: var(--legal-muted); background: var(--legal-surface); transition: .2s ease; }
.legal-nav-link { padding: 7px 13px; font-size: 12px; font-weight: 600; }
.legal-theme { width: 36px; height: 36px; cursor: pointer; }
.legal-nav-link:hover, .legal-theme:hover { border-color: var(--legal-blue); color: var(--legal-blue); }
.legal-hero { border-bottom: 1px solid var(--legal-border); background: var(--legal-surface); }
.legal-hero-inner { width: min(1180px, calc(100% - 48px)); margin: auto; padding: 78px 0 70px; }
.legal-kicker { margin: 0 0 17px; color: var(--legal-blue); font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.legal-hero h1 { max-width: 800px; margin: 0; font-size: clamp(42px, 6vw, 72px); line-height: 1.02; letter-spacing: -.055em; }
.legal-hero p { max-width: 650px; margin: 23px 0 0; color: var(--legal-muted); font-size: 17px; line-height: 1.7; }
.legal-updated { display: inline-flex; margin-top: 27px; padding: 7px 12px; border: 1px solid var(--legal-border); border-radius: 999px; color: var(--legal-muted); background: var(--legal-surface-soft); font-size: 12px; font-weight: 600; }
.legal-layout { width: min(1180px, calc(100% - 48px)); margin: auto; display: grid; grid-template-columns: 215px minmax(0, 1fr); gap: 72px; padding: 64px 0 100px; }
.legal-toc { position: sticky; top: 104px; align-self: start; }
.legal-toc summary { display: none; }
.legal-toc-title { margin: 0 0 14px; color: var(--legal-subtle); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.legal-toc ul { margin: 0; padding: 0; list-style: none; border-left: 1px solid var(--legal-border); }
.legal-toc a { display: block; padding: 5px 0 5px 16px; color: var(--legal-muted); font-size: 12px; line-height: 1.4; transition: .2s; }
.legal-toc a:hover, .legal-toc a.active { color: var(--legal-blue); border-left: 2px solid var(--legal-blue); margin-left: -1px; }
.legal-content { min-width: 0; max-width: 760px; }
.legal-section { scroll-margin-top: 105px; padding: 0 0 42px; margin-bottom: 42px; border-bottom: 1px solid var(--legal-border); }
.legal-section:last-child { border-bottom: 0; }
.legal-section h2 { margin: 0 0 15px; font-size: 25px; line-height: 1.25; letter-spacing: -.025em; }
.legal-section h3 { margin: 25px 0 7px; font-size: 16px; line-height: 1.4; }
.legal-section p { margin: 0 0 14px; color: var(--legal-muted); }
.legal-section ul, .legal-section ol { margin: 12px 0 16px; padding-left: 22px; color: var(--legal-muted); }
.legal-section li { margin: 5px 0; }
.legal-section strong { color: var(--legal-text); }
.legal-card, .legal-contact, .legal-notice { margin: 22px 0; padding: 22px 24px; border: 1px solid var(--legal-border); border-radius: var(--legal-radius); background: var(--legal-surface); box-shadow: var(--legal-shadow); }
.legal-card h3 { margin-top: 0; }
.legal-notice { border-color: #b9cdfb; background: var(--legal-blue-soft); }
.legal-notice p { color: #274477; }
.legal-contact { border-color: var(--legal-blue); background: var(--legal-blue); color: #fff; }
.legal-contact p { color: #dce8ff; }
.legal-contact a { text-decoration: underline; text-underline-offset: 3px; }
.legal-table-wrap { overflow-x: auto; margin: 20px 0; border: 1px solid var(--legal-border); border-radius: 12px; background: var(--legal-surface); }
.legal-table { width: 100%; min-width: 550px; border-collapse: collapse; text-align: left; }
.legal-table th, .legal-table td { padding: 14px 16px; border-bottom: 1px solid var(--legal-border); vertical-align: top; }
.legal-table th { color: var(--legal-text); background: var(--legal-surface-soft); font-size: 12px; font-weight: 700; }
.legal-table td { color: var(--legal-muted); font-size: 13px; }
.legal-table tr:last-child td { border-bottom: 0; }
.legal-footer { border-top: 1px solid var(--legal-border); background: var(--legal-surface); }
.legal-footer-inner { width: min(1180px, calc(100% - 48px)); min-height: 150px; margin: auto; padding: 34px 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 35px; }
.legal-footer-brand p { margin: 12px 0 0; color: var(--legal-muted); font-size: 12px; }
.legal-footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 22px; max-width: 570px; color: var(--legal-muted); font-size: 12px; }
.legal-footer-links a:hover { color: var(--legal-blue); }
.legal-copyright { margin: 42px 0 0; color: var(--legal-subtle); font-size: 11px; }
[data-theme="dark"] { color-scheme: dark; --legal-bg: #0b1018; --legal-surface: #111925; --legal-surface-soft: #172233; --legal-text: #f3f6fb; --legal-muted: #aab6c7; --legal-subtle: #7f8da0; --legal-border: #293548; --legal-blue-soft: #172d5e; --legal-shadow: 0 18px 50px rgba(0, 0, 0, .2); }
[data-theme="dark"] .legal-notice p { color: #c9d9fb; }
@media (max-width: 800px) {
  .legal-nav, .legal-hero-inner, .legal-layout, .legal-footer-inner { width: min(100% - 32px, 680px); }
  .legal-nav { min-height: 64px; }
  .legal-nav-link { display: none; }
  .legal-hero-inner { padding: 55px 0 48px; }
  .legal-hero h1 { font-size: clamp(40px, 12vw, 58px); }
  .legal-hero p { font-size: 15px; }
  .legal-layout { display: block; padding-top: 28px; }
  .legal-toc { position: static; margin-bottom: 40px; }
  .legal-toc summary { display: flex; align-items: center; justify-content: space-between; padding: 13px 15px; border: 1px solid var(--legal-border); border-radius: 10px; color: var(--legal-text); background: var(--legal-surface); cursor: pointer; font-size: 13px; font-weight: 700; }
  .legal-toc summary::after { content: "+"; color: var(--legal-blue); font-size: 18px; }
  .legal-toc[open] summary::after { content: "-"; }
  .legal-toc-title { display: none; }
  .legal-toc ul { margin-top: 9px; padding: 10px 0; border: 1px solid var(--legal-border); border-radius: 10px; background: var(--legal-surface); }
  .legal-toc a { padding: 8px 15px; }
  .legal-section { scroll-margin-top: 82px; }
  .legal-footer-inner { display: block; }
  .legal-footer-links { justify-content: flex-start; margin-top: 26px; }
  .legal-copyright { margin-top: 26px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
