/* PatPat Games — shared shell
   Neon arcade: deep void background, rainbow marquee wordmark, scanline + grain overlay.
   Page-specific rules live in each page's own <style> block. */

:root{
  --void:#07021a;
  --deep:#120538;
  --violet:#7b2ff7;
  --cyan:#22e7ff;
  --magenta:#ff3dca;
  --lime:#7cff4f;
  --gold:#ffc83d;
  --ink:#f4eeff;
  --muted:#a99ccb;
  --edge:rgba(255,255,255,.10);
  /* default accent — pages override on <body> */
  --accent:#22e7ff;
  --accent-soft:rgba(34,231,255,.15);
  --accent-line:rgba(34,231,255,.32);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--void);
  color:var(--ink);
  font-family:Archivo,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
::selection{background:var(--magenta);color:#fff}

/* atmosphere */
.sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.sky .glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.g1{top:-260px;left:-180px;width:720px;height:720px;background:radial-gradient(circle,rgba(123,47,247,.85),transparent 62%)}
.g2{top:-140px;right:-200px;width:640px;height:640px;background:radial-gradient(circle,var(--accent-soft),transparent 62%)}
.g3{top:900px;left:-220px;width:680px;height:680px;background:radial-gradient(circle,rgba(255,61,202,.34),transparent 64%)}
.stars{position:absolute;inset:0;
  background-image:
    radial-gradient(1.4px 1.4px at 12% 18%,#fff,transparent),
    radial-gradient(1.2px 1.2px at 68% 8%,#c9b6ff,transparent),
    radial-gradient(1.6px 1.6px at 88% 34%,#8ef6ff,transparent),
    radial-gradient(1.2px 1.2px at 30% 52%,#fff,transparent),
    radial-gradient(1.4px 1.4px at 54% 74%,#ffd6f5,transparent),
    radial-gradient(1.1px 1.1px at 8% 82%,#fff,transparent),
    radial-gradient(1.5px 1.5px at 78% 92%,#b9ffcf,transparent),
    radial-gradient(1.2px 1.2px at 42% 30%,#fff,transparent);
  opacity:.5;animation:twinkle 7s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.32}50%{opacity:.62}}
.scan{position:fixed;inset:0;z-index:60;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.028) 0 1px,transparent 1px 4px);
  mix-blend-mode:overlay}
.grain{position:fixed;inset:0;z-index:59;pointer-events:none;opacity:.16;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}

/* shell */
.wrap{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 32px}
section{position:relative;z-index:2}

/* header */
header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);
  background:linear-gradient(180deg,rgba(7,2,26,.92),rgba(7,2,26,.55));
  border-bottom:1px solid var(--edge)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;
  max-width:1180px;margin:0 auto;padding:14px 32px}
.logo{display:flex;align-items:center;gap:10px}
.wordmark{font-family:Bungee,cursive;font-size:21px;letter-spacing:.01em;line-height:1;
  background:linear-gradient(96deg,#ff7a3d 0%,#ffc83d 18%,#7cff4f 40%,#22e7ff 62%,#7b2ff7 82%,#ff3dca 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 14px rgba(123,47,247,.55))}
.hand{font-size:20px;display:inline-block;transform-origin:70% 80%;animation:wave 2.6s ease-in-out infinite}
@keyframes wave{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(16deg)}80%{transform:rotate(-10deg)}90%{transform:rotate(12deg)}}
nav{display:flex;align-items:center;gap:26px}
nav a{font-size:14px;font-weight:600;color:var(--muted);transition:color .2s}
nav a:hover{color:var(--ink)}
.navcta{padding:9px 16px;border-radius:999px;color:#0a0320 !important;font-weight:800;font-size:13px;
  background:linear-gradient(100deg,var(--lime),var(--cyan));
  box-shadow:0 0 22px rgba(34,231,255,.42);transition:transform .2s,box-shadow .2s}
.navcta:hover{transform:translateY(-2px);box-shadow:0 0 32px rgba(34,231,255,.7)}

/* type */
h1{font-family:Bungee,cursive;font-weight:400;font-size:clamp(36px,5.2vw,62px);line-height:1.04;margin:26px 0 0}
h2{font-family:Bungee,cursive;font-weight:400;font-size:clamp(26px,3.4vw,38px);margin:12px 0 0;line-height:1.12}
h3{font-family:Bungee,cursive;font-weight:400;font-size:17px;letter-spacing:.02em;margin:0}
.kicker{font-size:11.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.lede{font-size:17.5px;line-height:1.66;color:var(--muted);max-width:520px;margin:22px 0 0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 24px;border-radius:14px;
  font-weight:700;font-size:15px;transition:transform .22s,box-shadow .22s,border-color .22s,background .22s}
.btn-primary{color:#0a0320;background:var(--accent);box-shadow:0 14px 40px var(--accent-soft)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 52px var(--accent)}
.btn-ghost{border:1px solid var(--edge);background:rgba(255,255,255,.045);color:var(--ink)}
.btn-ghost:hover{transform:translateY(-3px);border-color:var(--accent-line);background:var(--accent-soft)}
.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.chip{padding:7px 13px;border-radius:999px;font-size:12.5px;font-weight:600;
  border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--ink)}

/* breadcrumb */
.crumb{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);padding-top:34px}
.crumb a:hover{color:var(--accent)}

/* footer */
footer{position:relative;z-index:2;margin-top:96px;border-top:1px solid var(--edge);
  background:linear-gradient(180deg,transparent,rgba(123,47,247,.10))}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:56px 0 40px}
.fgrid h4{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-weight:800}
.fgrid a{display:block;font-size:14.5px;color:#cfc2ee;margin-bottom:11px;transition:color .2s}
.fgrid a:hover{color:var(--cyan)}
.fgrid p{font-size:14.5px;line-height:1.65;color:var(--muted);margin:14px 0 0;max-width:330px}
.fbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:20px 0 34px;border-top:1px solid var(--edge);font-size:13px;color:var(--muted)}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}

/* prose — legal pages */
.prose{max-width:760px;padding:8px 0 20px}
.prose h2{font-size:clamp(20px,2.4vw,26px);margin:44px 0 0}
.prose h2:first-of-type{margin-top:24px}
.prose p,.prose li{font-size:15.5px;line-height:1.75;color:#d3c9ea}
.prose p{margin:14px 0 0}
.prose ul{margin:14px 0 0;padding-left:22px}
.prose li{margin:8px 0}
.prose strong{color:var(--ink)}
.prose a{color:var(--accent);border-bottom:1px solid var(--accent-line)}
.note{margin-top:26px;padding:20px 22px;border-radius:18px;
  border:1px solid var(--accent-line);background:var(--accent-soft)}
.note p{margin:0}
.updated{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:18px}

@media(max-width:960px){ .fgrid{grid-template-columns:1fr;gap:30px} }
@media(max-width:640px){
  .wrap,.bar{padding-left:20px;padding-right:20px}
  nav a:not(.navcta){display:none}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  .rv{opacity:1;transform:none}
}
