.b3d{position:relative;width:var(--w, 220px);aspect-ratio:180 / 200;perspective:900px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.b3d:active{cursor:grabbing}.b3d:after{content:"";position:absolute;left:18%;right:18%;bottom:-13%;height:9%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);filter:blur(3px);pointer-events:none}.b3d-rot{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform:rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));will-change:transform}.b3d-edge{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask:var(--mask) center / 100% 100% no-repeat;mask:var(--mask) center / 100% 100% no-repeat;background:linear-gradient(90deg,var(--edge-a),var(--edge-b) 50%,var(--edge-c))}.b3d-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.b3d-front{transform:translateZ(calc(var(--t) / 2 + .6px))}.b3d-back{transform:rotateY(180deg) translateZ(calc(var(--t) / 2 + .6px))}.b3d-svg{display:block;width:100%;height:100%}.b3d-sheen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;-webkit-mask:var(--mask) center / 100% 100% no-repeat;mask:var(--mask) center / 100% 100% no-repeat;pointer-events:none}.b3d-sheen:before{content:"";position:absolute;top:0;bottom:0;left:-100%;width:300%;background:linear-gradient(112deg,transparent 40%,rgba(255,255,255,.42) 50%,transparent 60%);transform:translate(var(--shx, 0%));will-change:transform}.b3d-engrave{position:absolute;top:18%;right:17%;bottom:18%;left:17%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--w) * .035);text-align:center;color:#2d2319b8;text-shadow:0 1px 0 rgba(255,255,255,.6),0 -1px 0 rgba(0,0,0,.18)}.b3d-engrave-shield{top:14%;right:18%;bottom:22%;left:18%}.b3d-engrave-coin,.b3d-engrave-seal{top:20%;right:21%;bottom:20%;left:21%}.b3d-engrave-clover{width:calc(var(--w) * .13);height:auto;flex:0 0 auto;fill:#2d23198c;filter:drop-shadow(0 1px 0 rgba(255,255,255,.6))}.b3d-engrave-name{font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:calc(var(--w) * .07);line-height:1.15}.b3d-engrave-desc{margin-top:calc(var(--w) * -.02);font-weight:700;font-size:calc(var(--w) * .054);line-height:1.25}.ach-badge{cursor:pointer}.ach-badge-art{display:block;width:72px;aspect-ratio:180 / 200;margin:0 auto .55rem;transition:transform .2s ease}.ach-badge:active .ach-badge-art{transform:scale(.94)}.ach-badge:not(.earned) .ach-badge-art{filter:grayscale(1);opacity:.55}.bdt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 0;overflow:hidden;color:#fff;background:#000;background:radial-gradient(130% 70% at 25% -5%,color-mix(in srgb,var(--glow) 30%,#000),#060a07 55%,#000);opacity:0;transition:opacity .28s ease;font-family:inherit}.bdt.open{opacity:1}dialog.bdt{width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0}dialog.bdt::backdrop{background:transparent}dialog.bdt:focus{outline:none}.bdt-beam{position:absolute;top:-25%;left:-35%;width:95%;height:120%;background:radial-gradient(ellipse 30% 50% at 50% 50%,var(--glow-l),transparent 100%);opacity:.12;transform:rotate(-16deg);transform-origin:top left;pointer-events:none}.bdt-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.bdt-confetti i{position:absolute;top:0;border-radius:2px;opacity:.9;transform:translateY(-12vh) rotate(var(--r));animation-name:bdt-fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes bdt-fall{0%{transform:translateY(-12vh) rotate(var(--r)) rotateX(0)}to{transform:translateY(112vh) rotate(calc(var(--r) + 420deg)) rotateX(720deg)}}.bdt-x{position:absolute;z-index:2;top:calc(env(safe-area-inset-top) + 10px);right:10px;width:44px;height:44px;padding:10px;border:none;background:none;color:#ffffffb3;cursor:pointer}.bdt-x svg{width:100%;height:100%}.bdt-x:focus{outline:none}.bdt-x:focus-visible{outline:2px solid rgba(255,255,255,.5);border-radius:10px}.bdt-main{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 1.5rem 1rem;text-align:center}.bdt-stage{position:relative}.bdt-stage:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:radial-gradient(closest-side,color-mix(in srgb,var(--glow) 38%,transparent),transparent);pointer-events:none}.bdt.locked .b3d-svg,.bdt.locked .b3d-edge{filter:grayscale(1) brightness(.7)}.bdt-hint{margin-top:1.6rem;font-size:.72rem;color:#ffffff61}.bdt-kicker{margin-top:1.4rem;font-size:.8rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#f4e1a6}.bdt-name{margin-top:.45rem;font-size:1.8rem;font-weight:800;line-height:1.15}.bdt-desc{margin-top:.7rem;max-width:300px;font-size:1rem;line-height:1.45;color:#ffffffb8}.bdt-date{margin-top:1.1rem;font-size:.92rem;font-weight:600;color:#fff6}.bdt-prog{width:min(240px,80%);margin-top:1.2rem}.bdt-prog-bar{height:6px;border-radius:3px;background:#ffffff1f;overflow:hidden}.bdt-prog-bar span{display:block;height:100%;border-radius:3px;background:var(--glow)}.bdt-prog-t{margin-top:.45rem;font-size:.82rem;font-weight:700;color:#ffffff80}.bdt-main>*{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}.bdt.open .bdt-main>*{opacity:1;transform:none}.bdt.open .bdt-main>:nth-child(3){transition-delay:.12s}.bdt.open .bdt-main>:nth-child(4){transition-delay:.18s}.bdt.open .bdt-main>:nth-child(5){transition-delay:.24s}.bdt.open .bdt-main>:nth-child(n+6){transition-delay:.3s}.bdt-actions{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:0 1.25rem calc(1.25rem + env(safe-area-inset-bottom));width:100%;max-width:480px;margin:0 auto;box-sizing:border-box}.bdt-btn,.bdt-pin{width:100%;height:54px;border-radius:14px;font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer}.bdt-btn{border:none;background:#fff;color:#111}.bdt-pin{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff}.bdt-pin.on{background:#ffffff1f;border-color:#fff6}.bdt-btn:active,.bdt-pin:active{transform:scale(.99)}@media(prefers-reduced-motion:reduce){.bdt,.bdt-main>*{transition:none}.bdt-confetti{display:none}}
