:root { --legal-bg: #fbf8f2; --legal-ink: #1f2a2b; --legal-muted: #5b6667; --legal-line: #e4ddd0; --legal-accent: #1f6f6a; --legal-soft: #eef5f3; --legal-warn: #fff4dc; }
@media (prefers-color-scheme: dark) { :root { --legal-bg: #141a1b; --legal-ink: #e9eeee; --legal-muted: #a9b4b5; --legal-line: #2c3637; --legal-accent: #7cc9c1; --legal-soft: #1b2627; --legal-warn: #2e2716; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--legal-bg); color: var(--legal-ink); font: 16px/1.7 system-ui, -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans", sans-serif; }
.legal-top, .legal-docs, .legal-main, .legal-foot { max-width: 760px; margin: 0 auto; padding: 0 16px; }
.legal-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding-top: 16px; }
.legal-back { color: var(--legal-accent); font-weight: 600; text-underline-offset: 3px; min-height: 44px; display: inline-flex; align-items: center; }
.legal-langs { display: flex; flex-wrap: wrap; gap: 6px; }
.legal-lang { font: inherit; font-size: 13px; min-height: 36px; padding: 4px 10px; border: 1px solid var(--legal-line); border-radius: 999px; background: transparent; color: var(--legal-ink); cursor: pointer; }
.legal-lang.is-on { background: var(--legal-accent); border-color: var(--legal-accent); color: var(--legal-bg); }
.legal-docs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--legal-line); }
.legal-doc { color: var(--legal-ink); text-decoration: none; padding: 8px 12px; border-radius: 10px; min-height: 44px; display: inline-flex; align-items: center; }
.legal-doc.is-on { background: var(--legal-soft); color: var(--legal-accent); font-weight: 700; }
.legal-draft { margin: 18px 0 0; padding: 10px 14px; border-radius: 10px; background: var(--legal-warn); font-size: 14px; }
.legal-main h1 { font-size: 26px; line-height: 1.3; margin: 18px 0 4px; }
.legal-updated, .legal-note { color: var(--legal-muted); font-size: 14px; margin: 0 0 6px; }
.legal-intro { margin-top: 14px; }
.legal-section h2 { font-size: 18px; margin: 26px 0 6px; }
.legal-section p { margin: 6px 0; }
.legal-section ul { margin: 6px 0; padding-left: 22px; }
.legal-section li { margin: 4px 0; overflow-wrap: anywhere; }
.legal-links a { color: var(--legal-accent); text-underline-offset: 3px; }
.legal-foot { color: var(--legal-muted); font-size: 12px; letter-spacing: .06em; padding-top: 32px; padding-bottom: 32px; }
:focus-visible { outline: 3px solid var(--legal-accent); outline-offset: 2px; }
