/* Pointify app legal pages — shared stylesheet.
   External (not inline) so it complies with the deployed CSP `style-src 'self'`.
   Shared by privacy.html, privacy.pl.html, terms.html, terms.pl.html.
   The .warn-box rules are only used by the terms pages; harmless on privacy. */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/InterVariable.woff2') format('woff2-variations'),url('/fonts/InterVariable.woff2') format('woff2');unicode-range:U+0000-024F,U+2010-2015,U+2018-201E,U+2022,U+2026,U+00A9,U+00AE,U+00B7,U+2190,U+2192,U+2713,U+00D7;}
*,*::before,*::after{box-sizing:border-box;}
:root{
  --v50:#f5f3ff;--v100:#ede9fe;--v200:#ddd6fe;--v300:#c4b5fd;--v400:#a78bfa;--v500:#8b5cf6;--v600:#7c3aed;--v700:#6d28d9;--v900:#4c1d95;
  --s50:#f8fafc;--s100:#f1f5f9;--s200:#e2e8f0;--s300:#cbd5e1;--s500:#64748b;--s600:#475569;--s700:#334155;--s800:#1e293b;--s900:#0f172a;
  --white:#fff;--bg:#fafafa;--border-soft:rgba(15,23,42,.08);--header-bg:rgba(255,255,255,.82);
  --radius-md:16px;--grad:linear-gradient(135deg,var(--v700),var(--v500));
  --shadow-sm:0 1px 6px rgba(0,0,0,.06);--shadow-purple:0 4px 14px rgba(124,58,237,.28);
}
[data-theme="dark"]{
  color-scheme:dark;
  --v50:#1a1528;--v100:#23193a;--v200:#2e2252;--v300:#a78bfa;--v400:#b39efb;--v500:#9d6ff7;--v600:#8b5cf6;--v700:#7c3aed;--v900:#4c1d95;
  --s50:#141c2e;--s100:#1a2438;--s200:#243040;--s300:#3a4a60;--s500:#94a3b8;--s600:#a0aec0;--s700:#cbd5e1;--s800:#e2e8f0;--s900:#f1f5f9;
  --white:#14141e;--bg:#0d0d14;--border-soft:rgba(255,255,255,.08);--header-bg:rgba(20,20,30,.82);
  --shadow-sm:0 1px 6px rgba(0,0,0,.5);--shadow-purple:0 4px 14px rgba(124,58,237,.45);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--s900);line-height:1.55;font-feature-settings:"cv11","ss01","kern";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
::selection{background:rgba(167,139,250,.3);}
a{color:inherit;}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-soft);}
.site-header-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.25rem;}
.brand{display:inline-flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:900;letter-spacing:-.5px;text-decoration:none;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.brand img{width:30px;height:30px;border-radius:9px;}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:var(--s100);border:1px solid var(--s200);cursor:pointer;color:var(--s600);transition:background .2s,color .2s,border-color .2s,transform .18s;flex-shrink:0;}
.theme-toggle:hover{background:var(--v50);color:var(--v700);border-color:var(--v300);transform:translateY(-1px);}
.theme-toggle svg{pointer-events:none;}
.icon-sun{display:none;}.icon-moon{display:block;}
[data-theme="dark"] .icon-sun{display:block;}[data-theme="dark"] .icon-moon{display:none;}

