/* The full privacy policy (/privacy-policy/) and the 404 page: long-form text set in the site's own tokens
   (--ink, --muted, --line, --card, --accent-text, --radius) so both themes follow the rest of the site. */
.legal{padding:72px 0 96px}
.legal .wrap{max-width:820px;display:flex;flex-direction:column;gap:28px}
.legal h1{font-size:calc(var(--h1,88px) * .75)}
.legal section{display:flex;flex-direction:column;gap:14px;padding:30px 0;border-top:1px solid var(--line);scroll-margin-top:110px}
.legal h2{font-size:clamp(24px,3vw,30px);line-height:1.15;display:flex;gap:14px;align-items:baseline}
.legal h2 .num{font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--accent-text);font-variant-numeric:tabular-nums}
.legal h3{font-size:20px;margin-top:6px}
.legal h4{font-size:17px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.legal p,.legal li,.legal td{color:var(--muted);line-height:1.6}
.legal strong,.legal b{color:var(--ink)}
.legal a{color:var(--accent-text);text-underline-offset:3px}
.legal ul.clean{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}

.legal .meta-row{display:flex;flex-wrap:wrap;gap:8px}
.legal .meta-chip{font-size:14px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}

.legal .toc{padding:24px 28px;border-radius:var(--radius,28px);background:var(--card);color:var(--card-ink,var(--ink))}
.legal .toc h2{font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.legal .toc ol{margin:0;padding-left:22px;columns:2 260px;column-gap:32px}
.legal .toc li{padding:3px 0;break-inside:avoid}

.legal .ai-note,.legal .callout{display:flex;gap:14px;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:var(--card)}
.legal .ai-note svg,.legal .callout .ico svg{width:22px;height:22px;flex:none;margin-top:2px}
.legal .ai-note{color:var(--card-ink,var(--ink))}
.legal .callout .body{display:flex;flex-direction:column;gap:6px}
.legal .callout .k{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.legal .callout.review{border-color:#E8A33D}
.legal .callout.review .ico{color:#C77A12}
.legal .callout.good .ico{color:#1F9D6B}
.legal .callout.info .ico{color:var(--accent-text)}

.legal .table-scroll{overflow-x:auto;border-radius:18px;border:1px solid var(--line)}
.legal table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.legal caption{text-align:left;padding:14px 16px;color:var(--muted);font-size:14px}
.legal th,.legal td{text-align:left;vertical-align:top;padding:12px 16px;border-top:1px solid var(--line)}
.legal th{color:var(--ink);font-weight:700}
.legal .basis{display:inline-block;font-size:13px;font-weight:700;color:var(--ink)}
.legal .subtle{font-weight:400;color:var(--muted)}

.legal .principles,.legal .rights{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.legal .principle,.legal .right{padding:18px 20px;border-radius:18px;background:var(--card);display:flex;flex-direction:column;gap:6px}
.legal .principle p,.legal .right p{color:var(--card-ink,var(--muted))}
.legal .plabel{font-weight:700;color:var(--ink) !important}
.legal .art{font-size:12px;font-weight:600;color:var(--accent-text);white-space:nowrap}

.legal .todo ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.legal .todo li{display:flex;gap:12px}
.legal .todo .box{width:16px;height:16px;flex:none;margin-top:5px;border:2px solid var(--muted);border-radius:4px}
.legal .todo .where{font-weight:700;color:var(--ink)}
.legal .todo .sub{font-size:15px}

.legal .pagefoot{padding-top:24px;border-top:1px solid var(--line);font-size:14px;display:flex;flex-direction:column;gap:10px}

.legal .actions{display:flex;flex-wrap:wrap;gap:12px}
.legal .actions a{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;font-weight:600;text-decoration:none;background:var(--btn-bg);color:var(--btn-ink)}
.legal .actions a + a{background:transparent;color:var(--ink);border:1px solid var(--line)}
.legal .actions a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
