/* PrivacyGate page: pipeline flow, EN/DE masking tabs, results table and SVG charts. All rules scoped under body.pc-privacygate. */
html[data-theme="light"] body.pc-privacygate { --pc-accent:#8a6416; }
html:not([data-theme="light"]) body.pc-privacygate { --pc-accent:#d9b56a; }
body.pc-privacygate b { font-weight:600; }
body.pc-privacygate .pg-sr { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.pc-privacygate .pg-cap { margin:0 0 14px; font:500 12px/1.3 'DM Mono',ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--pc-muted); }

/* ---------- pipeline flow ---------- */
body.pc-privacygate .pc-wide { margin-top:28px; }
html body.pc-privacygate .pg-flow { margin:0; padding:0; background:none !important; box-shadow:none !important; border:0 !important; border-radius:0 !important; }
body.pc-privacygate .pg-flow b { display:block; font-size:14.5px; line-height:1.35; color:var(--pc-text); }
body.pc-privacygate .pg-flow small { display:block; font-size:13px; line-height:1.4; color:var(--pc-muted); margin-top:3px; }
body.pc-privacygate .pg-st { grid-row:1 / span 2; margin:0; display:grid; place-items:center; width:22px; height:22px; border-radius:50%;
  border:1px solid var(--pc-accent); color:var(--pc-accent); font:500 11.5px/1 'DM Mono',ui-monospace,monospace; }
body.pc-privacygate .pg-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px 26px; }
body.pc-privacygate .pg-steps > li { position:relative; margin:0; padding:12px 0 0; border-top:1px solid var(--pc-line); min-width:0;
  display:grid; grid-template-columns:22px minmax(0,1fr); column-gap:10px; align-content:start; }
body.pc-privacygate .pg-flow .pg-steps > li > b { grid-column:2; align-self:center; }
body.pc-privacygate .pg-flow .pg-steps > li > small { grid-column:2; }
body.pc-privacygate .pg-steps > li:not(:last-child)::after { content:"→"; position:absolute; right:-20px; top:12px; color:var(--pc-accent); font-size:15px; line-height:22px; }
@media (max-width:899px) {
  body.pc-privacygate .pg-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.pc-privacygate .pg-steps > li:nth-child(3n)::after { content:none; }
}
@media (max-width:599px) {
  body.pc-privacygate .pg-steps { grid-template-columns:1fr; gap:0; }
  body.pc-privacygate .pg-steps > li { padding:10px 0; }
  body.pc-privacygate .pg-steps > li::after { content:none !important; }
}

/* ---------- masking tabs ---------- */
body.pc-privacygate .pg-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 18px; }
html body.pc-privacygate .pg-tabs button { margin:0; padding:6px 14px; border-radius:999px; cursor:pointer;
  font:500 12.5px/1.4 'DM Mono',ui-monospace,monospace;
  border:1px solid var(--pc-line) !important; background:transparent !important; color:var(--pc-muted) !important; transition:color .15s,border-color .15s; }
html body.pc-privacygate .pg-tabs button:hover { color:var(--pc-text) !important; border-color:var(--pc-muted) !important; background:transparent !important; }
html body.pc-privacygate .pg-tabs button[aria-selected="true"] { color:var(--pc-text) !important; border-color:var(--pc-accent) !important; background:var(--pc-chip) !important; }
body.pc-privacygate .pg-pane { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 28px; }
body.pc-privacygate .pg-pane[hidden] { display:none; }
body.pc-privacygate .pg-col { min-width:0; border-top:1px solid var(--pc-line); padding-top:10px; }
body.pc-privacygate .pg-lab { margin:0 0 6px; font:500 12px/1.3 'DM Mono',ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--pc-muted); }
body.pc-privacygate .pc-section .pg-txt { margin:0; overflow-wrap:anywhere; }
body.pc-privacygate .pg-txt mark { background:none; color:var(--pc-accent); font:500 .88em/1.4 'DM Mono',ui-monospace,monospace; padding:0 .2em; border-radius:3px; box-shadow:inset 0 0 0 1px var(--pc-accent); }
body.pc-privacygate .pc-section .pg-note { margin:14px 0 0; font-size:13px; line-height:1.5; color:var(--pc-muted); }
@media (max-width:699px) {
  body.pc-privacygate .pg-pane { grid-template-columns:1fr; }
}

/* ---------- results: table and native SVG charts ---------- */
body.pc-privacygate .pg-table { margin:18px 0 0; max-width:640px; }
body.pc-privacygate .pg-table th, body.pc-privacygate .pg-table td { padding:7px 10px 7px 0; }
body.pc-privacygate .pg-table thead th:not(:first-child), body.pc-privacygate .pg-table td { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
body.pc-privacygate .pg-table tbody th[scope="row"] { font-weight:400; }
body.pc-privacygate .pg-table tr.pg-sub th { padding-top:16px; font:500 12px/1.3 'DM Mono',ui-monospace,monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--pc-muted); }
body.pc-privacygate .pg-table tr.pg-best th, body.pc-privacygate .pg-table tr.pg-best td { font-weight:600; color:var(--pc-accent); }
body.pc-privacygate .pg-chart { margin:0; padding-top:16px; border-top:1px solid var(--pc-line); max-width:560px; }
body.pc-privacygate .pg-chart svg { display:block; width:100%; height:auto; overflow:visible; }
body.pc-privacygate .pg-chart text { font:500 13.5px 'DM Mono',ui-monospace,monospace; fill:var(--pc-muted); }
body.pc-privacygate .pg-chart text.t-b { fill:var(--pc-text); }
body.pc-privacygate .pg-chart text.t-hi { fill:var(--pc-accent); font-weight:600; }
body.pc-privacygate .pg-chart text.t-v { font:600 15px 'DM Sans',system-ui,sans-serif; fill:var(--pc-text); }
body.pc-privacygate .pg-chart .grid { stroke:var(--pc-line); stroke-width:1; }
body.pc-privacygate .pg-chart .axis { stroke:var(--pc-muted); stroke-width:1; }
body.pc-privacygate .pg-chart .bar { fill:var(--pc-accent); }
body.pc-privacygate .pg-chart .bar2 { opacity:.5; }
body.pc-privacygate .pg-chart .bar-o { fill:var(--pc-chip); stroke:var(--pc-accent); stroke-width:1.5; }
body.pc-privacygate .pg-chart .dot { fill:var(--pc-accent); stroke:var(--pc-bg); stroke-width:1.5; }
body.pc-privacygate .pg-chart .dot.ring { fill:var(--pc-bg); stroke:var(--pc-accent); stroke-width:2; }
@media (max-width:599px) {
  body.pc-privacygate .pg-chart text { font-size:14.5px; }
  body.pc-privacygate .pg-chart text.t-v { font-size:15.5px; }
  body.pc-privacygate .pg-table th, body.pc-privacygate .pg-table td { font-size:13px; }
  body.pc-privacygate .pg-table td { padding-left:6px; }
  body.pc-privacygate .pg-table thead th:not(:first-child) { padding-left:6px; }
}
