
    :root { color-scheme: light; --paper: #f7f8f2; --ink: #22291f; --muted: #656c60; --line: #dddfd4; --accent: #d3f86a; --on-accent: #22291f; }
    [data-theme="dark"] { color-scheme: dark; --paper: #141810; --ink: #e6ead9; --muted: #939c83; --line: #2b3324; --on-accent: #161b10; }
    * { box-sizing: border-box; }
    body { margin: 0; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; background: var(--paper); color: var(--ink); font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { cursor: pointer; }
    button:focus-visible, a:focus-visible { outline: 2px solid #547d26; outline-offset: 5px; }
    [data-theme="dark"] *:focus-visible { outline-color: #a4d05c; }
    a { color: inherit; }
    h1, h2, p, ul { margin: 0; }
    ul { padding: 0; }
    .icon-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
    .icon { display: block; flex-shrink: 0; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
    .container { width: min(1120px, calc(100% - 80px)); margin-inline: auto; }
    .site-header { display: flex; align-items: center; justify-content: space-between; min-height: 96px; }
    .brand { display: inline-flex; align-items: center; text-decoration: none; font-family: "Racing Sans One", sans-serif; font-size: 36px; font-weight: 400; letter-spacing: 0.5px; }
    .header-actions { display: flex; align-items: center; gap: 16px; }
    .text-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; border: 0; padding: 8px 0; background: transparent; color: var(--ink); font-size: 13px; font-weight: 550; text-decoration: none; }
    .text-button .icon { width: 17px; height: 17px; transition: transform 180ms ease; }
    .text-button:hover .icon { transform: translate(2px, -2px); }
    .theme-button { display: grid; place-items: center; width: 40px; height: 40px; border: none; border-radius: 50%; background: transparent; color: var(--ink); transition: background 180ms; }
    .theme-button:hover { background: #e9eddf; }
    .theme-button .icon { width: 18px; height: 18px; }
    .theme-sun { display: none; }
    [data-theme="dark"] .theme-sun { display: block; }
    [data-theme="dark"] .theme-moon { display: none; }
    [data-theme="dark"] .theme-button:hover { background: #242c1c; }
    main { flex: 1; }
    .legal { max-width: 720px; padding: 48px 0 90px; }
    .crumbs { margin: 0 0 18px; color: var(--muted); font-size: 12px; }
    .crumbs a { color: inherit; text-decoration: none; }
    .crumbs a:hover { text-decoration: underline; }
    .crumbs [aria-current="page"] { color: var(--ink); }
    .legal h1 { font-size: clamp(30px, 5vw, 46px); font-weight: 780; letter-spacing: -2px; }
    .legal-updated { margin: 16px 0 42px; color: var(--muted); font-family: "SFMono-Regular", Consolas, monospace; font-size: 11px; letter-spacing: 0.6px; }
    .legal h2 { margin: 40px 0 10px; font-size: 19px; font-weight: 700; letter-spacing: -0.4px; }
    .legal p, .legal li { font-size: 14px; line-height: 1.85; opacity: 0.82; }
    .legal p + p { margin-top: 10px; }
    .legal ul { margin: 8px 0; padding-left: 22px; list-style: disc; }
    .legal li { margin: 5px 0; }
    .legal a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #9aa88a; }
    .legal a:hover { text-decoration-color: var(--ink); }
    .site-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 44px; padding: 23px 0 25px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
    .footer-links { display: flex; gap: 18px; }
    .footer-links a { color: inherit; text-decoration: none; }
    .footer-links a:hover { text-decoration: underline; }
    @media (max-width: 600px) {
      .container { width: calc(100% - 40px); }
      .site-header { min-height: 78px; }
      .brand { font-size: 31px; }
      .header-actions { gap: 10px; }
      .theme-button { width: 36px; height: 36px; }
      .legal { padding: 32px 0 60px; }
      .site-footer { flex-direction: column; align-items: flex-start; gap: 8px; }
    }
    @media (max-width: 380px) {
      .site-header { column-gap: 8px; }
      .site-header .text-button { font-size: 10px; }
      .site-header .text-button .icon { display: none; }
      .header-actions { gap: 6px; }
      .theme-button { width: 32px; }
    }
    @media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }

  