@font-face {
    font-family: 'Paperlogy';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2') format('woff2');
    font-weight: 400;
}
@font-face {
    font-family: 'Paperlogy';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2') format('woff2');
    font-weight: 600;
}
@font-face {
    font-family: 'Paperlogy';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2') format('woff2');
    font-weight: 800;
}

.fufu-manager-wrap {
    width: 100%;
}


/* 그리드 */
.fufu-grid {
    display: grid;
    grid-template-columns: repeat(var(--fufu-cols, 4), 1fr);
    gap: 16px;
    width: 100%;
}

/* 카드 — 750:397 비율 */
.fufu-card {
    position: relative;
    aspect-ratio: 750 / 397;
    background-size: cover;
    background-position: center;
    background-color: #5a0d0d;
    overflow: hidden;
    text-decoration: none;
    display: block;
    transition: transform 0.2s ease, filter 0.2s ease;
}
.fufu-card.fufu-visible:hover {
    transform: scale(1.02);
    filter: brightness(1.1);
    z-index: 1;
}
a.fufu-card {
    cursor: pointer;
}

/* 빈 카드 */
.fufu-card--empty {
    opacity: 0.55;
    outline: 2px dashed rgba(255,238,208,0.35);
    outline-offset: -6px;
}

/* 카드 내부 */
.fufu-card-body {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 16px;
    background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.25) 100%);
}

.fufu-card-name {
    font-family: 'Paperlogy', sans-serif;
    font-weight: 800;
    font-size: clamp(16px, 3.2vw, 46px);
    color: #ffeed0;
    text-align: center;
    line-height: 1.2;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5);
    letter-spacing: -0.01em;
}

.fufu-card-status {
    font-family: 'Paperlogy', sans-serif;
    font-weight: 400;
    font-size: clamp(10px, 1.4vw, 20px);
    color: #ffeed0;
    text-align: center;
    letter-spacing: normal;
    text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}

/* 상태 색상 — 모두 동일 */
.fufu-card-status.status--gold,
.fufu-card-status.status--orange,
.fufu-card-status.status--gray,
.fufu-card-status.status--blue,
.fufu-card-status.status--red,
.fufu-card-status.status--default { color: #ffeed0; }

/* 도미노 등장 애니메이션 */
@keyframes fufuRiseUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fufu-card {
    opacity: 0;
}
.fufu-card.fufu-visible {
    animation: fufuRiseUp 0.55s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

@media (max-width: 767px) {
    .fufu-grid { grid-template-columns: repeat(var(--fufu-cols-mo, 2), 1fr); }
    body .fufu-card .fufu-card-name.fufu-card-name { font-size: 24px !important; }
}
