:root { --dgp-ink:#111311; --dgp-paper:#f0f0e9; --dgp-lime:#d6ff3f; }
html.dgp-popup-open, html.dgp-popup-open body { overflow:hidden !important; }
.dgp-popup,.dgp-popup * { box-sizing:border-box; }
.dgp-popup { position:fixed; z-index:2147483000; inset:0; display:grid; place-items:center; padding:24px; font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif; opacity:0; transition:opacity .2s ease; }
.dgp-popup.is-visible { opacity:1; }
.dgp-popup__backdrop { position:absolute; inset:0; background:rgba(5,7,5,.78); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.dgp-popup__dialog { position:relative; isolation:isolate; width:min(620px,100%); max-height:calc(100svh - 48px); overflow:auto; color:var(--dgp-paper); background:var(--dgp-ink); border:1px solid rgba(240,240,233,.22); border-radius:2px; box-shadow:0 34px 100px rgba(0,0,0,.55); transform:translateY(14px) scale(.985); transition:transform .22s ease; outline:none; }
.dgp-popup__dialog:before { content:""; position:absolute; z-index:-1; inset:7px 0 62px; pointer-events:none; opacity:.52; background:repeating-linear-gradient(112deg,transparent 0,transparent 54px,rgba(240,240,233,.065) 55px,rgba(240,240,233,.065) 57px,transparent 58px,transparent 112px); -webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 42%,#000 100%); mask-image:linear-gradient(90deg,transparent 2%,#000 42%,#000 100%); }
.dgp-popup.is-visible .dgp-popup__dialog { transform:none; }
.dgp-popup__accent { height:7px; background:var(--dgp-lime); }
.dgp-popup__body { position:relative; isolation:isolate; min-height:350px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:clamp(48px,8vw,76px) clamp(24px,7vw,54px); text-align:center; overflow:hidden; }
.dgp-popup__body:before { content:"!"; position:absolute; z-index:-1; left:50%; top:50%; width:250px; height:250px; display:grid; place-items:center; border:8px solid currentColor; border-radius:50%; color:var(--dgp-lime); font:900 190px/.9 Arial,sans-serif; opacity:.055; transform:translate(-50%,-48%); pointer-events:none; }
.dgp-popup__body h2 { position:relative; max-width:540px; margin:0 0 28px; color:var(--dgp-paper); text-align:center; text-transform:uppercase; font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif; font-size:clamp(38px,7vw,64px); font-weight:850; line-height:.92; letter-spacing:-.055em; }
.dgp-popup__copy { position:relative; max-width:520px; color:#f4f5ef; text-align:center; font-size:clamp(22px,2.8vw,25px); font-weight:550; line-height:1.55; }
.dgp-popup__copy p { margin:0 0 12px; }
.dgp-popup__copy p:last-child { margin-bottom:0; }
.dgp-popup__copy a { color:var(--dgp-lime); text-decoration:underline; text-underline-offset:3px; }
.dgp-popup__ok { position:relative; width:100%; min-height:66px; display:flex; align-items:center; justify-content:center; padding:0 clamp(22px,6vw,46px); border:0; border-radius:0; color:var(--dgp-ink); background:var(--dgp-lime); cursor:pointer; text-align:center; text-transform:uppercase; font:800 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; transition:background .18s ease; }
.dgp-popup__ok b { position:absolute; right:clamp(22px,6vw,46px); font-size:22px; transition:transform .18s ease; }
.dgp-popup__ok:hover { background:#fff; }
.dgp-popup__ok:hover b { transform:translateX(5px); }
.dgp-popup__ok:focus-visible { outline:3px solid #fff; outline-offset:-6px; }
@media (max-width:520px) {
  .dgp-popup { align-items:end; padding:12px; }
  .dgp-popup__dialog { max-height:calc(100svh - 24px); }
  .dgp-popup__body { min-height:310px; padding:42px 22px; }
  .dgp-popup__body:before { width:210px; height:210px; border-width:7px; font-size:160px; }
  .dgp-popup__dialog:before { background-size:auto; opacity:.42; }
  .dgp-popup__body h2 { font-size:clamp(34px,12vw,48px); }
  .dgp-popup__copy { font-size:21px; line-height:1.5; }
  .dgp-popup__ok { padding:0 20px; }
  .dgp-popup__ok b { right:20px; }
}
@media (prefers-reduced-motion:reduce) { .dgp-popup,.dgp-popup__dialog,.dgp-popup__ok b { transition:none; } }
.dgp-popup__dialog a:focus-visible,.dgp-popup__dialog button:focus-visible,.dgp-popup__dialog [tabindex]:focus-visible { outline:3px solid #8caf37; outline-offset:3px; }
