.pj-card[data-v-7dd98c78]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:18px;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s ease,box-shadow .35s ease}.pj-card[data-v-7dd98c78]:focus-within,.pj-card[data-v-7dd98c78]:hover{border-color:rgba(var(--color-brand-rgb),.5);box-shadow:0 20px 44px #00000059;transform:translateY(-6px)}.pj-media[data-v-7dd98c78]{aspect-ratio:16/10;background:var(--color-bg-subtle);display:block;overflow:hidden;position:relative}.pj-media img[data-v-7dd98c78]{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1);width:100%}.pj-card:hover .pj-media img[data-v-7dd98c78]{transform:scale(1.05)}.pj-placeholder[data-v-7dd98c78]{align-items:center;background:radial-gradient(55% 65% at 50% 45%,rgba(var(--color-brand-rgb),.2),transparent 70%),linear-gradient(hsla(0,0%,100%,.04) 1px,transparent 1px) 0 0 /26px 26px,linear-gradient(90deg,hsla(0,0%,100%,.04) 1px,transparent 1px) 0 0 /26px 26px,linear-gradient(160deg,#0f2140,#08142a);display:flex;flex-direction:column;gap:14px;height:100%;justify-content:center;padding:0 24px;text-align:center;width:100%}:root:not(.dark) .pj-placeholder[data-v-7dd98c78]{background:radial-gradient(55% 65% at 50% 45%,rgba(var(--color-brand-rgb),.16),transparent 70%),linear-gradient(rgba(15,30,54,.05) 1px,transparent 1px) 0 0 /26px 26px,linear-gradient(90deg,rgba(15,30,54,.05) 1px,transparent 1px) 0 0 /26px 26px,#eef6f8}.ph-icon[data-v-7dd98c78]{background:rgba(var(--color-brand-rgb),.1);border:1px solid rgba(var(--color-brand-rgb),.4);border-radius:20px;box-shadow:0 0 40px rgba(var(--color-brand-rgb),.25);color:var(--color-brand);display:grid;font-size:24px;height:64px;place-items:center;transition:transform .5s cubic-bezier(.16,1,.3,1);width:64px}.pj-card:hover .ph-icon[data-v-7dd98c78]{transform:scale(1.08) rotate(-4deg)}.ph-name[data-v-7dd98c78]{color:var(--color-text-default);display:-webkit-box;font-size:var(--text-13);font-weight:var(--font-semibold);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1}.pj-shade[data-v-7dd98c78]{background:linear-gradient(180deg,rgba(6,13,26,.35),transparent 30%,transparent 65%,rgba(6,13,26,.4));inset:0;pointer-events:none;position:absolute}.pj-badges[data-v-7dd98c78]{display:flex;flex-wrap:wrap;gap:6px;left:12px;position:absolute;top:12px;z-index:1}.badge[data-v-7dd98c78]{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#060d1ab8;border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:var(--font-bold);gap:5px;padding:4px 10px}.badge i[data-v-7dd98c78]{font-size:9px}.badge.is-featured[data-v-7dd98c78]{background:var(--color-brand);color:var(--color-bg-base)}.badge.is-done[data-v-7dd98c78]{color:#6ee7b7}.badge.is-progress[data-v-7dd98c78]{color:var(--color-popular)}.badge.is-soon[data-v-7dd98c78]{color:#92b2ff}.pj-go[data-v-7dd98c78]{background:var(--color-brand);border-radius:50%;bottom:12px;color:var(--color-bg-base);display:grid;font-size:13px;height:38px;opacity:0;place-items:center;position:absolute;right:12px;transform:translateY(8px) scale(.9);transition:opacity .3s ease,transform .3s cubic-bezier(.16,1,.3,1);width:38px;z-index:1}.pj-card:hover .pj-go[data-v-7dd98c78]{opacity:1;transform:none}.pj-body[data-v-7dd98c78]{display:flex;flex:1;flex-direction:column;padding:18px 20px 20px}.pj-cat[data-v-7dd98c78]{color:var(--color-brand);font-size:11px;font-weight:var(--font-bold);letter-spacing:.08em;text-transform:uppercase}.pj-name[data-v-7dd98c78]{font-family:Be Vietnam Pro,Plus Jakarta Sans,system-ui,sans-serif;font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:1.35;margin:6px 0 0}.pj-name a[data-v-7dd98c78]{color:var(--color-text-heading);text-decoration:none}.pj-desc[data-v-7dd98c78]{color:var(--color-text-default);display:-webkit-box;font-size:var(--text-13);line-height:1.6;margin:8px 0 0;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.pj-spacer[data-v-7dd98c78]{flex:1;min-height:16px}.pj-foot[data-v-7dd98c78]{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:14px;padding-top:16px}.pj-techs[data-v-7dd98c78]{display:flex;flex-wrap:wrap;gap:6px}.tech[data-v-7dd98c78]{align-items:center;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-default);display:inline-flex;font-weight:var(--font-semibold);gap:6px;padding:4px 10px}.tech[data-v-7dd98c78],.tech i[data-v-7dd98c78]{font-size:11px}.tech.is-more[data-v-7dd98c78]{border-color:rgba(var(--color-brand-rgb),.35)}.pj-cta[data-v-7dd98c78],.tech.is-more[data-v-7dd98c78]{color:var(--color-brand)}.pj-cta[data-v-7dd98c78]{align-items:center;align-self:flex-start;display:inline-flex;font-size:var(--text-13);font-weight:var(--font-semibold);gap:6px;text-decoration:none}.pj-cta i[data-v-7dd98c78]{font-size:10px;transition:transform .25s ease}.pj-card:hover .pj-cta i[data-v-7dd98c78]{transform:translate(3px)}@media(min-width:1024px){.pj-card.is-wide[data-v-7dd98c78]{flex-direction:row;min-height:360px}.pj-card.is-wide.is-reverse[data-v-7dd98c78]{flex-direction:row-reverse}.pj-card.is-wide[data-v-7dd98c78]:focus-within,.pj-card.is-wide[data-v-7dd98c78]:hover{transform:translateY(-4px)}.is-wide .pj-media[data-v-7dd98c78]{aspect-ratio:auto;flex:0 0 56%}.is-wide .pj-body[data-v-7dd98c78]{justify-content:center;padding:40px 44px}.is-wide .pj-name[data-v-7dd98c78]{font-size:var(--text-2xl,28px);line-height:1.25}.is-wide .pj-desc[data-v-7dd98c78]{font-size:var(--text-sm);-webkit-line-clamp:4;line-clamp:4;margin-top:14px}.is-wide .pj-spacer[data-v-7dd98c78]{flex:0 0 28px}.is-wide .pj-placeholder .ph-icon[data-v-7dd98c78]{font-size:32px;height:84px;width:84px}}
