:root {
    color-scheme: dark;
    --legal-bg: #0b0e11;
    --legal-card: #161b22;
    --legal-text: #e6edf3;
    --legal-muted: #a6b0bc;
    --legal-border: #303846;
    --legal-link: #9ebaff;
}

html[data-theme="light"] {
    color-scheme: light;
    --legal-bg: #f4f6f9;
    --legal-card: #ffffff;
    --legal-text: #242b35;
    --legal-muted: #586575;
    --legal-border: #d7dfe8;
    --legal-link: #245bb5;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    background: var(--legal-bg);
    color: var(--legal-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;
    font-size: 1rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}
a { color: var(--legal-link); text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid var(--legal-link); outline-offset: 4px; }
.legal-shell { max-width: 960px; margin: 0 auto; padding: 24px; }
.legal-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.legal-brand { font-weight: 700; font-size: 1.2rem; text-decoration: none; }
.legal-links { display: flex; gap: 16px; flex-wrap: wrap; }
.legal-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.legal-links a[aria-current="page"] { color: var(--legal-text); font-weight: 700; }
.legal-card { background: var(--legal-card); border: 1px solid var(--legal-border); border-radius: 12px; padding: 32px; }
h1 { margin: 0 0 8px; font-size: 1.9rem; line-height: 1.4; }
h2 { margin: 32px 0 10px; font-size: 1.15rem; line-height: 1.6; }
p { margin: 10px 0; }
ul { padding-left: 24px; margin: 10px 0; }
li + li { margin-top: 6px; }
.legal-date, .legal-footer { color: var(--legal-muted); font-size: 0.9rem; }
.legal-summary { background: var(--legal-bg); border-left: 3px solid var(--legal-link); padding: 12px 16px; margin: 20px 0; }
.legal-contact { border-top: 1px solid var(--legal-border); margin-top: 28px; padding-top: 14px; }
.legal-footer { text-align: center; padding: 20px 0 4px; }
.skip-link { position: absolute; left: 12px; top: -100px; background: var(--legal-card); padding: 10px; z-index: 10; }
.skip-link:focus { top: 12px; }
@media (max-width: 600px) {
    .legal-shell { padding: 16px; }
    .legal-card { padding: 22px 18px; }
    h1 { font-size: 1.55rem; }
    .legal-links { gap: 12px; }
}
@media print {
    :root { --legal-bg: #ffffff; --legal-card: #ffffff; --legal-text: #000000; --legal-muted: #333333; --legal-border: #cccccc; --legal-link: #000000; }
    .legal-nav, .legal-footer, .skip-link { display: none; }
    .legal-shell, .legal-card { padding: 0; border: 0; }
}
