/* policy.css — shared style for DozyDon policy pages (Terms/Privacy/DMCA)
   Includes: page theme + header/nav + cards + doc typography + NEW footer policy-row animations
*/

:root{
  --bg0:#060713;
  --bg1:#0a1022;
  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.08);
  --line: rgba(255,255,255,.12);
  --ink:#EAF0FF;
  --muted:rgba(234,240,255,.72);
  --muted2:rgba(234,240,255,.55);

  --violet:#7C3AED;
  --cyan:#22D3EE;
  --green:#34D399;
  --amber:#FBBF24;
  --pink:#FB7185;

  --goldA:#f7e3a1;
  --goldB:#f1c55a;

  --shadow: 0 24px 70px rgba(0,0,0,.50);
  --r1:18px;
  --r2:26px;
  --max:1160px;

  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:
    radial-gradient(1100px 680px at 18% 12%, rgba(124,58,237,.25), transparent 55%),
    radial-gradient(900px 600px at 85% 16%, rgba(34,211,238,.18), transparent 60%),
    radial-gradient(900px 700px at 60% 95%, rgba(52,211,153,.10), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

/* Animated grid + scanline */
.fx-grid{
  position:fixed; inset:0; pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.09) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.09) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity:.14;
  mask-image: radial-gradient(circle at 32% 18%, rgba(0,0,0,1), transparent 65%);
  animation: gridDrift 14s linear infinite;
}
@keyframes gridDrift{
  0%{ transform: translate3d(0,0,0); }
  100%{ transform: translate3d(-56px, -56px, 0); }
}

.scanline{
  position:fixed; left:-20%; right:-20%; height:140px; top:-160px;
  background: linear-gradient(to bottom, transparent, rgba(34,211,238,.10), transparent);
  pointer-events:none;
  filter: blur(0.2px);
  animation: scan 6.5s linear infinite;
  opacity:.7;
}
@keyframes scan{
  0%{ transform: translateY(-220px); }
  100%{ transform: translateY(calc(100vh + 260px)); }
}

/* Floating orbs */
.orb{
  position:fixed; width:520px; height:520px; border-radius:999px;
  filter: blur(42px);
  opacity:.22;
  pointer-events:none;
  background: radial-gradient(circle at 30% 30%, rgba(124,58,237,.95), transparent 60%),
              radial-gradient(circle at 70% 60%, rgba(34,211,238,.75), transparent 58%);
  animation: floaty 10s ease-in-out infinite;
}
.orb.o1{ left:-220px; top:40px; }
.orb.o2{ right:-260px; top:180px; transform: scale(.95); animation-delay:-3s; opacity:.18; }
@keyframes floaty{
  0%,100%{ transform: translateY(0) translateX(0) scale(1); }
  50%{ transform: translateY(28px) translateX(18px) scale(1.02); }
}

.wrap{ max-width: var(--max); margin:0 auto; padding: 26px 18px 80px; position:relative; }

header{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding: 8px 0 14px;
}
.brand{ display:flex; align-items:center; gap:12px; }
.logo{
  width:46px; height:46px; border-radius: 16px;
  background:
    radial-gradient(18px 18px at 30% 30%, rgba(255,255,255,.35), transparent 55%),
    linear-gradient(135deg, var(--violet), var(--cyan));
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 50px rgba(124,58,237,.25);
  position:relative;
  overflow:hidden;
}
.logo::after{
  content:"";
  position:absolute; inset:-40%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform: rotate(18deg);
  animation: sheen 3.2s ease-in-out infinite;
  opacity:.75;
}
@keyframes sheen{
  0%{ transform: translateX(-35%) rotate(18deg); opacity:0; }
  35%{ opacity:.8; }
  100%{ transform: translateX(35%) rotate(18deg); opacity:0; }
}
.brand h1{ margin:0; font-size:16px; letter-spacing:.2px; }
.brand p{ margin:2px 0 0; color:var(--muted); font-size:12.5px; }

nav{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.pill{
  display:inline-flex; align-items:center; gap:8px;
  padding: 10px 12px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: var(--ink);
  text-decoration:none;
  font-size:13px;
  transition: .18s ease;
}
.pill:hover{ background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.18); transform: translateY(-1px); }
.dot{
  width:8px; height:8px; border-radius:999px;
  background: linear-gradient(135deg, var(--cyan), var(--violet));
  box-shadow: 0 0 0 4px rgba(34,211,238,.12);
}

.card{
  background: var(--card);
  border:1px solid var(--line);
  border-radius: var(--r2);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.card-inner{ padding:18px; }

.section-title{
  margin: 0 0 10px;
  font-size: 15px;
  letter-spacing:.2px;
  color: rgba(234,240,255,.9);
}
.sub{
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
  margin:0;
}
.notice{
  border-radius: var(--r1);
  padding: 12px 12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: var(--muted);
  font-size: 13px;
  line-height:1.85;
}
.notice code{
  font-family: var(--mono);
  font-size: 12px;
  color: rgba(234,240,255,.9);
  word-break: break-all;
}
.notice.good{ border-color: rgba(52,211,153,.28); background: rgba(52,211,153,.08); }
.notice.bad{ border-color: rgba(251,113,133,.35); background: rgba(251,113,133,.08); }

.doc h2{ margin: 18px 0 6px; font-size: 14.5px; letter-spacing:.2px; }
.doc p{ color: var(--muted); line-height:1.9; margin: 8px 0; }
.doc ul{ margin: 8px 0 0; padding-left: 18px; }
.doc li{ margin: 6px 0; color: var(--muted); line-height:1.85; }

.k{ font-family: var(--mono); font-size: 12px; color: rgba(234,240,255,.88); word-break: break-all; }

footer{
  margin-top: 22px;
  color: var(--muted2);
  font-size: 12.5px;
  line-height: 1.7;
}
footer a{ color: rgba(234,240,255,.85); }

/* -----------------------------
   NEW FOOTER ANIMATIONS (your block moved here)
------------------------------ */
footer .policy-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
footer .policy-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
footer .policy-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding: 9px 12px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(234,240,255,.90);
  text-decoration:none;
  font-size: 12.5px;
  line-height: 1;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
  position:relative;
  overflow:hidden;
}
footer .policy-link::after{
  content:"";
  position:absolute;
  inset:-40% -20%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
  transform: rotate(16deg) translateX(-35%);
  opacity:0;
  transition: opacity .18s ease;
  pointer-events:none;
}
footer .policy-link:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
}
footer .policy-link:hover::after{
  opacity:1;
  animation: footerSheen 1.2s ease-in-out;
}
@keyframes footerSheen{
  0%{ transform: rotate(16deg) translateX(-45%); opacity:0; }
  35%{ opacity:.9; }
  100%{ transform: rotate(16deg) translateX(45%); opacity:0; }
}

footer .picon{
  width:18px; height:18px;
  display:inline-block;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.22);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
  flex: 0 0 auto;
  position:relative;
}
footer .picon svg{
  position:absolute;
  inset:3px;
  width:12px; height:12px;
  opacity:.92;
}

footer .pulse-dot{
  width:8px; height:8px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cyan), var(--violet));
  box-shadow: 0 0 0 4px rgba(34,211,238,.12);
  transition: transform .18s ease;
  flex: 0 0 auto;
}
footer .policy-link:hover .pulse-dot{
  transform: scale(1.10);
}

footer .footer-meta{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
