/* Nightforge Press V37 — floating Dispatch invitation */
.nf-dispatch-float{
  position:fixed!important;
  right:clamp(12px,2.2vw,28px);
  bottom:calc(22px + env(safe-area-inset-bottom,0px));
  z-index:1000;
  width:72px;
  max-width:calc(100vw - 24px);
  pointer-events:none;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  line-height:1.5;
  color:#f3eee7;
  transition:width .18s ease;
}
.nf-dispatch-float *{box-sizing:border-box}
.nf-dispatch-float button{font:inherit;cursor:pointer}
.nf-dispatch-float button:focus-visible,
.nf-dispatch-float input:focus-visible{
  outline:2px solid #e9ac76;
  outline-offset:3px;
}
.nf-dispatch-launcher{
  position:relative;
  width:72px;
  height:72px;
  margin-left:auto;
  pointer-events:auto;
}
.nf-dispatch-trigger{
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  padding:0;
  border:1px solid #c88a5d;
  border-radius:50%;
  color:#f3eee7;
  background:radial-gradient(circle at 32% 24%,#4b3027,#211719 64%,#100e11);
  box-shadow:0 5px 24px rgba(0,0,0,.4),inset 0 1px 0 rgba(240,183,121,.25);
  position:absolute;
  bottom:0;
  right:0;
  overflow:hidden;
  -webkit-tap-highlight-color:transparent;
}
.nf-dispatch-trigger:hover{
  border-color:#f0b47e;
  background:radial-gradient(circle at 32% 24%,#603a29,#261819 64%,#100e11);
}
.nf-dispatch-trigger:active{filter:brightness(1.15)}
.nf-dispatch-icon{display:block;width:51px;height:51px;overflow:visible}
.nf-dispatch-hammer{transform-origin:32px 33px}
.nf-dispatch-sparks{opacity:0;transform-origin:40px 32px}
.nf-dispatch-animate .nf-dispatch-hammer{
  animation:nf-hammer-strike 3.2s ease-in-out infinite;
}
.nf-dispatch-animate .nf-dispatch-sparks{
  animation:nf-hammer-sparks 3.2s ease-out infinite;
}
@keyframes nf-hammer-strike{
  0%,58%,92%,100%{transform:rotate(0deg)}
  65%{transform:rotate(-23deg)}
  73%{transform:rotate(10deg)}
  79%{transform:rotate(-4deg)}
  85%{transform:rotate(0deg)}
}
@keyframes nf-hammer-sparks{
  0%,71%,88%,100%{opacity:0;transform:scale(.45)}
  74%{opacity:1;transform:scale(1)}
  83%{opacity:0;transform:scale(1.25)}
}
.nf-dispatch-label{
  position:absolute;
  right:78px;
  bottom:17px;
  white-space:nowrap;
  padding:8px 12px;
  border:1px solid rgba(200,167,106,.35);
  border-radius:999px;
  background:#141116;
  color:#e9c093;
  box-shadow:0 5px 22px rgba(0,0,0,.25);
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  opacity:0;
  transform:translateX(5px);
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:none;
}
.nf-dispatch-float:hover .nf-dispatch-label,
.nf-dispatch-float:focus-within .nf-dispatch-label{
  opacity:1;transform:translateX(0);
}
.nf-dispatch-dismiss{
  position:absolute;
  top:-8px;right:-8px;
  display:grid;place-items:center;
  width:28px;height:28px;
  padding:6px;
  border:1px solid #67534b;
  border-radius:50%;
  color:#dfd6cc;
  background:#211b20;
  box-shadow:0 2px 10px rgba(0,0,0,.35);
  z-index:2;
}
.nf-dispatch-dismiss:hover{background:#603a29;color:#fff}
.nf-dispatch-dismiss svg,.nf-dispatch-panel-close svg{
  width:100%;height:100%;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;
}
.nf-dispatch-panel{
  position:absolute;
  right:0;
  bottom:calc(100% + 12px);
  width:min(370px,calc(100vw - 32px));
  max-height:min(620px,calc(100dvh - 120px));
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:24px;
  border:1px solid rgba(200,167,106,.42);
  border-radius:16px;
  background:linear-gradient(155deg,#1e1819,#111014 55%,#0c0b0e);
  box-shadow:0 20px 65px rgba(0,0,0,.55);
  pointer-events:auto;
}
.nf-dispatch-panel[hidden]{display:none!important}
.nf-dispatch-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nf-dispatch-eyebrow{
  font-size:10px;font-weight:900;letter-spacing:.13em;
  text-transform:uppercase;color:#c8a76a;
}
.nf-dispatch-panel-close{
  display:grid;place-items:center;flex:0 0 32px;
  width:32px;height:32px;padding:8px;
  border:1px solid #3b3030;border-radius:50%;
  color:#cbbeb3;background:#1c191d;
}
.nf-dispatch-panel-close:hover{color:#fff;border-color:#c66f3f}
.nf-dispatch-panel h2{
  margin:12px 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;line-height:1.15;letter-spacing:-.035em;
  color:#f3eee7;
}
.nf-dispatch-description{margin:0 0 20px;color:#bfb6ae;font-size:13px;line-height:1.65}
.nf-dispatch-form{gap:9px}
.nf-dispatch-form .newsletter-label{font-size:12px;letter-spacing:.02em}
.nf-dispatch-form .newsletter-row{display:flex;flex-direction:column;gap:10px}
.nf-dispatch-form .newsletter-row input{
  width:100%;min-width:0;min-height:46px;
  font-size:16px;
}
.nf-dispatch-form .newsletter-row .btn{
  width:100%;min-height:46px;
  background:linear-gradient(180deg,#d47b48,#ae582f);
  border-color:#ce7442;color:#100a07;
}
.nf-dispatch-form .newsletter-note{font-size:11px;line-height:1.6}
.nf-dispatch-form .newsletter-note a{color:#c8a76a;text-decoration:underline}
.nf-dispatch-form .newsletter-status{font-size:12px;overflow-wrap:anywhere}
.nf-dispatch-open .nf-dispatch-label{opacity:0!important}
@media(max-width:760px){
  .nf-dispatch-float{
    right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom,0px));
    width:62px;
  }
  .nf-dispatch-launcher{width:62px;height:62px}
  .nf-dispatch-trigger{width:60px;height:60px}
  .nf-dispatch-icon{width:46px;height:46px}
  .nf-dispatch-label{display:none}
  .nf-dispatch-dismiss{top:-6px;right:-6px;width:27px;height:27px}
  .nf-dispatch-panel{
    width:min(370px,calc(100vw - 32px));
    max-height:calc(100dvh - 108px - env(safe-area-inset-bottom,0px));
    padding:22px;
  }
}
@media(max-width:390px){
  .nf-dispatch-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .nf-dispatch-panel{width:calc(100vw - 24px);padding:18px}
}
@media(prefers-reduced-motion:reduce){
  .nf-dispatch-float,.nf-dispatch-label{transition:none!important}
  .nf-dispatch-hammer,.nf-dispatch-sparks{animation:none!important}
}
