.legal-nav { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; grid-column: 1 / -1; }
.legal-nav a, .legal-content a { color: var(--blue, #2563eb); text-underline-offset: .2em; overflow-wrap: anywhere; }
.legal-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.remember-control { display: flex; align-items: flex-start; gap: .7rem; margin-top: 1rem; cursor: pointer; }
.remember-control input { width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-top: .2rem; }
.storage-help { font-size: .85rem; color: var(--ink-dim); }
.progress-actions { flex-wrap: wrap; }
.legal-header, .legal-content, .legal-footer { max-width: 800px; margin-inline: auto; padding: 1.5rem; }
.legal-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); }
.legal-brand { color: var(--ink); font-weight: 700; text-decoration: none; }
.legal-content { line-height: 1.8; overflow-wrap: anywhere; }
.legal-content h1 { font-size: clamp(2rem, 6vw, 3rem); line-height: 1.2; margin-block: 1rem 2rem; }
.legal-content h2 { font-size: 1.2rem; margin-block: 2rem .6rem; }
.legal-content p, .legal-content ul { margin-bottom: 1rem; }
.legal-content ul { padding-left: 1.5rem; }
.legal-content address { font-style: normal; }
.draft-notice { border: 2px solid #b45309; padding: 1rem; background: #fffbeb; color: #78350f; border-radius: .5rem; }
.legal-footer { border-top: 1px solid var(--line); }
@media (prefers-color-scheme: dark) { .legal-nav a, .legal-content a { color: #93c5fd; } }
html[data-theme="dark"] .legal-nav a { color: #93c5fd; }
