/* KF Crafts — privacy.html (moved out of an inline <style> on 28.09, Round 9, so the page keeps its look under the
   enforcing Content-Security-Policy: style-src has no 'unsafe-inline'). Includes the cookie table and "Cookie settings". */

:root { color-scheme: dark; --ink: #0a0a0a; --text-strong: rgba(244, 241, 234, 0.96); --gold: #d8c79c; --gold-hi: #e3ce92; --line: rgba(216, 199, 156, 0.26); --line-strong: rgba(216, 199, 156, 0.55); --dim: rgba(244, 241, 234, 0.8); }
*, *::before, *::after { box-sizing: border-box; }
html { background: #0a0a0a; }
body { margin: 0; min-width: 320px; background: var(--ink); color: var(--text-strong); font: 400 1rem/1.7 "Jost", system-ui, -apple-system, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem max(1rem, 4vw); background: #0a0a0a; border-bottom: 1px solid var(--line); }
header a { display: inline-flex; align-items: center; gap: 0.75rem; min-height: 44px; color: #f4f1ea; text-decoration: none; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; }
header img { width: 48px; height: 48px; }
main { max-width: 44rem; margin: 0 auto; padding: clamp(2.5rem, 6vw, 5rem) max(1rem, 4vw) 4rem; }
.eyebrow { margin: 0 0 1rem; color: var(--gold); font: 500 0.75rem/1.5 "Cinzel", Georgia, serif; letter-spacing: 0.24em; text-transform: uppercase; }
h1 { margin: 0 0 1.5rem; color: var(--text-strong); font-size: clamp(2.25rem, 1.5rem + 3vw, 3.5rem); font-weight: 200; line-height: 1.06; letter-spacing: -0.02em; }
h2 { margin: 2.25rem 0 0.5rem; color: var(--text-strong); padding-top: 1rem; border-top: 1px solid var(--line); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; }
p, li { color: var(--dim); }
p { margin: 0 0 0.75rem; }
ul { margin: 0; padding-left: 1.1rem; }
a { color: var(--text-strong); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid var(--gold-hi); outline-offset: 3px; }
::selection { background: rgba(216, 199, 156, 0.32); color: #f4f1ea; }
footer { padding: 1.5rem max(1rem, 4vw) 2rem; background: #0a0a0a; border-top: 1px solid var(--line); color: rgba(244, 241, 234, 0.7); font-size: 0.8125rem; }
footer a { color: rgba(244, 241, 234, 0.9); }
.cookies { width: 100%; margin: 0.75rem 0 1rem; border-collapse: collapse; font-size: 0.875rem; line-height: 1.55; }
.cookies th, .cookies td { padding: 0.6rem 0.75rem 0.6rem 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.cookies th { color: var(--text-strong); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; }
.cookies td { color: var(--dim); }
.cookies code { color: var(--text-strong); font: 500 0.8125rem/1.4 "Jost", system-ui, sans-serif; letter-spacing: 0.02em; overflow-wrap: anywhere; }
@media (max-width: 559.98px) {
  .cookies thead { display: none; }
  .cookies tr, .cookies td { display: block; }
  .cookies tr { padding: 0.5rem 0; border-bottom: 1px solid var(--line); }
  .cookies td { padding: 0.15rem 0; border: 0; }
  .cookies td[data-th]::before { content: attr(data-th) " · "; color: var(--gold); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; }
}
.settings { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; margin: 0.25rem 0 1rem; }
.settings button { min-height: 44px; padding: 0.65rem 1.15rem; border: 1px solid var(--gold); border-radius: 0; background: transparent; color: var(--gold); font: 500 0.6875rem/1.2 "Jost", system-ui, sans-serif; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; transition: background-color 0.3s, color 0.3s; }
.settings button:hover { background: var(--gold); color: var(--ink); }
.settings button:focus-visible { outline: 2px solid var(--gold-hi); outline-offset: 3px; }
.settings p { flex: 1 1 16rem; margin: 0; font-size: 0.875rem; }
