/* Privacy policy content: css/privacy.css */
.pp{
  --bg:#0A0B0F;--panel:#0F1117;--panel2:#161922;--line:#1F232D;
  --ink:#F2F4F8;--muted:#8A90A0;--body:#C3C8D4;--blue:#3B82F6;--cyan:#22D3EE;--mint:#34D399;
  background:var(--bg);color:var(--ink);
  font-family:"Space Grotesk",system-ui,sans-serif;font-size:1.02rem;line-height:1.7;
}
.pp *{box-sizing:border-box}
.pp a{color:var(--cyan);text-underline-offset:3px}
.pp a:focus-visible,.pp summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:4px}
.pp-wrap{max-width:1240px;margin:0 auto;padding:0 20px}

.pp-meta{padding-top:26px}
.pp-date{display:inline-flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1px solid rgba(52,211,153,.5);
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-size:.78rem;color:var(--mint)}
.pp-date::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint)}

.pp-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start;padding-top:16px;padding-bottom:48px}

.pp-toc{position:sticky;top:116px;font-size:.88rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 6px}
.pp-toc summary{list-style:none;cursor:pointer;font-weight:700;padding:2px 10px 8px;display:none}
.pp-toc summary::-webkit-details-marker{display:none}
.pp-toc ol{list-style:none;margin:0;padding:0}
.pp-toc a{display:block;padding:5px 10px;border-radius:7px;color:var(--muted);text-decoration:none;line-height:1.3}
.pp-toc a:hover{color:var(--ink);background:var(--panel2)}
.pp-toc a.on{color:#fff;font-weight:700;background:linear-gradient(90deg,rgba(59,130,246,.28),rgba(34,211,238,.08));box-shadow:inset 3px 0 0 var(--cyan)}

.pp-doc{display:grid;gap:12px}
.pp-doc section{--h:215;scroll-margin-top:116px;padding:20px 26px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.pp-doc section:nth-of-type(6n+1){--h:215}
.pp-doc section:nth-of-type(6n+2){--h:160}
.pp-doc section:nth-of-type(6n+3){--h:35}
.pp-doc section:nth-of-type(6n+4){--h:265}
.pp-doc section:nth-of-type(6n+5){--h:185}
.pp-doc section:nth-of-type(6n+6){--h:150}
.pp-doc section:target{border-color:hsl(var(--h) 80% 60%);box-shadow:0 0 28px hsl(var(--h) 80% 55% / .18)}
.pp-doc h2{display:flex;gap:12px;align-items:center;margin:0 0 10px;font-size:1.75rem;line-height:1.25;letter-spacing:-.015em;color:var(--ink)}
.pp-doc h2 .n{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;border:2px solid hsl(var(--h) 80% 58%);color:hsl(var(--h) 85% 68%);font-size:.8rem;font-weight:700}
.pp-doc h3{margin:14px 0 2px;font-size:.95rem;color:hsl(var(--h) 85% 68%)}
.pp-doc p{margin:0 0 10px;color:var(--body)}
.pp-doc ul{margin:0 0 10px;padding-left:1.15em;color:var(--body)}
.pp-doc li{margin:2px 0}
.pp-doc li::marker{color:hsl(var(--h) 80% 60%)}
.pp-doc section>*:last-child{margin-bottom:0}
.pp .contact{font-size:1.1rem;font-weight:700}

.pp .flow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;margin:4px 0 14px;padding:22px 18px 14px;max-width:72ch;background:var(--bg);border:1px solid var(--line);border-radius:10px}
.pp .node{padding:7px 13px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);font-weight:700;font-size:.88rem;white-space:nowrap;color:var(--ink)}
.pp .node-key{border-color:rgba(52,211,153,.6);color:var(--mint);background:rgba(52,211,153,.08)}
.pp .pipe{position:relative;height:2px;margin:0 6px;min-width:40px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.pp .pipe::after{content:"";position:absolute;right:-1px;top:-5px;border:6px solid transparent;border-left:9px solid var(--cyan);border-right:0}
.pp .pipe span{position:absolute;left:50%;top:-22px;transform:translateX(-50%);font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.72rem;color:var(--muted)}
.pp .side{grid-column:1 / -1;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);font-size:.85rem;color:var(--muted)}

@media (max-width:860px){
  .pp-layout{grid-template-columns:1fr;gap:14px}
  .pp-toc{position:static;padding:10px}
  .pp-toc summary{display:block}
  .pp-toc[open] summary{padding-bottom:8px}
  .pp-doc section{padding:16px}
}
@media (max-width:480px){
  .pp .flow{grid-template-columns:1fr;justify-items:start;gap:22px}
  .pp .pipe{width:2px;height:30px;margin:0 0 0 22px;min-width:0;background:linear-gradient(var(--blue),var(--cyan))}
  .pp .pipe::after{right:auto;left:-5px;top:auto;bottom:-1px;border:6px solid transparent;border-top:9px solid var(--cyan);border-bottom:0}
  .pp .pipe span{left:14px;top:6px;transform:none}
}