:root {
    --border-line-color: #707070;
    --strong-border-line-color: #464646;
    
    --tag-others-color: #3C3C3C;
    --tag-important-color: #DD4141;
}

#news-list {
    display: flex;
    flex-direction: column;
}

.news-item {
    position: relative;
    height: 3.5rem;
    margin-top: 0.75rem;
    border-bottom: 1px solid var(--border-line-color);
    font-weight: bold;
}

.news-item > a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: var(--font-color);
    text-decoration: none;
}

.news-item, .news-item > a {
    display: flex;
    align-items: center;
}

#news-list > .news-item:nth-child(1) {
    margin-top: 0;
}

.news-item .date {
    font-size: 1rem;
    /*width: 6rem;*/
    margin-right: 1rem;
}

.news-item .tag {
    width: 7.5rem;
    display: flex;
    align-items: center;
    color: #fff;
}

.news-item .tag > div {
    display: inline-block;
    padding: 0 1rem;
    height: 1.6rem;
    line-height: 1.6rem;
    border-radius: 0.4rem;
}

.news-item .title {
    flex: 1;
    overflow-wrap: break-word;
    transition: 0.3s ease-out letter-spacing;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#news-list > .news-item > a .title::after {
    content: "";
    margin-right: 0.25rem;
    width: 0.4rem;
    height: 0.4rem;
    border: calc(0.4rem / 6) solid;
    border-color: var(--font-color) var(--font-color) transparent transparent;
    transform: rotate(45deg);
    transition: 0.15s ease-out;
    opacity: 1;
}

#news-list > .news-item:hover > a .title::after {
    opacity: 0;
    margin-right: 0;
}

#news-list > .news-item::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 0;
    height: 0.1rem;
    background-color: var(--strong-border-line-color);
    transition: 0.3s ease-out;
}

#news-list > .news-item::before {
    position: absolute;
    content: "";
    bottom: 0;
    right: -0.1rem;
    width: 0.1rem;
    height: 0;
    background-color: var(--strong-border-line-color);
    transform-origin: bottom right;
    transform: skewX(45deg);
    transition: 0.3s ease-out;
}

#news-list > .news-item:has(a):hover::after {
    width: 100%;
}

#news-list > .news-item:has(a):hover .title {
    letter-spacing: 0.04rem;
}

#news-list > .news-item:has(a):hover::before {
    height: 1rem;
    transition: 0.3s ease-out 0.25s;
}

@media screen and (max-width: 900px) {
    .news-item .tag {
        width: 6rem;
    }

    #news-list > .news-item:has(a):hover::after {
        width: 0;
    }
    
    #news-list > .news-item:has(a):hover .title {
        letter-spacing: 0;
    }    
}