/* ═══════════════════════════════════════════════════
   Pixel Parlor — Arcade Header Banner
   Used on /login and /arcade. Self-contained styles,
   no dependencies. Drop the .pp-banner HTML block into
   any page and link this file.
   ═══════════════════════════════════════════════════ */

.pp-banner{
  position:relative;
  width:100%;
  max-width:1440px;
  margin:0 auto 24px;
  padding: clamp(16px, 3vw, 28px) clamp(16px, 3vw, 32px) clamp(20px, 3vw, 32px);
  background:
    radial-gradient(ellipse at 50% 110%, rgba(255,0,170,0.45) 0%, rgba(255,0,170,0.12) 35%, transparent 60%),
    radial-gradient(ellipse at 50% 0%, #1a0a2e 0%, #0a0420 60%, #050108 100%);
  color:#fff;
  border:1px solid rgba(255,0,170,0.25);
  border-radius:14px;
  overflow:hidden;
  font-family:'DM Mono', 'Courier New', monospace;
  isolation:isolate;
  box-shadow:0 30px 80px rgba(0,0,0,0.6), 0 0 60px rgba(255,0,170,0.12);
}

/* ── Starfield (procedural radial dots) ─── */
.pp-banner::before{
  content:'';position:absolute;inset:0;z-index:0;
  background-image:
    radial-gradient(1px 1px at 8% 12%, #fff 50%, transparent 100%),
    radial-gradient(1px 1px at 22% 30%, #fff 50%, transparent 100%),
    radial-gradient(1px 1px at 35% 8%, #fff 50%, transparent 100%),
    radial-gradient(1px 1px at 60% 22%, #fff 50%, transparent 100%),
    radial-gradient(1px 1px at 78% 14%, #fff 50%, transparent 100%),
    radial-gradient(1px 1px at 92% 36%, #fff 50%, transparent 100%),
    radial-gradient(1px 1px at 12% 60%, #fff 50%, transparent 100%),
    radial-gradient(1px 1px at 48% 78%, #fff 50%, transparent 100%);
  opacity:0.6;
  pointer-events:none;
}

/* ── Perspective grid (SVG embedded as background) ─── */
.pp-banner-grid{
  position:absolute;left:0;right:0;top:38%;bottom:0;
  pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60' preserveAspectRatio='none'%3E%3Cg stroke='%2300ffea' stroke-width='0.18' fill='none' opacity='0.85'%3E%3Cline x1='50' y1='0' x2='-50' y2='60'/%3E%3Cline x1='50' y1='0' x2='-30' y2='60'/%3E%3Cline x1='50' y1='0' x2='-10' y2='60'/%3E%3Cline x1='50' y1='0' x2='10' y2='60'/%3E%3Cline x1='50' y1='0' x2='25' y2='60'/%3E%3Cline x1='50' y1='0' x2='40' y2='60'/%3E%3Cline x1='50' y1='0' x2='60' y2='60'/%3E%3Cline x1='50' y1='0' x2='75' y2='60'/%3E%3Cline x1='50' y1='0' x2='90' y2='60'/%3E%3Cline x1='50' y1='0' x2='110' y2='60'/%3E%3Cline x1='50' y1='0' x2='130' y2='60'/%3E%3Cline x1='50' y1='0' x2='150' y2='60'/%3E%3C/g%3E%3Cg stroke='%2300ffea' stroke-width='0.16' fill='none' opacity='0.5'%3E%3Cline x1='0' y1='10' x2='100' y2='10'/%3E%3Cline x1='0' y1='22' x2='100' y2='22'/%3E%3Cline x1='0' y1='36' x2='100' y2='36'/%3E%3Cline x1='0' y1='52' x2='100' y2='52'/%3E%3C/g%3E%3C/svg%3E");
  background-size:100% 100%;
  background-position:center;
  filter:drop-shadow(0 0 4px rgba(0,255,234,0.6));
}

/* ── All foreground content sits above the grid ─── */
.pp-banner-inner{position:relative;z-index:2;display:flex;flex-direction:column;gap:clamp(10px, 2.2vw, 22px);}

/* ── Top nav row ─── */
.pp-banner-top{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
  font-family:'DM Mono', monospace;
  font-size:clamp(11px, 1.3vw, 14px);
  letter-spacing:3px;text-transform:uppercase;
}
.pp-pill-coin{
  background:linear-gradient(135deg, #ff2d7b, #ff0070);
  color:#fff;
  font-family:'DM Mono', monospace;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;
  padding:10px 18px;border-radius:999px;
  text-decoration:none;
  box-shadow:0 0 24px rgba(255,45,123,0.55), 0 4px 14px rgba(0,0,0,0.5);
  transition:transform .15s, box-shadow .2s;
  display:inline-flex;align-items:center;gap:8px;
  font-size:clamp(11px, 1.3vw, 14px);
  border:none;cursor:pointer;
}
.pp-pill-coin::before{content:'●';color:#fff;}
.pp-pill-coin:hover{transform:translateY(-1px);box-shadow:0 0 32px rgba(255,45,123,0.85), 0 6px 20px rgba(0,0,0,0.6);}

.pp-banner-links{display:flex;gap:clamp(14px, 3vw, 32px);font-weight:700;}
.pp-banner-links a{color:#fff;text-decoration:none;letter-spacing:3px;transition:color .15s, text-shadow .15s;}
.pp-banner-links a:hover{color:#00ffea;text-shadow:0 0 12px rgba(0,255,234,0.65);}

.pp-banner-topright{
  color:#ffe600;font-weight:700;
  text-shadow:0 0 12px rgba(255,230,0,0.5);
  white-space:nowrap;
}

/* ── Title ─── */
.pp-banner-titlewrap{
  position:relative;text-align:center;padding:clamp(20px, 4vw, 36px) 0 clamp(8px, 1.5vw, 14px);
}
.pp-banner-title{
  font-family:'Syne', 'Impact', sans-serif;
  font-weight:900;
  font-size:clamp(48px, 12vw, 152px);
  color:#ffe600;
  letter-spacing:clamp(2px, 0.6vw, 8px);
  line-height:0.92;
  text-shadow:
    4px 4px 0 #ff0040,
    6px 6px 18px rgba(255,0,64,0.6),
    0 0 36px rgba(255,230,0,0.35);
  margin:0;
  display:inline-block;
}
.pp-banner-tag{
  text-align:center;
  color:#fff;font-weight:700;letter-spacing:clamp(3px, 0.8vw, 8px);
  font-size:clamp(13px, 1.7vw, 22px);
  text-shadow:0 0 12px rgba(255,255,255,0.4);
}
.pp-banner-tag .arrow{color:#fff;}
.pp-banner-features{
  text-align:center;
  color:#ffe600;font-weight:700;
  font-size:clamp(11px, 1.4vw, 16px);
  letter-spacing:clamp(2px, 0.5vw, 5px);
  text-shadow:0 0 10px rgba(255,230,0,0.4);
}

/* ── Bottom row (emoji icons + press start) ─── */
.pp-banner-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.pp-emoji-row{
  display:flex;gap:clamp(4px, 1vw, 10px);
  font-size:clamp(20px, 3.4vw, 36px);line-height:1;
  filter:drop-shadow(0 0 8px rgba(255,0,170,0.45));
}
.pp-press-start{
  background:#ffe600;color:#1a0628;
  font-family:'DM Mono', monospace;font-weight:900;
  font-size:clamp(14px, 1.7vw, 20px);
  letter-spacing:clamp(2px, 0.5vw, 5px);
  padding:clamp(12px, 1.6vw, 18px) clamp(20px, 3vw, 36px);
  border:none;cursor:pointer;text-decoration:none;
  position:relative;
  box-shadow:6px 6px 0 #ff0040, 0 0 24px rgba(255,230,0,0.3);
  transition:transform .12s, box-shadow .15s;
  display:inline-flex;align-items:center;gap:8px;
  white-space:nowrap;
}
.pp-press-start::after{
  content:'';position:absolute;inset:-4px -4px -8px -2px;
  border:1px solid #00ffea;pointer-events:none;
}
.pp-press-start:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #ff0040, 0 0 36px rgba(255,230,0,0.5);}
.pp-press-start:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #ff0040;}

/* ── Mobile collapse ─── */
@media (max-width: 760px){
  .pp-banner{ margin-bottom:14px; padding:12px; }
  .pp-banner-top{ justify-content:center; gap:8px; font-size:10px; letter-spacing:1.5px; }
  .pp-banner-links{ order:3; gap:14px; flex-wrap:wrap; justify-content:center; width:100%; }
  .pp-banner-links a{ letter-spacing:1.5px; font-size:11px; }
  .pp-banner-topright{ font-size:10px; letter-spacing:1.5px; }
  .pp-pill-coin{ padding:8px 14px; letter-spacing:1.5px; }
  .pp-banner-titlewrap{ padding:20px 0 8px; }
  .pp-banner-title{ text-shadow:3px 3px 0 #ff0040, 0 0 24px rgba(255,230,0,0.3); }
  .pp-banner-grid{ top:42%; }
  .pp-banner-bottom{ justify-content:center; }
  .pp-emoji-row{ flex-wrap:wrap; justify-content:center; }
  .pp-press-start{ width:100%; justify-content:center; }
}
@media (max-width: 480px){
  .pp-banner-features{ font-size:9px; letter-spacing:1.5px; }
  .pp-banner-tag{ font-size:11px; letter-spacing:2px; }
}