/* Hero */
.page-hero{position:relative;overflow:hidden;padding:3rem 1.25rem 2.75rem;background:linear-gradient(160deg,var(--white) 0%,var(--v50) 60%,var(--bg) 100%);border-bottom:1px solid var(--border-soft);}
.page-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(139,92,246,.06) 1px,transparent 1px);background-size:26px 26px;pointer-events:none;}
.page-hero::after{content:'';position:absolute;top:-90px;right:-70px;width:320px;height:320px;background:radial-gradient(circle,rgba(139,92,246,.14) 0%,transparent 70%);pointer-events:none;}
.page-hero-inner{max-width:1080px;margin:0 auto;position:relative;}
.page-tag{display:inline-flex;align-items:center;gap:.45rem;font-size:.6875rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--v600);margin-bottom:.9rem;background:var(--v100);border:1px solid var(--v200);padding:.32rem .7rem;border-radius:999px;}
.page-tag::before{content:'';width:14px;height:2px;background:var(--grad);border-radius:2px;}
.page-title{font-size:clamp(2rem,5vw,3rem);font-weight:900;letter-spacing:-.035em;line-height:1.1;margin:0 0 .55rem;color:var(--s900);background:linear-gradient(120deg,var(--s900) 35%,var(--v600) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.page-meta{font-size:.875rem;color:var(--s500);font-variant-numeric:tabular-nums;}

/* Content */
.page-content{padding:2.5rem 1.25rem 3rem;background:var(--bg);}
.page-content-inner{max-width:1080px;margin:0 auto;counter-reset:sec;}
.highlight-box{background:linear-gradient(135deg,var(--v50),var(--white));border:1px solid var(--v200);border-left:4px solid var(--v500);border-radius:14px;padding:1.2rem 1.45rem;margin-bottom:2.5rem;box-shadow:var(--shadow-sm);}
.highlight-box p{font-size:.9rem;color:var(--v700);line-height:1.7;margin:0;font-weight:500;}
[data-theme="dark"] .highlight-box p{color:var(--v300);}
.warn-box{background:linear-gradient(135deg,#fff7ed,var(--white));border:1px solid #fed7aa;border-left:4px solid #f59e0b;border-radius:14px;padding:1.2rem 1.45rem;margin-bottom:2.25rem;box-shadow:var(--shadow-sm);}
.warn-box p{font-size:.9rem;color:#92400e;line-height:1.7;margin:0;font-weight:500;}
[data-theme="dark"] .warn-box{background:linear-gradient(135deg,rgba(245,158,11,.12),var(--white));border-color:rgba(245,158,11,.35);}
[data-theme="dark"] .warn-box p{color:#fbbf24;}
.toc{background:var(--white);border:1px solid var(--border-soft);border-radius:16px;padding:1.5rem 1.75rem;margin-bottom:2.75rem;box-shadow:var(--shadow-sm);}
.toc h3{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--s500);margin:0 0 1rem;}
.toc ol{margin:0;padding-left:1.25rem;columns:2;column-gap:2.5rem;}
.toc ol li{font-size:.875rem;line-height:1.95;padding-left:.2rem;}
.toc ol li a{color:var(--v600);text-decoration:none;}
.toc ol li a:hover{text-decoration:underline;}
.ps{margin-bottom:2.5rem;scroll-margin-top:5.5rem;counter-increment:sec;}
.ps h2{display:flex;align-items:center;gap:.7rem;font-size:1.15rem;font-weight:800;color:var(--s900);margin:0 0 1rem;padding-bottom:.7rem;border-bottom:1px solid var(--border-soft);}
.ps h2::before{content:counter(sec);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;font-size:.85rem;font-weight:800;color:#fff;background:var(--grad);border-radius:9px;box-shadow:var(--shadow-purple);}
.ps p{font-size:.9375rem;color:var(--s700);line-height:1.8;margin:0 0 .75rem;}
.ps ul,.ps ol{padding-left:1.4rem;margin:0 0 .75rem;}
.ps li{font-size:.9375rem;color:var(--s700);line-height:1.8;margin-bottom:.4rem;}
.ps li::marker{color:var(--v500);}
.ps strong{color:var(--s900);font-weight:700;}
.ps a{color:var(--v600);text-decoration:none;font-weight:500;}
.ps a:hover{text-decoration:underline;}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.25rem;border-radius:12px;border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);}
.data-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--white);}
.data-table th{background:var(--grad);color:#fff;font-weight:700;padding:.7rem .9rem;text-align:left;}
.data-table td{padding:.7rem .9rem;border-bottom:1px solid var(--border-soft);color:var(--s700);vertical-align:top;line-height:1.65;}
.data-table tr:last-child td{border-bottom:none;}
.data-table tbody tr:nth-child(even) td{background:var(--v50);}
.data-table strong{color:var(--s900);}
.user-type-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;margin-right:.25rem;letter-spacing:.4px;vertical-align:middle;}
.badge-customer{background:#d1fae5;color:#065f46;}
.badge-partner{background:var(--v200);color:var(--v900);}
[data-theme="dark"] .badge-customer{background:rgba(16,185,129,.18);color:#6ee7b7;}
[data-theme="dark"] .badge-partner{background:rgba(139,92,246,.22);color:#c4b5fd;}

/* Footer */
.site-footer{border-top:1px solid var(--border-soft);background:var(--white);padding:2rem 1.25rem;}
.site-footer-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;}
.site-footer .brand{font-size:1.05rem;}
.site-footer .brand img{width:26px;height:26px;}
.footer-links{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:center;}
.footer-links a{color:var(--s600);text-decoration:none;font-size:.85rem;font-weight:500;}
.footer-links a:hover{color:var(--v600);}
.footer-copy{width:100%;font-size:.8rem;color:var(--s500);margin:.25rem 0 0;}

@media(min-width:768px){.page-hero{padding:4.5rem 2rem 3.5rem;}.page-content{padding:3.5rem 2rem 4rem;}}
@media(max-width:600px){.toc ol{columns:1;}}
@media(max-width:480px){.page-title{font-size:1.85rem;}.ps h2{font-size:1.05rem;}.site-header-inner{padding:.6rem 1rem;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{transition-duration:.01ms !important;}}
