/* Design tokens */
:root {
    --color-accent: #007AFF;
    --color-background: #FFFFFF;
    --color-background-secondary: #EFEFEF;
    --color-border: rgba(0, 0, 0, 0.2);
    --color-text-primary: #000000;
    --color-link: var(--color-accent);
    --font-family-heading: system-ui;
    --font-family-body: system-ui;
}
@media (prefers-color-scheme: dark) {
    :root {
        --color-accent: #0A84FF;
        --color-background: #000000;
        --color-background-secondary: #1F1F1F;
        --color-border: rgba(255, 255, 255, 0.25);
        --color-text-primary: #FFFFFF;
    }
}

/* Base elements */
body {
    font-family: var(--font-family-body);
    background-color: var(--color-background);
    color: var(--color-text-primary);
    line-height: 1.5; /* 24px */
    text-rendering: optimizeLegibility;
}
@media (prefers-color-scheme: dark) {
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}
h1, h2, h3,
h4, h5, h6 {
    font-family: var(--font-family-heading);
    font-weight: 600;
}
h1 {
    font-size: 2.75rem; /* 44px */
    line-height: 1.1818; /* 52px */
}
/* h2s act as section dividers (no <section> elements in plain markdown) */
h2 {
    font-size: 2.125rem; /* 34px */
    line-height: 1.1765; /* 40px */
    margin-top: 4rem;
}
h3 {
    font-size: 1.375rem; /* 22px */
    line-height: 1.2727; /* 28px */
}
h4, h5, h6 {
    font-size: 1.125rem; /* 18px */
    line-height: 1.5; /* 24px */
    margin-top: 1rem;
}
a {
    color: var(--color-link);
    text-decoration: underline;
}
a:focus,
a:hover {
    opacity: 0.8;
}
li {
    margin: 1rem 0;
}
hr {
    margin: 4rem 0;
    border: 0;
    height: 1px;
    background: var(--color-border);
}
table {
    width: 100%;
    margin: 2rem 0;
    border-collapse: collapse;
}
th,
td {
    border: 1px solid var(--color-border);
    padding: 0.75rem;
    vertical-align: top;
    text-align: left;
}
th {
    background-color: var(--color-background-secondary);
}
caption {
    caption-side: top;
    text-align: left;
    font-style: italic;
    padding-bottom: 0.75rem;
}

/* Layout */
.container {
    margin: 0 auto;
    max-width: 37.5rem; /* 600px */
    padding: 1.5rem 8px; /* 24px 16px */
}
.container > h1:first-child {
    margin-bottom: 0.25rem;
}

/* Policy components */

/* Table of contents */
.policy-toc ul {
    list-style-type: none;
    margin: 2rem 0;
    padding: 0;
}

/* Dense data tables (archive policy, U.S. State table) */
.policy-table {
    font-size: smaller;
}
.policy-table ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.policy-table li:first-child {
    margin-top: 0;
}
.policy-table a {
    overflow-wrap: break-word;
}

/* Version history footer */
.policy-version-list {
    list-style-type: none;
    padding: 0;
}
