.hive{--ink:#1C1F4A;--paper:#FFF4E2;--pink:#FF3E9A;--yellow:#FFD23F;--lilac:#C9A7F5;position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;font-family:'Archivo',sans-serif;color:var(--ink)}
.hive[hidden]{display:none}
.hive__scrim{position:absolute;inset:0;background:rgba(28,31,74,.55);opacity:0;transition:opacity .3s}
.hive.is-open .hive__scrim{opacity:1}
.hive__card{position:relative;width:min(440px,100%);background:var(--paper);border:3px solid var(--ink);box-shadow:10px 10px 0 var(--pink);padding:34px 28px 24px;text-align:center;transform:translateY(20px) rotate(-1deg);opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s;outline:none}
.hive.is-open .hive__card{transform:rotate(-1deg);opacity:1}
.hive__card::before{content:'';position:absolute;top:-14px;left:50%;width:120px;height:28px;margin-left:-60px;background:rgba(255,210,63,.85);border:1px solid rgba(28,31,74,.15);transform:rotate(3deg)}
.hive__x{position:absolute;top:10px;right:10px;width:40px;height:40px;border:3px solid var(--ink);background:#fff;font-size:24px;line-height:1;cursor:pointer;color:var(--ink);border-radius:0;padding:0}
.hive__stamp{position:absolute;top:-30px;left:-26px;width:96px;height:96px;object-fit:contain;transform:rotate(-12deg);filter:drop-shadow(3px 3px 0 rgba(28,31,74,.25))}
.hive__kicker{margin:0 0 6px;font-family:'Special Elite',monospace;font-size:13px;letter-spacing:.06em}
.hive__title{margin:0;font-family:'Archivo Black',sans-serif;font-weight:400;font-size:44px;line-height:1;letter-spacing:-.01em;color:var(--ink);text-shadow:3px 3px 0 var(--lilac)}
.hive__offer{display:inline-flex;align-items:center;gap:10px;margin:16px 0 0;padding:6px 14px 6px 6px;background:var(--yellow);border:3px solid var(--ink);font-weight:800;font-size:16px;transform:rotate(1.5deg)}
.hive__offer span{font-family:'Archivo Black',sans-serif;background:var(--pink);color:var(--ink);font-size:22px;line-height:1;padding:7px 10px;border:2px solid var(--ink);transform:rotate(-3deg)}
.hive__copy{margin:16px 0 18px;font-size:15px;line-height:1.5}
.hive__form{display:flex;flex-direction:column;gap:10px;position:relative}
.hive__input{width:100%;min-height:50px;padding:0 14px;background:#fff;border:3px solid var(--ink);border-radius:0;font:600 16px 'Archivo',sans-serif;color:var(--ink);box-sizing:border-box}
.hive__input:focus{outline:3px solid var(--pink);outline-offset:1px}
.hive__btn{width:100%;min-height:54px;background:var(--pink);color:var(--ink);border:3px solid var(--ink);border-radius:0;box-shadow:5px 5px 0 var(--ink);font-family:'Archivo Black',sans-serif;font-size:19px;cursor:pointer;transition:transform .1s,box-shadow .1s}
.hive__btn:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}
.hive__btn:disabled{opacity:.6;cursor:wait}
.hive__msg{margin:0;min-height:1em;font-size:14px;font-weight:700;color:#B0124F}
.hive__nah{margin-top:12px;background:none;border:0;font:600 13px 'Archivo',sans-serif;color:var(--ink);text-decoration:underline;cursor:pointer;opacity:.75}
.hive__code{display:block;width:100%;margin:6px 0 4px;padding:14px;background:#fff;border:3px dashed var(--ink);font-family:'Archivo Black',sans-serif;font-size:32px;letter-spacing:.12em;color:var(--pink);cursor:pointer;border-radius:0}
.hive__copied{margin:0 0 16px;font-size:13px;font-weight:700}
html.hive-lock,html.hive-lock body{overflow:hidden}
@media (max-width:749px){
  .hive{align-items:flex-end;padding:0}
  .hive__card{width:100%;max-height:88vh;border-width:3px 0 0;box-shadow:0 -8px 0 var(--pink);padding:30px 20px calc(20px + env(safe-area-inset-bottom));transform:translateY(100%);opacity:1}
  .hive.is-open .hive__card{transform:none}
  .hive__card::before{display:none}
  .hive__stamp{top:-50px;left:14px;width:76px;height:76px}
  .hive__title{font-size:36px}
}
@media (max-height:640px){.hive__card{max-height:calc(100vh - 24px);overflow-y:auto}.hive__stamp{display:none}}