.pj-card-wrapper{--pointer-x:50%;--pointer-y:50%;--pointer-from-center:0;--pointer-from-top:.5;--pointer-from-left:.5;--card-opacity:0;--rotate-x:0deg;--rotate-y:0deg;--background-x:50%;--background-y:50%;perspective:600px;touch-action:pan-y pan-x;width:100%;position:relative;transform:translateZ(.1px)}.pj-behind{z-index:0;pointer-events:none;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y), color-mix(in srgb, var(--color-primary) 50%, transparent) 0%, transparent 50%);filter:blur(50px)saturate(1.1);opacity:calc(.8 * var(--card-opacity));transition:opacity .2s;position:absolute;inset:0}.pj-card-wrapper:hover,.pj-card-wrapper.active{--card-opacity:1}.pj-card-shell{z-index:1;position:relative}.pj-card{aspect-ratio:16/10;background:var(--color-bg);border:1px solid color-mix(in srgb, var(--color-text) 10%, transparent);width:100%;box-shadow:#00000080 calc((var(--pointer-from-left) * 10px) - 3px) calc((var(--pointer-from-top) * 20px) - 6px) 30px -10px;backface-visibility:hidden;border-radius:0;transition:transform 1s;display:grid;position:relative;overflow:hidden;transform:translateZ(0)rotateX(0)rotateY(0)}@media (hover:hover){.pj-card:hover{transform:translateZ(0) rotateX(var(--rotate-y)) rotateY(var(--rotate-x));transition:none}}.pj-card.active{transform:translateZ(0) rotateX(var(--rotate-y)) rotateY(var(--rotate-x));transition:none}.pj-card-shell.entering .pj-card{transition:transform .18s ease-out}.pj-card *{pointer-events:none;border-radius:0;grid-area:1/-1;min-width:0;min-height:0;display:grid}.pj-text-overlay,.pj-text-overlay *{pointer-events:none;grid-area:auto;display:block}.pj-inside{background-image:linear-gradient(145deg,#1a3a4a4c 0%,#20bbff22 100%);background-color:var(--color-bg);position:absolute;inset:0;transform:none}.pj-glare{background-image:radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y), var(--color-primary) 20%, color-mix(in srgb, var(--color-bg) 50%, transparent) 70%);mix-blend-mode:overlay;filter:brightness(.9)contrast(1.1);z-index:4;opacity:.3;transition:opacity .3s,filter .3s;overflow:hidden;transform:translateZ(1.1px)}.pj-card:hover .pj-glare,.pj-card.active .pj-glare{opacity:.5;filter:brightness(1.05)contrast(1.15)}.pj-screenshot{object-fit:cover;object-position:center top;z-index:2;width:100%;height:100%;transition:filter .4s}@media (hover:hover){.pj-card:hover .pj-screenshot{filter:brightness(.7)}}.pj-card.active .pj-screenshot{filter:brightness(.7)}.pj-placeholder{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 8%, var(--color-bg)) 0%, color-mix(in srgb, var(--color-secondary) 12%, var(--color-bg)) 50%, color-mix(in srgb, var(--color-primary) 8%, var(--color-bg)) 100%);z-index:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.pj-placeholder:before{content:"";border:2px dashed color-mix(in srgb, var(--color-text) 15%, transparent);border-radius:0;position:absolute;inset:16px}.pj-shine{--logo:none;mask-image:var(--logo);filter:brightness(.66)contrast(1.33)saturate(.33)opacity(.5);mix-blend-mode:color-dodge;opacity:0;z-index:5;transition:filter .8s,opacity .5s;animation:18s linear infinite pj-holo-bg;mask-position:50%;mask-size:35%;mask-repeat:no-repeat;mask-mode:luminance}.pj-shine,.pj-shine:after{--space:5%;--angle:-45deg;transform-origin:50%;background:50%/cover;background-image:repeating-linear-gradient(0deg, var(--color-primary) calc(var(--space) * 1), var(--color-secondary) calc(var(--space) * 2), color-mix(in srgb, var(--color-primary) 70%, var(--color-bg)) calc(var(--space) * 3), color-mix(in srgb, var(--color-primary) 80%, white) calc(var(--space) * 4), color-mix(in srgb, var(--color-secondary) 60%, var(--color-primary)) calc(var(--space) * 5), var(--color-secondary) calc(var(--space) * 6), var(--color-primary) calc(var(--space) * 7)), repeating-linear-gradient(var(--angle), var(--color-bg) 0%, color-mix(in srgb, var(--color-secondary) 40%, var(--color-text)) 3.8%, var(--color-secondary) 4.5%, color-mix(in srgb, var(--color-secondary) 40%, var(--color-text)) 5.2%, var(--color-bg) 10%, var(--color-bg) 12%), radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y), #0000001a 12%, #00000026 20%, #00000040 120%);background-position:0 var(--background-y), var(--background-x) var(--background-y), center;background-blend-mode:color, hard-light;background-repeat:repeat;background-size:500% 500%,300% 300%,200% 200%;overflow:hidden;transform:translateZ(1px)}.pj-shine:before,.pj-shine:after{content:"";opacity:0;background-position:50%;background-size:cover;grid-area:1/1;transition:opacity .8s}@media (hover:hover){.pj-card:hover .pj-shine{opacity:1;filter:brightness(.85)contrast(1.5)saturate(.5);animation-play-state:paused}.pj-card:hover .pj-shine:before,.pj-card:hover .pj-shine:after{opacity:1}}.pj-card.active .pj-shine{opacity:1;filter:brightness(.85)contrast(1.5)saturate(.5);animation-play-state:paused}.pj-card.active .pj-shine:before,.pj-card.active .pj-shine:after{opacity:1}.pj-shine:before{background-image:linear-gradient(45deg, color-mix(in srgb, var(--color-primary) 80%, white), color-mix(in srgb, var(--color-secondary) 60%, var(--color-primary)), var(--color-secondary), var(--color-primary), var(--color-secondary), color-mix(in srgb, var(--color-primary) 70%, var(--color-bg))), radial-gradient(circle at var(--pointer-x) var(--pointer-y), var(--color-text) 0%, color-mix(in srgb, var(--color-text) 20%, transparent) 90%);background-size:250% 250%,100% 100%;background-position:var(--pointer-x) var(--pointer-y), center;background-blend-mode:color-dodge;filter:brightness(calc(2 - var(--pointer-from-center))) contrast(calc(var(--pointer-from-center) + 2)) saturate(calc(.5 + var(--pointer-from-center)));mix-blend-mode:luminosity}.pj-shine:after{background-position:0 var(--background-y), calc(var(--background-x) * .4) calc(var(--background-y) * .5), center;mix-blend-mode:difference;filter:brightness(.8)contrast(1.5);background-size:200% 300%,700% 700%,100% 100%}@keyframes pj-holo-bg{0%{background-position:0 var(--background-y), 0 0, center}to{background-position:0 var(--background-y), 90% 90%, center}}
