.badge-stage{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;min-height:100svh;position:relative;overflow:hidden}.badge-rope{z-index:2;pointer-events:none;position:absolute;inset:0}.badge-card{--initial-card-w:max(280px, min(max(500px, calc(50vw + 20px)), 820px, calc((100svh - max(56px, 8svh) + 40px) / .98)));--card-w:var(--initial-card-w);--card-h:calc(var(--card-w) * .68);width:var(--card-w);height:var(--card-h);--card-scale:calc(var(--card-w,560px) / 560);z-index:3;transform:translate(calc((100vw - var(--card-w)) / 2), calc(-40px + var(--card-w) * .3));transform-origin:50%;will-change:transform;touch-action:none;cursor:grab;pointer-events:auto;outline:none;position:absolute;top:0;left:0}@media (max-width:639px){.badge-card{--initial-card-w:min(calc(100vw - 28px), 344px);--initial-card-h:min(max(340px, calc(100svh - 220px)), 420px);--card-w:var(--initial-card-w);--card-h:var(--initial-card-h);--card-scale:min(calc(var(--card-w) / 320), calc(var(--card-h) / 420));transform:translate(calc((100vw - var(--card-w)) / 2), calc(-40px + 168px * var(--card-scale)))}}.badge-card.is-dragging{cursor:grabbing}.badge-card:focus-visible{outline-offset:4px;outline:2px solid #ffffffb3}.badge-slot{width:calc(44px * var(--card-scale,1));height:calc(7px * var(--card-scale,1));border-radius:calc(4px * var(--card-scale,1));left:50%;top:calc(-6px * var(--card-scale,1));z-index:4;background:#0b0b0c;position:absolute;transform:translate(-50%)}.badge-ring{width:calc(13px * var(--card-scale,1));height:calc(21px * var(--card-scale,1));border:calc(2.5px * var(--card-scale,1)) solid #c4c4cb;border-radius:calc(8px * var(--card-scale,1));left:50%;top:calc(-17px * var(--card-scale,1));box-sizing:border-box;pointer-events:none;z-index:4;position:absolute;transform:translate(-50%)}.badge-perspective{perspective:1200px;width:100%;height:100%}.badge-flip{width:100%;height:100%;transform-style:preserve-3d;border-radius:20px;position:relative;box-shadow:0 30px 50px #0000003d}.dark .badge-flip{box-shadow:0 30px 60px #000000a6,0 0 24px #ffffff0a}.badge-face{backface-visibility:hidden;background:#0b0b0c;border:1px solid #ffffff24;border-radius:20px;position:absolute;inset:0;overflow:hidden}.dark .badge-face{border-color:#ffffff3d;box-shadow:inset 0 1px #ffffff1f,0 12px 32px #00000073}.badge-face:before{content:"";pointer-events:none;z-index:20;background:linear-gradient(90deg,#0000 0%,#ffffff24 15% 85%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.badge-face.back{transform:rotateY(180deg)}.badge-dots{mix-blend-mode:screen;opacity:.5;pointer-events:none;z-index:1;background-image:radial-gradient(#ffffff24 1px,#0000 1.3px);background-size:7px 7px;position:absolute;inset:0}.badge-glare{pointer-events:none;mix-blend-mode:screen;z-index:10;background-image:linear-gradient(105deg,#0000 42%,#ffffff29 50%,#0000 58%);background-size:260% 100%;position:absolute;inset:0}.badge-meta-group{left:calc(24px * var(--card-scale,1));top:calc(20px * var(--card-scale,1));z-index:5;position:absolute}.badge-label{font-family:var(--font-geist-mono), monospace;font-size:calc(11px * var(--card-scale,1));color:#fff;letter-spacing:.14em;text-transform:uppercase}.badge-meta{font-family:var(--font-geist-mono), monospace;font-size:calc(11px * var(--card-scale,1));color:#a3a3aa;margin-top:calc(4px * var(--card-scale,1))}.badge-headline{left:calc(24px * var(--card-scale,1));top:calc(82px * var(--card-scale,1));width:calc(350px * var(--card-scale,1));max-width:calc(100% - 195px * var(--card-scale,1));font-size:calc(27px * var(--card-scale,1));letter-spacing:-.035em;color:#fff;z-index:5;font-weight:400;line-height:1.08;position:absolute}.badge-accent{color:#0000;-webkit-text-fill-color:transparent;background-image:linear-gradient(100deg,#c9b8ff,#ff9ed6,#8fe3f5,#c9b8ff);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;font-weight:500;display:inline}.badge-bio{left:calc(24px * var(--card-scale,1));top:calc(190px * var(--card-scale,1));width:calc(360px * var(--card-scale,1));max-width:calc(100% - 170px * var(--card-scale,1));font-size:calc(13px * var(--card-scale,1));color:#c4c4cb;z-index:5;line-height:1.6;position:absolute}.badge-chips{left:calc(24px * var(--card-scale,1));bottom:calc(20px * var(--card-scale,1));gap:calc(8px * var(--card-scale,1));z-index:5;display:flex;position:absolute}.badge-chip{font-family:var(--font-geist-mono), monospace;font-size:calc(11px * var(--card-scale,1));color:#d9d9de;padding:calc(4px * var(--card-scale,1)) calc(10px * var(--card-scale,1));background:#ffffff0a;border:.5px solid #ffffff47;border-radius:999px}.badge-footer-meta{right:calc(24px * var(--card-scale,1));bottom:calc(24px * var(--card-scale,1));font-family:var(--font-geist-mono), monospace;font-size:calc(11px * var(--card-scale,1));color:#8a8a92;gap:calc(12px * var(--card-scale,1));z-index:5;display:flex;position:absolute}.badge-mascot-container{right:calc(24px * var(--card-scale,1));top:calc(24px * var(--card-scale,1));width:calc(134px * var(--card-scale,1));height:calc(134px * var(--card-scale,1));z-index:5;pointer-events:none;position:absolute}.badge-mascot-svg{transform-origin:50%;width:100%;height:100%;overflow:visible}.badge-eyes-wrap{pointer-events:none;transform-origin:50%;width:0;height:0;position:absolute;top:38%;left:50%}.badge-eye-bar{width:calc(9px * var(--card-scale,1));height:calc(34px * var(--card-scale,1));border-radius:calc(5px * var(--card-scale,1));opacity:.96;top:calc(-17px * var(--card-scale,1));transform-origin:50%;background:#fff;position:absolute}.badge-eye-bar.left{left:calc(-15px * var(--card-scale,1))}.badge-eye-bar.right{left:calc(6px * var(--card-scale,1))}.badge-face.back{padding:calc(18px * var(--card-scale,1)) calc(24px * var(--card-scale,1)) calc(14px * var(--card-scale,1));box-sizing:border-box;flex-direction:column;display:flex;transform:rotateY(180deg)}.badge-back-header{margin-bottom:calc(10px * var(--card-scale,1));z-index:5;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.badge-back-label{font-family:var(--font-geist-mono), monospace;font-size:calc(11px * var(--card-scale,1));color:#a3a3aa;letter-spacing:.14em;text-transform:uppercase}.badge-back-sub{font-family:var(--font-geist-mono), monospace;font-size:calc(10px * var(--card-scale,1));color:#8a8a92;letter-spacing:.08em;text-transform:uppercase}.badge-contrib-wrap{z-index:5;padding:calc(8px * var(--card-scale,1)) calc(10px * var(--card-scale,1));border-radius:calc(12px * var(--card-scale,1));box-sizing:border-box;margin-bottom:calc(12px * var(--card-scale,1));scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#ffffff05;border:1px solid #ffffff14;flex-shrink:0;overflow-x:auto}.badge-contrib-wrap::-webkit-scrollbar{display:none}.badge-contrib-grid{gap:calc(3px * var(--card-scale,1));justify-content:space-between;display:flex}.badge-contrib-col{gap:calc(3px * var(--card-scale,1));flex-direction:column;display:flex}.badge-contrib-cell{width:calc(8px * var(--card-scale,1));height:calc(8px * var(--card-scale,1));border-radius:calc(2px * var(--card-scale,1));transition:transform .15s,filter .15s}.badge-contrib-cell:hover{filter:brightness(1.2);z-index:2;transform:scale(1.3)}.badge-contrib-cell[data-level="0"]{background:#ffffff0f}.badge-contrib-cell[data-level="1"]{background:#7fd2e6}.badge-contrib-cell[data-level="2"]{background:#9d8df5}.badge-contrib-cell[data-level="3"]{background:#c58cec}.badge-contrib-cell[data-level="4"]{background:#f08fc6}.badge-contrib-cell[data-level="5"]{background:#f7a6d1}.dark .badge-contrib-cell[data-level="1"]{background:#a6e6f2}.dark .badge-contrib-cell[data-level="2"]{background:#b3a6ff}.dark .badge-contrib-cell[data-level="3"]{background:#d5b0f5}.dark .badge-contrib-cell[data-level="4"]{background:#ffb3dc}.dark .badge-contrib-cell[data-level="5"]{background:#fcc4e3}.badge-back-socials{align-items:center;gap:calc(8px * var(--card-scale,1));margin-bottom:calc(14px * var(--card-scale,1));z-index:5;flex-wrap:wrap;flex-shrink:0;display:flex}.badge-social-pill{align-items:center;gap:calc(6px * var(--card-scale,1));padding:calc(3px * var(--card-scale,1)) calc(10px * var(--card-scale,1));font-family:var(--font-geist-mono), monospace;font-size:calc(11px * var(--card-scale,1));color:#ffffffd9;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;flex-shrink:0;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.badge-social-pill:hover{color:#fff;background:#ffffff1f;border-color:#ffffff47;transform:translateY(-1px)}.badge-social-arrow{font-size:calc(9px * var(--card-scale,1));opacity:.6}.badge-social-pill>svg{width:calc(12px * var(--card-scale,1));height:calc(12px * var(--card-scale,1))}.badge-back-controls{left:calc(24px * var(--card-scale,1));right:calc(24px * var(--card-scale,1));bottom:calc(38px * var(--card-scale,1));z-index:6;cursor:pointer;position:absolute}.badge-back-bottom{justify-content:space-between;align-items:center;gap:calc(16px * var(--card-scale,1));margin-bottom:calc(10px * var(--card-scale,1));z-index:5;min-height:0;display:flex}.badge-back-actions{font-size:calc(12.5px * var(--card-scale,1));color:#fff;min-width:calc(155px * var(--card-scale,1));flex-direction:column;line-height:1.95;display:flex}.badge-back-action{align-items:center;gap:calc(8px * var(--card-scale,1));color:#fff;opacity:.88;cursor:pointer;text-align:left;font:inherit;background:0 0;border:none;padding:0;transition:opacity .15s,transform .15s;display:inline-flex}.badge-back-action>svg{width:calc(14px * var(--card-scale,1));height:calc(14px * var(--card-scale,1))}.badge-back-action:hover{opacity:1;transform:translate(2px)}.badge-back-spotify{flex:1;justify-content:flex-end;align-items:center;display:flex}.badge-spotify-link{max-width:calc(310px * var(--card-scale,1));border-radius:calc(12px * var(--card-scale,1));cursor:pointer;background:#121214cc;border:1px solid #ffffff1f;width:100%;transition:transform .2s,border-color .2s,box-shadow .2s;display:block;overflow:hidden;box-shadow:0 8px 24px #00000059}.badge-spotify-link:hover{border-color:#ffffff47;transform:translateY(-2px)scale(1.02);box-shadow:0 12px 30px #00000080}.badge-spotify-img{width:100%;height:auto;display:block}.badge-back-footer{left:calc(24px * var(--card-scale,1));right:calc(24px * var(--card-scale,1));bottom:calc(14px * var(--card-scale,1));font-family:var(--font-geist-mono), monospace;justify-content:space-between;align-items:center;gap:calc(12px * var(--card-scale,1));font-size:calc(10px * var(--card-scale,1));color:#ffffff59;letter-spacing:.08em;padding-top:calc(6px * var(--card-scale,1));z-index:5;border-top:1px solid #ffffff14;flex-shrink:0;display:flex;position:absolute}@media (max-width:639px){.badge-meta-group{left:calc(20px * var(--card-scale,1));top:calc(22px * var(--card-scale,1));max-width:calc(180px * var(--card-scale,1))}.badge-label{font-size:calc(10px * var(--card-scale,1));letter-spacing:.12em}.badge-meta{font-size:calc(10px * var(--card-scale,1));margin-top:calc(3px * var(--card-scale,1));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.badge-mascot-container{right:calc(16px * var(--card-scale,1));top:calc(18px * var(--card-scale,1));width:calc(76px * var(--card-scale,1));height:calc(76px * var(--card-scale,1))}.badge-mascot-svg{width:100%;height:100%}.badge-eye-bar{width:calc(5px * var(--card-scale,1));height:calc(19px * var(--card-scale,1));border-radius:calc(3px * var(--card-scale,1));top:calc(-9.5px * var(--card-scale,1))}.badge-eye-bar.left{left:calc(-8.5px * var(--card-scale,1))}.badge-eye-bar.right{left:calc(3.5px * var(--card-scale,1))}.badge-headline{left:calc(20px * var(--card-scale,1));right:calc(20px * var(--card-scale,1));top:calc(106px * var(--card-scale,1));width:auto;font-size:calc(20px * var(--card-scale,1));letter-spacing:-.03em;line-height:1.15}.badge-bio{left:calc(20px * var(--card-scale,1));right:calc(20px * var(--card-scale,1));top:calc(196px * var(--card-scale,1));width:auto;font-size:calc(11.5px * var(--card-scale,1));max-height:unset;line-height:1.55;overflow-y:visible}.badge-chips{left:calc(20px * var(--card-scale,1));right:calc(20px * var(--card-scale,1));bottom:calc(50px * var(--card-scale,1));gap:calc(5px * var(--card-scale,1));flex-wrap:wrap;display:flex}.badge-chip{font-size:calc(9.5px * var(--card-scale,1));padding:calc(3px * var(--card-scale,1)) calc(8px * var(--card-scale,1))}.badge-footer-meta{left:calc(20px * var(--card-scale,1));right:calc(20px * var(--card-scale,1));bottom:calc(16px * var(--card-scale,1));padding-top:calc(8px * var(--card-scale,1));font-size:calc(9.5px * var(--card-scale,1));border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex}.badge-face.back{padding:calc(20px * var(--card-scale,1)) calc(20px * var(--card-scale,1)) calc(16px * var(--card-scale,1));box-sizing:border-box;flex-direction:column;justify-content:space-between;height:100%;display:flex}.badge-back-header{margin-bottom:calc(8px * var(--card-scale,1))}.badge-back-label{font-size:calc(10px * var(--card-scale,1))}.badge-back-sub{font-size:calc(9px * var(--card-scale,1))}.badge-contrib-wrap{padding:calc(8px * var(--card-scale,1)) calc(10px * var(--card-scale,1));margin-bottom:calc(10px * var(--card-scale,1))}.badge-contrib-cell{width:calc(6px * var(--card-scale,1));height:calc(6px * var(--card-scale,1));border-radius:calc(1px * var(--card-scale,1))}.badge-contrib-grid,.badge-contrib-col{gap:calc(2px * var(--card-scale,1))}.badge-back-socials{gap:calc(8px * var(--card-scale,1));margin-bottom:calc(16px * var(--card-scale,1))}.badge-back-controls{left:calc(20px * var(--card-scale,1));right:calc(20px * var(--card-scale,1));bottom:calc(44px * var(--card-scale,1))}.badge-social-pill{font-size:calc(10.5px * var(--card-scale,1));padding:calc(4px * var(--card-scale,1)) calc(10px * var(--card-scale,1));gap:calc(5px * var(--card-scale,1))}.badge-back-bottom{margin-bottom:calc(14px * var(--card-scale,1));flex-direction:column;justify-content:center;min-height:0;display:flex}.badge-back-spotify{display:none!important}.badge-back-actions{gap:calc(8px * var(--card-scale,1)) calc(10px * var(--card-scale,1));grid-template-columns:repeat(2,1fr);width:100%;display:grid}.badge-back-action{align-items:center;gap:calc(8px * var(--card-scale,1));font-size:calc(11px * var(--card-scale,1));padding:calc(8px * var(--card-scale,1)) calc(10px * var(--card-scale,1));border-radius:calc(8px * var(--card-scale,1));background:#ffffff0a;border:1px solid #ffffff14;transition:background .15s,border-color .15s;display:flex}.badge-back-action:hover{background:#ffffff14;border-color:#fff3}.badge-back-footer{left:calc(20px * var(--card-scale,1));right:calc(20px * var(--card-scale,1));bottom:calc(16px * var(--card-scale,1));font-size:calc(9.5px * var(--card-scale,1));padding-top:calc(8px * var(--card-scale,1));border-top:1px solid #ffffff14;flex-shrink:0}}@media (min-width:1024px){.badge-headline{width:calc(350px * var(--card-scale,1));max-width:calc(100% - 200px * var(--card-scale,1));font-size:calc(26.5px * var(--card-scale,1));top:calc(86px * var(--card-scale,1))}.badge-bio{width:calc(370px * var(--card-scale,1));max-width:calc(100% - 180px * var(--card-scale,1));font-size:calc(13px * var(--card-scale,1));top:calc(195px * var(--card-scale,1))}.badge-chips{bottom:calc(24px * var(--card-scale,1));left:calc(28px * var(--card-scale,1))}.badge-footer-meta{right:calc(28px * var(--card-scale,1));bottom:calc(24px * var(--card-scale,1))}.badge-mascot-container{width:calc(140px * var(--card-scale,1));height:calc(140px * var(--card-scale,1));right:calc(28px * var(--card-scale,1));top:calc(26px * var(--card-scale,1))}.badge-mascot-svg{width:100%;height:100%}}@media (min-width:1440px){.badge-headline{width:calc(370px * var(--card-scale,1));max-width:calc(100% - 205px * var(--card-scale,1));font-size:calc(28px * var(--card-scale,1));top:calc(88px * var(--card-scale,1))}.badge-bio{width:calc(390px * var(--card-scale,1));max-width:calc(100% - 180px * var(--card-scale,1));font-size:calc(13px * var(--card-scale,1));top:calc(195px * var(--card-scale,1))}.badge-mascot-container{width:calc(145px * var(--card-scale,1));height:calc(145px * var(--card-scale,1));right:calc(30px * var(--card-scale,1));top:calc(28px * var(--card-scale,1))}.badge-mascot-svg{width:100%;height:100%}}
