/* ============================================================
   NotiVault AI Privacy Policy — shared design-system stylesheet.
   Reflects the app theme (Indigo #4C5FD5). Light/dark auto.
   Used by all privacy-<lang>.html files. Host this file in the
   same folder so external viewing keeps the style intact.
   ============================================================ */
:root{
  --accent:#4C5FD5; --on-accent:#FFFFFF; --accent-weak:#EEF0FB;
  --bg:#FFFFFF; --surface:#FFFFFF; --well:#F2F2F2; --divider:#E5E5E5;
  --text:#1A1A1A; --text-2:#6B6B6B; --outline:#C9C9C9; --danger:#FF5050;
  --r-card:16px; --r-mid:12px; --r-sm:8px;
  --maxw:780px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans","Noto Sans KR","Noto Sans JP","Noto Sans SC","Noto Sans Arabic","Noto Sans Hebrew","Noto Sans Thai","Noto Sans Devanagari","Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{
    --accent:#B6C0F8; --on-accent:#1B2150; --accent-weak:#2A2F52;
    --bg:#141414; --surface:#1B1B1B; --well:#2A2A2A; --divider:#3A3A3A;
    --text:#EDEDED; --text-2:#9A9A9A; --outline:#565656;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font); font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:var(--accent); text-decoration:none; word-break:break-word}
a:hover{text-decoration:underline}

/* Header */
header.bar{
  position:sticky; top:0; z-index:10;
  display:flex; align-items:center; gap:12px;
  padding:12px clamp(16px,4vw,28px);
  background:color-mix(in srgb, var(--surface) 88%, transparent);
  backdrop-filter:saturate(180%) blur(12px); -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--divider);
}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; font-size:17px; color:var(--text)}
.logo{
  width:30px; height:30px; border-radius:9px; flex:0 0 auto;
  background:var(--accent); color:var(--on-accent);
  display:grid; place-items:center; font-weight:800; font-size:16px;
  box-shadow:0 2px 8px rgba(76,95,213,.28);
}
.spacer{flex:1}
.lang{
  appearance:none; -webkit-appearance:none;
  font:inherit; font-size:14px; color:var(--text);
  background:var(--well); border:1px solid var(--divider);
  border-radius:var(--r-sm); padding:8px 30px 8px 12px; cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat; background-position:right 9px center;
}
[dir=rtl] .lang{padding:8px 12px 8px 30px; background-position:left 9px center}

/* Layout */
main{max-width:var(--maxw); margin:0 auto; padding:clamp(20px,5vw,44px) clamp(16px,4vw,28px) 64px}
h1{font-size:clamp(24px,5vw,30px); line-height:1.3; margin:.2em 0 .35em; letter-spacing:-.01em}
.eff{
  display:inline-block; background:var(--well); color:var(--text-2);
  font-size:13px; font-weight:600; padding:6px 12px; border-radius:999px; margin-bottom:18px;
}
.principle{
  background:var(--accent-weak); border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  border-radius:var(--r-card); padding:16px 18px; margin:18px 0 8px;
}
.principle strong{color:var(--accent)}
h2{
  font-size:19px; margin:34px 0 10px; padding-top:18px; border-top:1px solid var(--divider);
  letter-spacing:-.01em; scroll-margin-top:70px;
}
h2:first-of-type{border-top:0; padding-top:0}
h3{font-size:15px; color:var(--text-2); margin:18px 0 8px; font-weight:700}
p{margin:10px 0}
ul,ol{margin:10px 0; padding-inline-start:22px}
li{margin:6px 0}
.muted{color:var(--text-2)}
.small{font-size:14px}
code{background:var(--well); padding:1px 6px; border-radius:6px; font-size:.9em}

/* Tables */
.tw{overflow-x:auto; border:1px solid var(--divider); border-radius:var(--r-mid); margin:14px 0}
table{border-collapse:collapse; width:100%; font-size:14.5px; min-width:480px}
thead th{background:var(--well); color:var(--text); text-align:start; font-weight:700}
th,td{padding:10px 13px; border-bottom:1px solid var(--divider); vertical-align:top; text-align:start}
tr:last-child td{border-bottom:0}
td:first-child,th:first-child{white-space:nowrap}
td.wrap:first-child{white-space:normal}

/* Callout note */
.note{
  background:var(--well); border-radius:var(--r-mid);
  border-inline-start:3px solid var(--accent);
  padding:12px 16px; margin:14px 0; font-size:14.5px; color:var(--text-2);
}
.note strong{color:var(--text)}

/* Contact block */
.contact{background:var(--well); border-radius:var(--r-card); padding:16px 18px; margin:14px 0}
.contact div{margin:5px 0}
.contact b{color:var(--text)}

footer{max-width:var(--maxw); margin:0 auto; padding:24px clamp(16px,4vw,28px) 48px; color:var(--text-2); font-size:13px; border-top:1px solid var(--divider)}

@media (max-width:520px){ body{font-size:15px} h2{font-size:17.5px} }
@media print{ header.bar{position:static; backdrop-filter:none} .lang{display:none} a{color:var(--text)} }
