.vf-auth{margin:22px 0;padding:24px;border:1px solid #f5b4d140;border-radius:20px;background:radial-gradient(ellipse at top right,#e97fb31b,transparent 70%),#150e2270}.vf-auth-title{display:flex;align-items:center;gap:14px;margin-bottom:20px}.vf-auth-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(140deg,#ffd0af,#ec91c7);color:#44233e;font-size:23px;box-shadow:0 5px 0 #673955}.vf-auth h3{font-size:19px;margin:0 0 6px}.vf-auth-title p{font-size:11px;color:#c8afca;margin:0}.vf-auth label{display:block;font-size:12px;margin-bottom:8px;color:#edcfdf}.vf-input-row{display:flex;gap:10px}.vf-auth input{min-width:0;width:100%;border:1px solid #d49cce40;border-radius:11px;background:#100a1d;color:#fff3f7;padding:14px;font:inherit;user-select:text}.vf-auth input:focus{outline:2px solid #ed9bbe;outline-offset:2px}.vf-auth .button{font-size:12px;padding:13px 17px;white-space:nowrap}.vf-auth small{color:#a98dac;font-size:10px}.vf-auth [role=status]{font-size:12px;color:#efbed3;line-height:1.7;margin:12px 0}.vf-code-actions{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.vf-code-actions button{font-size:11px}.vf-logout{font-size:11px;margin-bottom:15px}.vf-confirm-allocation{width:100%;display:flex;justify-content:center;align-items:center;gap:14px;margin:20px 0 10px;border:1px solid #ffe0e270!important;border-radius:14px;box-shadow:0 5px 0 #6d3d59,0 12px 24px #e36c9920;font-size:13px;line-height:1.45;opacity:1!important;cursor:not-allowed!important}.vf-allocation small{font-size:10px;color:#b99bbd;display:block}.vf-allocation .vf-news-note{border-top:1px solid #ffffff14;padding-top:15px;margin-top:20px!important;color:#f2c3d8!important}.vf-auth[hidden],.vf-allocation[hidden],.vf-logout[hidden],.vf-auth form[hidden]{display:none!important}.mission-answer:disabled{cursor:default;opacity:.55}#wallet-button:disabled{cursor:not-allowed;opacity:.7}@media(max-width:600px){.vf-auth{padding:18px}.vf-input-row{flex-direction:column}.vf-auth h3{font-size:16px}}

.vf-auth .button{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:10px}.vf-auth .button span,.vf-confirm-allocation.button span{position:static!important;transform:none!important;inset:auto!important}.vf-confirm-allocation.button>span:nth-child(2){flex:1}.vf-confirm-allocation svg{flex-shrink:0}

.vf-allocation{margin-top:10px;padding:18px 18px 40px 8px;border:0;border-radius:0;background:none;box-shadow:none;text-align:center;perspective:1100px;overflow:visible}
.vf-voucher{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);isolation:isolate;overflow:hidden;width:100%;max-width:100%;border-radius:18px;color:#1a0a14;background:
  linear-gradient(180deg,#fff6 0 1px,transparent 1px) 0 0/100% 7px,
  linear-gradient(125deg,#fff4ea,#ffd0c4 28%,#f4a8c8 58%,#c97bb8 100%);
box-shadow:inset 0 1px #fff9,0 1px 0 #ffe3f0,8px 14px 0 #6d3558,14px 22px 0 #261326,16px 28px 28px #05030ccc;transform-origin:18% 50%;--vf-rx:6deg;--vf-ry:-14deg;--vf-rz:-1deg;transform:rotateX(var(--vf-rx)) rotateY(var(--vf-ry)) rotateZ(var(--vf-rz));will-change:transform,opacity,filter}
.vf-voucher:before{content:'';position:absolute;inset:8px;border:1px dashed #7a355866;border-radius:12px;pointer-events:none;z-index:2}
.vf-voucher-shine{position:absolute;inset:0;z-index:4;pointer-events:none;border-radius:inherit;overflow:hidden}
.vf-voucher-shine:before{content:'';position:absolute;top:-50%;left:0;width:85%;height:200%;background:linear-gradient(105deg,transparent 0 32%,#fff0 40%,#fff8 49%,#ffe9c455 50.5%,#fff6 52%,#fff0 60%,transparent 68% 100%);filter:blur(12px);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 78%,transparent 100%);transform:translateX(-160%) rotate(12deg);pointer-events:none}
.vf-voucher-stub{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;padding:18px 4px;background:linear-gradient(180deg,#ffdcb6,#ff9ec8 55%,#d16aa8);box-shadow:inset -8px 0 12px #7a3a5a33;color:#1a0812}
.vf-voucher-brand{font-size:15px;font-weight:800;letter-spacing:.22em;writing-mode:vertical-rl;transform:rotate(180deg)}
.vf-voucher-serial{font-size:8px;letter-spacing:.12em;writing-mode:vertical-rl;transform:rotate(180deg);font-variant-numeric:tabular-nums;font-weight:700;opacity:1}
.vf-voucher-cut{position:absolute;left:52px;top:0;bottom:0;z-index:3;width:0;border-left:2px dashed #7a35586e}
.vf-voucher-body{position:relative;z-index:1;display:flex;flex-direction:column;padding:16px 14px 14px 16px;text-align:left}
.vf-voucher-body .eyebrow{margin:0 0 6px;color:#1c0a14;letter-spacing:.14em;font-weight:700}
.vf-allocation h3,.vf-voucher-body h3{font-size:14px;margin:0 0 4px;color:#160812;font-weight:800}
.vf-allocation>strong,.vf-voucher-body strong{display:block;margin:2px 0 8px;font-size:clamp(26px,6.4vw,36px);letter-spacing:-1px;line-height:1.1;color:#11060c;text-shadow:0 1px 0 #fff6,0 10px 18px #c45b8a22}
.vf-voucher-limit,.vf-voucher-gas{font-size:11px;line-height:1.5;color:#241018;margin:8px 0 0;overflow-wrap:anywhere;font-weight:600}
.vf-voucher-gas{padding-top:10px;border-top:1px dashed #3a203855;color:#1e0c16}
.vf-voucher-code{flex-shrink:0;align-self:stretch;margin-top:12px;width:100%;height:22px;opacity:.7;background:repeating-linear-gradient(90deg,#11060c 0 1px,transparent 1px 3px,#11060c 3px 4px,transparent 4px 7px,#11060c 7px 10px,transparent 10px 12px)}
.vf-allocation:not(.is-in) .vf-voucher{opacity:0;transform:translate3d(-8px,-170px,160px) rotateX(48deg) rotateY(-32deg) rotateZ(8deg) scale(.5);filter:blur(8px) brightness(1.7)}
.vf-allocation.is-in .vf-voucher{animation:vf-voucher-fly 1.15s cubic-bezier(.16,1,.3,1) both,vf-voucher-idle 4.8s ease-in-out 1.2s infinite}
@keyframes vf-voucher-fly{
  0%{opacity:0;transform:translate3d(-8px,-170px,160px) rotateX(48deg) rotateY(-32deg) rotateZ(8deg) scale(.5);filter:blur(8px) brightness(1.8)}
  58%{opacity:1;filter:blur(0) brightness(1.1);transform:translate3d(0,12px,8px) rotateX(-5deg) rotateY(-6deg) rotateZ(-3deg) scale(1.04)}
  82%{transform:translate3d(0,-4px,0) rotateX(8deg) rotateY(-16deg) rotateZ(-1deg) scale(1.01);filter:none}
  100%{opacity:1;filter:none;transform:translate3d(0,0,0) rotateX(var(--vf-rx)) rotateY(var(--vf-ry)) rotateZ(var(--vf-rz)) scale(1)}
}
@keyframes vf-voucher-idle{
  0%,100%{transform:translate3d(0,0,0) rotateX(var(--vf-rx)) rotateY(var(--vf-ry)) rotateZ(var(--vf-rz))}
  50%{transform:translate3d(0,-6px,4px) rotateX(4deg) rotateY(-10deg) rotateZ(0deg)}
}
.vf-allocation.is-in .vf-voucher-shine:before{animation:vf-voucher-shine 2.8s ease-in-out .9s 2}
@keyframes vf-voucher-shine{0%{transform:translateX(-160%) rotate(12deg)}100%{transform:translateX(220%) rotate(12deg)}}
@media(max-width:760px){
  .vf-allocation{padding:16px 10px 32px 4px}
  .vf-voucher{grid-template-columns:46px minmax(0,1fr);width:100%;border-radius:16px;--vf-rx:3deg;--vf-ry:-4deg;--vf-rz:0deg}
  .vf-allocation.is-in .vf-voucher{animation:vf-voucher-fly 1.15s cubic-bezier(.16,1,.3,1) both}
  .vf-voucher-cut{left:46px}
  .vf-voucher-body{padding:14px 12px 14px 14px}
  .vf-voucher-body strong{font-size:26px}
  .vf-voucher-limit,.vf-voucher-gas{font-size:10px;line-height:1.45;padding-right:0}
  .vf-voucher-code{height:20px;margin-top:14px}
}
@media(prefers-reduced-motion:reduce){
  .vf-allocation:not(.is-in) .vf-voucher,.vf-allocation.is-in .vf-voucher{opacity:1;filter:none;animation:none;transform:rotateX(6deg) rotateY(-10deg)}
  .vf-allocation.is-in .vf-voucher-shine:before{animation:none}
}

.vf-nft-prize{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 8px 8px;color:var(--ink)}
.vf-nft-prize img{width:min(210px,72%);height:auto;filter:drop-shadow(0 18px 24px #0009)}
.vf-nft-prize .eyebrow{margin:12px 0 4px;color:var(--pink)}
.vf-nft-prize strong{display:block;margin:0 0 6px;font-size:clamp(22px,4vw,30px);letter-spacing:-.8px}
.vf-nft-prize #vf-nft-rarity{margin:0;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--peach);font-weight:800}
.vf-nft-prize .vf-voucher-gas{max-width:40ch;color:#f0d7e4;border-top-color:#ffffff30;font-weight:600}
.vf-allocation:not(.is-in) .vf-nft-prize{opacity:0;transform:translate3d(-8px,-170px,160px) rotateX(48deg) rotateY(-32deg) rotateZ(8deg) scale(.5);filter:blur(8px) brightness(1.7)}
.vf-allocation.is-in .vf-nft-prize{animation:vf-voucher-fly 1.15s cubic-bezier(.16,1,.3,1) both}
@media(prefers-reduced-motion:reduce){
  .vf-allocation:not(.is-in) .vf-nft-prize,.vf-allocation.is-in .vf-nft-prize{opacity:1;filter:none;animation:none;transform:none}
}
