.pop{position:fixed;inset:0;z-index:150;background:rgba(18,16,18,.55);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .3s ease}
.pop[hidden]{display:none}
.pop.show{opacity:1}
.pop-card{position:relative;width:760px;max-width:100%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--bg);border-radius:32px;overflow:hidden;transform:translateY(24px) scale(.98);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.pop.show .pop-card{transform:none}
.pop-side{background:var(--pink);display:flex;align-items:center;justify-content:center;min-height:100%}
.pop-side img{width:100%;height:100%;object-fit:cover}
.pop-big{font-family:var(--display);font-weight:800;font-size:112px;letter-spacing:-5px;color:var(--ink);line-height:1}
.pop-body form{padding:44px 40px 36px;display:flex;flex-direction:column;gap:14px}
.pop-title{margin:0;font-family:var(--display);font-weight:800;font-size:44px;line-height:.98;letter-spacing:-1.8px}
.pop-text{margin:0;font-size:16px;line-height:1.5;color:var(--muted)}
.pop-input{height:54px;padding:0 20px;border-radius:999px;border:2px solid var(--ink);background:#fff;font:inherit;font-size:16px;width:100%}
.pop-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.4;color:var(--muted)}
.pop-check input{margin-top:2px;width:18px;height:18px;accent-color:var(--ink);flex-shrink:0}
.pop-check a{text-decoration:underline;color:var(--ink)}
.pop-body .btn{width:100%}
.pop-no{background:none;border:none;color:var(--muted);font-size:14px;text-decoration:underline;padding:8px;min-height:44px}
.pop-err{margin:0;color:#B00020;font-weight:700;font-size:14px}
.pop-x{position:absolute;top:14px;right:14px;z-index:2;width:44px;height:44px;border-radius:999px;border:none;background:var(--bg);color:var(--ink);display:flex;align-items:center;justify-content:center}
.pop-code{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 22px;border:2px dashed var(--ink);border-radius:999px;background:#fff}
.pop-code span{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:1px}
.pop-code .btn{width:auto;height:44px;padding:0 18px;font-size:15px}
@media (max-width:640px){
  .pop{align-items:flex-end;padding:0}
  .pop-card{grid-template-columns:1fr;border-radius:28px 28px 0 0;transform:translateY(100%);max-height:92vh;overflow-y:auto}
  .pop-side{min-height:0;padding:22px 0 8px;background:var(--bg)}
  .pop-side img{display:none}
  .pop-big{font-size:64px;color:var(--pink);letter-spacing:-3px}
  .pop-body form{padding:8px 22px 28px;gap:12px}
  .pop-title{font-size:32px;letter-spacing:-1.2px}
  .pop-x{background:var(--pink-soft)}
}
@media (prefers-reduced-motion:reduce){.pop,.pop-card{transition:none}}
