/* Zockparadies: 100+ ranked players celebration. Scoped; ranking styles untouched. */
.zpd100-overlay[hidden]{display:none!important}
.zpd100-overlay{
  position:fixed;inset:0;z-index:100000;display:grid;place-items:center;
  padding:clamp(12px,3vw,30px);background:rgba(5,10,5,.84);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  overflow-y:auto;overscroll-behavior:contain;isolation:isolate;
}
body.zpd100-open{overflow:hidden}
.zpd100-fireworks{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}
.zpd100-dialog{
  position:relative;z-index:1;width:min(100%,590px);max-height:calc(100dvh - 28px);
  overflow-y:auto;overflow-x:hidden;flex:none;
  padding:clamp(23px,5vw,42px) clamp(18px,5vw,42px) 30px;
  color:var(--fg,#f2eedb);text-align:center;
  background:linear-gradient(150deg,rgba(43,56,27,.98),rgba(16,24,12,.99) 58%,rgba(8,15,9,.99));
  border:2px solid var(--yellow,#e8c33a);
  box-shadow:0 0 0 5px rgba(232,195,58,.14),0 26px 95px rgba(0,0,0,.75),0 0 65px rgba(232,195,58,.16);
  animation:zpd100-arrive .6s cubic-bezier(.22,1,.36,1) both;
}
.zpd100-dialog::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,rgba(232,195,58,.17),transparent 53%),
    linear-gradient(135deg,rgba(134,196,67,.13),transparent 40%);
}
.zpd100-dialog::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:10px;
  background:repeating-linear-gradient(-45deg,var(--yellow,#e8c33a) 0 14px,var(--ink,#121409) 14px 28px);
}
.zpd100-corner{position:absolute;width:26px;height:26px;border-color:var(--yellow,#e8c33a);pointer-events:none}
.zpd100-corner--tl{top:9px;left:9px;border-top:3px solid;border-left:3px solid}
.zpd100-corner--br{bottom:19px;right:9px;border-bottom:3px solid;border-right:3px solid}
.zpd100-close{
  position:absolute;right:13px;top:13px;z-index:2;display:grid;place-items:center;
  width:40px;height:40px;border:1px solid rgba(232,195,58,.5);
  background:rgba(0,0,0,.43);color:#fff;font-size:22px;line-height:1;
  cursor:pointer;transition:background .2s ease,transform .2s ease;
}
.zpd100-close:hover{background:rgba(232,195,58,.19);transform:scale(1.06)}
.zpd100-logo{width:clamp(70px,16vw,104px);height:clamp(70px,16vw,104px);object-fit:contain;display:block;margin:0 auto 7px;filter:drop-shadow(0 0 19px rgba(65,150,236,.43))}
.zpd100-kicker{
  display:inline-block;margin:0 0 12px;padding:5px 11px;
  background:var(--yellow,#e8c33a);color:var(--ink,#121409);
  font:700 14px/1.25 var(--f-label,"Barlow Condensed",sans-serif);letter-spacing:.16em;text-transform:uppercase;
}
.zpd100-title{
  font:400 clamp(70px,15vw,130px)/.97 var(--f-display,"Bowlby One SC",Impact,sans-serif);
  letter-spacing:-.05em;color:var(--yellow,#e8c33a);margin:0;
  text-shadow:4px 5px 0 rgba(0,0,0,.67),0 0 28px rgba(232,195,58,.28);
}
.zpd100-title span{color:#f5efcf}
.zpd100-subtitle{
  margin:5px 0 18px;color:#faf5db;font:400 clamp(23px,5.8vw,38px)/1.15 var(--f-display,"Bowlby One SC",Impact,sans-serif);
  text-transform:uppercase;letter-spacing:.015em;
}
.zpd100-divider{height:3px;max-width:250px;margin:0 auto 20px;background:linear-gradient(90deg,transparent,#e8c33a,transparent)}
.zpd100-message{
  max-width:470px;margin:0 auto 17px;font:500 clamp(15px,2.5vw,18px)/1.55 var(--f-body,"Barlow",sans-serif);
  color:#e2e7d4;
}
.zpd100-message strong{color:#fff;font-weight:700}
.zpd100-signature{
  margin:0 0 22px;color:var(--yellow,#e8c33a);
  font:700 14px/1.4 var(--f-label,"Barlow Condensed",sans-serif);letter-spacing:.11em;text-transform:uppercase;
}
.zpd100-actions{display:flex;justify-content:center;gap:11px;flex-wrap:wrap}
.zpd100-action{
  min-height:48px;padding:12px 19px;border:2px solid var(--yellow,#e8c33a);
  cursor:pointer;text-decoration:none;text-transform:uppercase;
  font:400 15px/1.2 var(--f-display,"Bowlby One SC",Impact,sans-serif);
  transition:transform .15s ease,filter .15s ease,background .15s ease;
}
.zpd100-action:hover{filter:brightness(1.1);transform:translateY(-2px)}
.zpd100-action--primary{color:var(--ink,#121409);background:var(--yellow,#e8c33a);box-shadow:inset -4px -4px 0 var(--yellow-deep,#a9861a)}
.zpd100-action--secondary{color:#f2eedb;background:rgba(0,0,0,.24)}
.zpd100-action:focus-visible,.zpd100-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
@keyframes zpd100-arrive{from{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:480px){
  .zpd100-dialog{padding:25px 18px 27px}
  .zpd100-logo{width:70px;height:70px;margin-bottom:4px}
  .zpd100-kicker{font-size:12px;margin-bottom:8px}
  .zpd100-title{font-size:clamp(66px,21vw,96px)}
  .zpd100-subtitle{font-size:clamp(22px,6.7vw,32px);margin-bottom:12px}
  .zpd100-divider{margin-bottom:14px}
  .zpd100-message{font-size:15px;margin-bottom:11px}
  .zpd100-signature{margin-bottom:17px}
  .zpd100-actions{flex-direction:column}
  .zpd100-action{width:100%;font-size:13px}
}
@media(max-height:640px){.zpd100-dialog{padding-top:17px;padding-bottom:21px}.zpd100-logo{width:60px;height:60px}.zpd100-subtitle{margin-bottom:10px}.zpd100-divider{margin-bottom:10px}.zpd100-signature{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.zpd100-dialog{animation:none}.zpd100-action,.zpd100-close{transition:none}}

.zpd100-dialog:focus{outline:none}
/* Compact phones in landscape / shorter viewports: keep both buttons fully visible. */
@media(max-width:360px) and (max-height:620px){
  .zpd100-dialog{padding:13px 13px 18px}
  .zpd100-logo{width:48px;height:48px;margin-bottom:0}
  .zpd100-kicker{font-size:11px;padding:3px 8px;margin-bottom:5px}
  .zpd100-title{font-size:58px}
  .zpd100-subtitle{font-size:20px;margin:2px 0 8px}
  .zpd100-divider{margin-bottom:8px}
  .zpd100-message{font-size:13px;line-height:1.35;margin-bottom:6px}
  .zpd100-signature{font-size:12px;margin-bottom:9px}
  .zpd100-actions{gap:7px}
  .zpd100-action{min-height:39px;padding:8px 10px;font-size:12px}
}
