

/*引入HarmonyOS_Sans*/
@font-face {
    font-family: 'HarmonyOS_Sans';
    font-style: normal;
    font-weight: normal;
    src: url("/usr/themes/Brave/asset/Font/HarmonyOS_Sans.ttf") format('truetype');
}

* {
    font-family: 'HarmonyOS_Sans';
}

a {
    text-decoration: none !important;
}

a:hover {
    text-decoration: none !important;
}

.page-navigator {
    display: flex;
}

.page-navigator li {
    margin: 0 10px;
}

ol,
p {
    margin: 0;
}

ol {
    list-style: none;
    padding: 0;
}

::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-corner {
    background: unset;
}

::-webkit-scrollbar-thumb {
    background: hsla(0, 0%, 52.9%, .4);
    border-radius: 6px;
}

::-webkit-scrollbar-track {
    background: hsla(0, 0%, 52.9%, .1);
}

::-webkit-scrollbar-track {
    background-color: #fff;
}

.avatar-img {
    height: 150px;
    width: 150px;
    object-fit: cover;
    border: rgba(255, 255, 255, .4) 4px solid;
}



@keyframes heartbeat {
    0% {
        transform: scale(1) rotate(-45deg);
    }

    20% {
        transform: scale(1.25) rotate(-45deg);
    }

    40% {
        transform: scale(1.5) rotate(-45deg);
    }
}

.lover-container {
    max-width: 500px !important;
    width: 500px;
    height: 50vh;
}

.lover-background {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    object-fit: cover;
    background-position-x: center;
    background-position-y: center;
    background-size: cover;
}

.lover-background:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAKUlEQVQImU3IMREAIAgAwJfNkQCEsH8cijjpMf6vnXlQaIiJFx+omEBfmqIEZLe2jzcAAAAASUVORK5CYII=);
}

.main-hero-header,
.main-hero-waves-area {
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 0;
}

.main-hero-waves-area {
    bottom: -5px;
}

.waves-area .waves-svg {
    width: 100%;
    height: 5rem
}

.waves-area .parallax > use {
    -webkit-animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite;
    animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite
}

.waves-area .parallax > use:first-child {
    -webkit-animation-delay: -2s;
    animation-delay: -2s;
    -webkit-animation-duration: 7s;
    animation-duration: 7s;
    fill: hsla(0, 0%, 100%, .7)
}

.waves-area .parallax > use:nth-child(2) {
    -webkit-animation-delay: -3s;
    animation-delay: -3s;
    -webkit-animation-duration: 10s;
    animation-duration: 10s;
    fill: hsla(0, 0%, 100%, .5)
}

.waves-area .parallax > use:nth-child(3) {
    -webkit-animation-delay: -4s;
    animation-delay: -4s;
    -webkit-animation-duration: 13s;
    animation-duration: 13s;
    fill: hsla(0, 0%, 100%, .3)
}

.waves-area .parallax > use:nth-child(4) {
    -webkit-animation-delay: -5s;
    animation-delay: -5s;
    -webkit-animation-duration: 20s;
    animation-duration: 20s;
    fill: #fff
}

@-webkit-keyframes move-forever {
    0% {
        -webkit-transform: translate3d(-90px, 0, 0);
        transform: translate3d(-90px, 0, 0)
    }

    to {
        -webkit-transform: translate3d(85px, 0, 0);
        transform: translate3d(85px, 0, 0)
    }
}

@keyframes move-forever {
    0% {
        -webkit-transform: translate3d(-90px, 0, 0);
        transform: translate3d(-90px, 0, 0)
    }

    to {
        -webkit-transform: translate3d(85px, 0, 0);
        transform: translate3d(85px, 0, 0)
    }
}

.lover-card-title {
    background: -webkit-linear-gradient(left, red, #00f);
    background: -o-linear-gradient(right, red, #00f);
    background: -moz-linear-gradient(right, red, #00f);
    background: linear-gradient(to right, red, #00f);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.avatar-md img {
    width: 65px;
    height: 65px;
}

#loveList,
.list-content {
    max-width: 650px;
    width: 100%;
}

#loveList section {
    display: block;
    padding-top: 50%;
    background-position: 50% 50%;
    background-color: white;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}

.statusIcon {
    width: 18px;
    height: 18px;
    margin-right: .8rem;
}

.indexPlate a:hover {
    color: initial;
    text-decoration: none;
}

.indexPlate a {
    color: inherit;
}

textarea.form-control {
    resize: vertical;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
    margin-bottom: 2px;
    background-image: url(/usr/themes/Brave/asset/img/comments.png);
    transition: all 0.25s ease-in-out 0s;
}

textarea.form-control:focus {
    border: 1px solid #fedcc2;
    box-shadow: 1px 1px 2px 1px #fff5ee;
    background-position-y: 200px;
    transition: all 0.25s ease-in-out 0s;
}

#qq.form-control:focus,
#mail.form-control:focus,
#author.form-control:focus,
#url.form-control:focus {
    border: 1px solid #fedcc2;
    box-shadow: 1px 1px 2px 1px #fff5ee;
}

#qq.form-control,
#url.form-control,
textarea.form-control,
#author.form-control,
#mail.form-control {
    margin: 16px auto !important;
}

.btn-outline-danger {
    color: #fa862b !important;
    border-color: #fa862b !important;
}

.btn-outline-danger:hover {
    background-color: #fb984b !important;
    color: #fff !important;
}

.list-text {
    line-height: 2.2;
    text-align: center;
}

.bigfontNum {
    font-size: 2rem;
}

.indexPlate .card {
    margin-bottom: 1rem;
}

@media screen and (max-width: 600px) {
    /* --- 在 @media screen and (max-width: 600px) { ... } 内部修改或添加 --- */

.avatar-img {
    height: 80px; /* 从 64px 放大到 80px */
    width: 80px;  /* 从 64px 放大到 80px */
    object-fit: cover;
    border: rgba(255, 255, 255, .4) 2px solid;
}

.lover-heartbeat {
    width: 40px; /* 为移动端的爱心设置一个合适的尺寸 */
}

.lover-box {
    gap: 0.5rem; /* 适当减小移动端的间距 */
}

/* --- 结束 --- */


    .lover-container {
        max-width: 500px !important;
        width: 500px;
        height: 35vh;
    }

    .waves-area .waves-svg {
        width: 100%;
        height: 3rem;
    }

    .bigfontNum {
        font-size: 1.5rem;
    }

    .list-content {
        max-width: 650px;
        width: 90%;
    }
}

#article img {
    max-width: 100%;
}

/* Make clicks pass-through */
#nprogress {
    pointer-events: none;
}

#nprogress .bar {
    background: #29d;

    position: fixed;
    z-index: 1031;
    top: 0;
    left: 0;

    width: 100%;
    height: 2px;
}

/* Fancy blur effect */
#nprogress .peg {
    display: block;
    position: absolute;
    right: 0px;
    width: 100px;
    height: 100%;
    box-shadow: 0 0 10px #29d, 0 0 5px #29d;
    opacity: 1.0;

    -webkit-transform: rotate(3deg) translate(0px, -4px);
    -ms-transform: rotate(3deg) translate(0px, -4px);
    transform: rotate(3deg) translate(0px, -4px);
}

/* Remove these to get rid of the spinner */
#nprogress .spinner {
    display: block;
    position: fixed;
    z-index: 1031;
    top: 15px;
    right: 15px;
}

#nprogress .spinner-icon {
    width: 18px;
    height: 18px;
    box-sizing: border-box;

    border: solid 2px transparent;
    border-top-color: #29d;
    border-left-color: #29d;
    border-radius: 50%;

    -webkit-animation: nprogress-spinner 400ms linear infinite;
    animation: nprogress-spinner 400ms linear infinite;
}

.nprogress-custom-parent {
    overflow: hidden;
    position: relative;
}

.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
    position: absolute;
}

@-webkit-keyframes nprogress-spinner {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes nprogress-spinner {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


/* 全局声明 */
#article {
    line-height: 1.6rem;
    letter-spacing: .3px;
}

/* 标题 */
#article h1,
h2,
h3 {
    color: #666;
    font-weight: 700 !important;
}

#article h1:before {
    display: block;
    content: "";
    margin-top: 30px
}

#article h1:nth-of-type(1)::before {
    display: block;
    margin-top: 10px;
}

#article h1 {
    font-size: 28px !important;
    color: #666;
    line-height: 1.4;
    margin: 2rem auto 1.4rem !important;
    background: linear-gradient(to bottom, transparent 65%, rgba(152, 176, 141, .2) 0) no-repeat;
    width: auto;
    display: inline;
}

#article h1:after {
    display: block;
    content: "";
    margin-bottom: 10px;
}


#article h2 {
    font-size: 24px !important;
    margin: 1.6rem auto 1.2rem !important;
    border-left: 5px solid #98B08D;
    padding: .1rem .3rem;
}

#article h3 {
    margin: 1.4rem auto 1.2rem !important;
    font-size: 21px !important;
    font-weight: bold;
    padding-bottom: 3px;
    border-bottom: 1px solid rgba(233, 238, 231);
}

#article h4 {
    margin: 1rem auto 1rem !important;
    font-size: 19px !important;
}

#article h5 {
    margin: 1rem auto 1rem !important;
    font-size: 17px;
    color: #98B08D;
}

#article h6 {
    margin: 1rem auto 1rem !important;
    font-size: 17px;
}

/* 段落 */
#article p {
    font-size: 15px;
}

/* 引用 */
#article blockquote {
    font-family: "Helvetica", Arial, "kaiti", "pingfangSC light", "microsoft yahei" !important;
    margin: 1.6rem auto 1.2rem !important;
    padding: 15px 15px 15px 15px;
    line-height: 27px;
    background-color: #F7F7F7;
    border-left: 3px solid #98B08D;
    color: #808080;
    display: block;
}

/* 行内代码 */
#article li code,
p code {
    color: #789769 !important;
    background-color: rgba(233, 238, 231, 0.5);
    font-family: "LM Mono 10", "microsoft yahei", "Times New Roman", Arial, simsun, "pingfangSC light", sans-serif;
    font-size: 0.875rem;
    box-sizing: border-box;
    margin: 0 4px;
    padding: 1px 2px;
    border-radius: 2px;
    box-shadow: 0 0 .8px .8px rgba(129, 181, 103, .5);
}

/*列表*/
#article ol,
#article ul {
    padding-left: 25px;
    margin: .5rem 0;
}

#article ol > li,
#article ul > li {
    color: #333;
}

#article li::marker {
    color: #617a55;
}


#article ol {
    margin: 1.2rem auto 1rem !important;
    padding-left: 25px !important;
    list-style-type: decimal !important;
}

#article ul {
    list-style-type: circle;
}

#article ul ul,
#article ol ul {
    list-style-type: disc;
}

#article ul ul ul,
#article ol ul ul,
#article ol ol ul,
#article ul ol ul {
    list-style-type: square;
}

/*表格*/
#article table {
    margin: 1.6rem auto !important;
    width: 100%;
    overflow: auto;
    display: table;
    font-size: 14px;
    border-spacing: 0;
    border-collapse: collapse;
    word-break: normal;
    word-wrap: normal;
    border-radius: 3px;
    box-shadow: 2px 2px 5px 1px #8c8c8c61;
}

#article table td,
table th {
    border-radius: 3px;
    padding: 6px 13px;
    word-break: keep-all;
}

#article table th {
    font-weight: 700;
    color: #789769;
    background-color: #f8f8f8;
}

#article table tr:nth-child(2n) {
    background-color: #f8f8f8;
}

/* 分割线 */
#article hr {
    margin: 2rem 0 !important;
    border-top: 2px dotted #F2F2F2 !important;
}

#article pre {
    margin: 1.2rem auto 1.6rem !important;
    padding: 10px 15px;
    background-color: #F2F2F2 !important;
    border-radius: 5px;
}

/* 图片 */
#article img {
    margin: 1rem auto;
    border: 10px solid #ffffff !important;
    outline: 1px solid #F2F2F2;
}

/* 文字加粗 */
#article strong {
    color: #6FB147;
    font-weight: bold;
}

#article strong::before {
    content: '「';
}

#article strong::after {
    content: '」';
}

/* 动态彩虹字 考虑到斜体用的比较少，将斜体语法改为显示动态彩虹字 */
#article em {
    font-style: normal;
    background-image: linear-gradient(to left, orangered, orange, gold, lightgreen, cyan, dodgerblue, mediumpurple, hotpink, orangered);
    background-size: 110vw;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-animation: rainbow 60s linear infinite;
    animation: rainbow 60s linear infinite;
}

@keyframes rainbow {
    100% {
        background-position: -2000vw;
    }
}

button,
input,
optgroup,
select,
textarea {
    margin: 1rem 0 1rem -15px !important;
}

/* 删除线 */
del {
    padding: 1px 2px;
    text-decoration: line-through #F87466;
    color: #808080;
}

/* 文章最后加上THE STORY CONTINUES... */
#article:after {
    content: 'THE STORY CONTINUES...';
    font-size: 16px;
    display: block;
    text-align: center;
    margin-top: 50px;
    color: #999;
    border-bottom: 1px solid #eee;
}

/*文字高亮*/
.highlight {
    background-color: #9BE9B3;
    padding: 2px 4px;
    margin: 0 2px;
}

.card {
    margin: 10px;
}

.cardshadow {
    border: solid #87CEEB4D !important;
    border-radius: 10px !important;
    box-shadow: 4px 8px 8px rgba(135, 206, 235, 0.3) !important;
/ transition: 0.3 s ease-in-out;
}

.cardshadow:hover {
    box-shadow: 4px 8px 10px rgba(135, 206, 235, 0.5) !important;
}

.loveList-title {
    background: -webkit-linear-gradient(left, red, orange);
    background: -o-linear-gradient(right, red, orange);
    background: -moz-linear-gradient(right, red, orange);
    background: linear-gradient(to right, red, orange);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
    text-align: center;
    margin-bottom: 30px;
}

/*祝福板昵称美化*/
.name {
    font-size: 14px;
    color: #00BF63;
    font-weight: 500;
    line-height: 1;
    border-right: 1px solid #d8d8d8;
    margin-right: 10px;
    padding-right: 10px;
}

.name a {
    color: #38B6FF;
}

.name a:hover {
    color: #d05e05;
}

.name-author {
    color: #FFFFFF;
    background-color: pink;
    border-radius: 50%;
}

/*祝福边框*/
.commentframe {
    padding: 20px 25px 40px 25px;
    background-color: white;
}



@keyframes light {
    0% {
        box-shadow: 0 0 4px #ff1354;
    }

    25% {
        box-shadow: 0 0 16px #1ebbff;
    }

    50% {
        box-shadow: 0 0 4px #0ed39f;
    }

    75% {
        box-shadow: 0 0 16px #4fe7f4;
    }

    100% {
        box-shadow: 0 0 4px #f35444;
    }
}

/* 彩色滚动条样式 */
::-webkit-scrollbar {
    width: 4px;
    height: 1px;
}

::-webkit-scrollbar-thumb {
    background-color: #12b7f5;
    background-image: -webkit-linear-gradient(45deg, rgba(255, 93, 143, 1) 25%, transparent 25%, transparent 50%, rgba(255, 93, 143, 1) 50%, rgba(255, 93, 143, 1) 75%, transparent 75%, transparent);
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
    background: #f6f6f6;
}

/* 适配移动端 */
.pcbdmap {
    display: block;
}

@media (max-width: 998px) {
    .pcbdmap {
        display: none;
    }
}

.grayscale-filter {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}


/* OwO表情 */
.OwO-item {
    background-color: #fff !important;
}

.OwO-bar {
    overflow-y: scroll
}

.OwO .OwO-body .OwO-items {
    overflow-y: scroll !important;
    overflow-x: hidden !important
}

/* 手机端OwO表情 */
@media screen and (max-width: 840px) {
    .OwO .OwO-body .OwO-items {
        max-height: 150px !important;
    }

    .OwO-items .OwO-item {
        padding: 3px !important;
    }

    .OwO .OwO-body .OwO-bar {
        height: auto !important;
    }

    .OwO-bar {
        overflow-y: hidden !important;
    }

    .OwO-packages li {
        font-size: 13px !important;
        padding: 0 5px !important;
        line-height: 30px !important;
    }
}

/*情话框*/
.lovecontent {
    border: none;
    background: linear-gradient(to right, white, pink);
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    height: auto;
    width: 95%;
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 1px 4px 15px rgb(125 147 178 / 30%);
}

/* logo扫光特效 */
.navbar-brand {
    position: relative;
    overflow: hidden;
    margin: 0px 0 0 0px;
}

.navbar-brand:before {
    content: "";
    position: absolute;
    left: -665px;
    top: -460px;
    width: 200px;
    height: 15px;
    background-color: rgba(255, 255, 255, .5);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: searchLights 6s ease-in 0s infinite;
    -o-animation: searchLights 6s ease-in 0s infinite;
    animation: searchLights 6s ease-in 0s infinite;
}

@-moz-keyframes searchLights {
    50% {
        left: -100px;
        top: 0;
    }

    65% {
        left: 120px;
        top: 100px;
    }
}

@keyframes searchLights {
    40% {
        left: -100px;
        top: 0;
    }

    60% {
        left: 120px;
        top: 100px;
    }

    80% {
        left: -100px;
        top: 0px;
    }
}

.graHover {
    position: relative;
    overflow: hidden;
}

/*淡入效果*/
.fade-in-1 {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}

.fade-in-2 {
    opacity: 0;
    transform: translateY(-30px);
    transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}

/*下雪特效*/
.xiaxue {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 100001;
}

/* 弹窗背景渐变和阴影 */
.modal-content {
    background: linear-gradient(to right, pink, white) !important;
    border-radius: 15px !important;
    box-shadow: 1px 4px 15px rgb(125 147 178 / 30%) !important;
}

/* 弹窗按钮样式 */
.btn-custom {
    background-color: pink !important;
    color: white !important;
    border-radius: 30px !important;
    padding: 10px 20px !important;
    font-weight: bold !important;
    transition: background-color 0.5s ease !important;
}

.btn-custom:hover {
    background-color: #ff3e6c !important;
}

/* 弹窗标题样式 */
.modal-title {
    font-size: 1.5rem !important;
    font-weight: bold !important;
    color: #333 !important;
}

.modal-body {
    font-size: 1rem !important;
    color: #555 !important;
}

/* 设置弹窗按钮 */
.btn-close {
    filter: invert(0) !important;
    color: black !important;
}
/* 爱心容器 */
.heart-container {
    display: flex;
    justify-content: center;
    margin: 10px 0;
}

.heart2 {
    position: relative;
    display: flex;
    height: 20px;
    justify-content: center;
}
.heart2 span {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    margin: 0 3px;
}
.heart2 span:nth-child(1) {
    background-color: red;
    animation: love1 3.2s 0s infinite;
}
.heart2 span:nth-child(2) {
    background-color: darkturquoise;
    animation: love2 3.2s 0.2s infinite;
}
.heart2 span:nth-child(3) {
    background-color: darksalmon;
    animation: love3 3.2s 0.4s infinite;
}
.heart2 span:nth-child(4) {
    background-color: deeppink;
    animation: love4 3.2s 0.6s infinite;
}
.heart2 span:nth-child(5) {
    background-color: yellow;
    animation: love5 3.2s 0.8s infinite;
}
.heart2 span:nth-child(6) {
    background-color: deeppink;
    animation: love4 3.2s 1s infinite;
}
.heart2 span:nth-child(7) {
    background-color: darksalmon;
    animation: love3 3.2s 1.2s infinite;
}
.heart2 span:nth-child(8) {
    background-color: darkturquoise;
    animation: love2 3.2s 1.4s infinite;
}
.heart2 span:nth-child(9) {
    background-color: red;
    animation: love1 3.2s 1.6s infinite;
}
@keyframes love1 {
    30%, 50% {
        height: 8px;
        transform: translateY(-4px);
    }
    70%, 100% {
        height: 4px;
        transform: translateY(0);
    }
}
@keyframes love2 {
    30%, 50% {
        height: 16px;
        transform: translateY(-8px);
    }
    70%, 100% {
        height: 4px;
        transform: translateY(0);
    }
}
@keyframes love3 {
    30%, 50% {
        height: 20px;
        transform: translateY(-10px);
    }
    70%, 100% {
        height: 4px;
        transform: translateY(0);
    }
}
@keyframes love4 {
    30%, 50% {
        height: 24px;
        transform: translateY(-8px);
    }
    70%, 100% {
        height: 4px;
        transform: translateY(0);
    }
}
@keyframes love5 {
    30%, 50% {
        height: 26px;
        transform: translateY(-6px);
    }
    70%, 100% {
        height: 4px;
        transform: translateY(0);
    }
}

/* 运行时间样式 */
.runtime-counter {
    margin: 10px 0;
    font-family: 'Microsoft YaHei', 'Arial', sans-serif;
    font-size: 14px;
    text-align: center;
    color: #666;
    padding: 8px 0;
    line-height: 1.5;
}

.runtime-counter .time-number {
    color: #FF1493;
    font-weight: bold;
    font-size: 15px;
    margin: 0 2px;
    min-width: 18px;
    display: inline-block;
    text-align: center;
}
/* --- 恋爱清单增强样式 - 开始 --- */

/* 进度条容器 */
.love-list-progress-container {
    max-width: 650px;
    width: 100%;
    margin: 20px auto;
    padding: 20px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 16px rgba(135, 206, 235, 0.2);
    text-align: center;
}

.love-list-progress-container h5 {
    margin-bottom: 15px;
    color: #ff69b4; /* 浪漫的粉色 */
    font-weight: bold;
}

/* 进度条背景 */
.progress-bar-bg {
    width: 100%;
    height: 12px;
    background-color: #e9ecef;
    border-radius: 6px;
    overflow: hidden;
}

/* 进度条内芯 */
.progress-bar-inner {
    height: 100%;
    background: linear-gradient(90deg, #ff9a9e 0%, #fad0c4 100%);
    border-radius: 6px;
    transition: width 1.5s ease-in-out;
}

/* 进度文本 */
.progress-text {
    margin-top: 10px;
    font-size: 14px;
    color: #6c757d;
}

/* 清单项统一样式调整 */
.love-list-item {
    margin-bottom: 1rem !important;
    border: none !important;
    border-radius: 10px !important;
    overflow: hidden; /* 保证圆角生效 */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.love-list-item:hover {
    transform: translateY(-5px);
    box-shadow: 4px 12px 20px rgba(135, 206, 235, 0.5) !important;
}

/* 折叠按钮样式 */
.love-list-item .accordion-button {
    align-items: center;
    font-size: 1.1rem;
    font-weight: 500;
}
.love-list-item .accordion-button:focus {
    box-shadow: none;
}
.love-list-item .accordion-button:not(.collapsed) {
    color: #fff;
    background: linear-gradient(135deg, #f6d365 0%, #fda085 100%);
}
.love-list-item .accordion-button::after {
    /* 替换默认的箭头图标 */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fd7e14'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* “待办”事项样式 */
.love-list-item.status-todo .accordion-button {
    background-color: #ffffff;
    color: #333;
}

/* “已完成”事项样式 */
.love-list-item.status-completed {
    opacity: 0.85; /* 完成的稍微暗一点 */
}
.love-list-item.status-completed .accordion-button {
    background-color: #f8f9fa; /* 灰色背景 */
    color: #6c757d;
}

/* 划线动画的核心 */
.love-list-item.status-completed .item-title {
    position: relative;
    color: #888;
}
.love-list-item.status-completed .item-title::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #ff8a00, transparent);
    transform-origin: left;
    animation: strike-through 1.2s cubic-bezier(0.68, -0.55, 0.27, 1.55) forwards;
}

@keyframes strike-through {
    from {
        transform: scaleX(0);
    }
    to {
        transform: scaleX(1);
    }
}


/* 折叠内容区域样式 */
.love-list-item .accordion-body {
    padding: 0;
    background: #fff;
}
.love-list-item .completion-time {
    padding: 10px 15px;
    font-size: 0.9em;
    border-bottom: 1px solid #f0f0f0;
}

.love-list-item .item-image {
    display: block;
    padding-top: 50%; /* 保持16:9的比例 */
    background-position: 50% 50%;
    background-color: #f0f0f0;
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform 0.5s ease;
}
.love-list-item .item-image:hover {
    transform: scale(1.05);
}

/* --- 恋爱清单增强样式 - 结束 --- */
/* --- 网站标题抖音爱心特效 - 开始 --- */

.tiktok-heart {
    text-shadow: -2px 0 rgba(255,105,180,0.7), 2px 0 rgba(255,255,105,0.7);
    animation: shake-heart 0.8s reverse infinite cubic-bezier(0.68,-0.55,0.27,1.55);
    display: inline-block;
    position: relative;
    transition: all 0.3s;
}

@keyframes shake-heart {
    0% { 
        text-shadow: 0 0 rgba(255,105,180,0.7), 0 0 rgba(255,255,105,0.7);
        transform: scale(1);
    }
    25% {
        text-shadow: -3px 0 rgba(255,105,180,0.7), 3px 0 rgba(255,255,105,0.7);
    }
    50% {
        text-shadow: -5px 0 rgba(255,20,147,0.8), 2px 0 rgba(255,215,0,0.8);
        transform: scale(1.05);
    }
    100% {
        text-shadow: 4px 0 rgba(255,0,128,0.9), -4px 0 rgba(255,192,203,0.9);
    }
}

.tiktok-heart:hover {
    animation: shake-heart 0.3s linear infinite;
    color: #fff !important;
    text-shadow: 
        0 0 5px #ff69b4,
        0 0 10px #ff1493,
        0 0 15px #ff00ff;
}

/* --- 网站标题抖音爱心特效 - 结束 --- */
/* --- 头像间爱心跳动特效 - 开始 --- */

/* 1. 设置新爱心图片的基本样式 */
.lover-heartbeat {
    width: 65px; /* 你可以根据喜好调整大小 */
    height: auto;
    /* 应用动画，infinite表示无限循环播放 */
    animation: heart-pulse 1.5s ease-in-out infinite;
}

/* 2. 定义关键帧动画 "heart-pulse" (心跳动画) */
@keyframes heart-pulse {
    0% {
        transform: scale(1);
        filter: drop-shadow(0 0 2px rgba(255, 20, 147, 0.5));
    }
    50% {
        transform: scale(1.15); /* 在动画中间放大到115% */
        filter: drop-shadow(0 0 10px rgba(255, 20, 147, 1));
    }
    100% {
        transform: scale(1);
        filter: drop-shadow(0 0 2px rgba(255, 20, 147, 0.5));
    }
}

/* --- 头像间爱心跳动特效 - 结束 --- */
/* --- 头像布局修复与优化 --- */
.lover-box {
    gap: 1rem; /* 在头像和爱心之间设置一个最小间距 */
}

.lover-avatar-wrapper {
    /* 限制头像容器的宽度，防止挤压爱心 */
    flex-shrink: 0; 
}

.lover-heart-wrapper {
    flex-shrink: 0; /* 防止爱心被压缩 */
}

/* 确保头像下的名字不会有额外的下边距，破坏对齐 */
.lover-avatar-wrapper h4 {
    margin-bottom: 0;
}
/* ======================================================= */
/* === 全局评论区/祝福墙/说说 最终统一美化方案 v3 === */
/* ======================================================= */

/* --- 1. 桌面端默认样式 (也是移动端的基础) --- */

/* 整体内容区：限制最大宽度，并使用内边距控制留白 */
.list-content {
    max-width: 700px; /* PC端最大宽度 */
    width: 100%;      /* 移动端占满，由padding控制 */
    padding: 0 15px;  /* 移动端左右留白 */
    box-sizing: border-box;
    margin: 20px auto !important;
}

/* 评论/说说卡片 */
.comment-body {
    margin-top: 15px;
}
.comment-main {
    display: flex;
    gap: 12px; /* 头像与内容的间距 */
    padding: 15px;
    border-radius: 12px;
    border: 1px solid #fde4e4;
    background: #fff; /* 简化背景，更干净 */
    transition: box-shadow 0.3s ease;
}
.comment-main:hover {
    box-shadow: 0 4px 15px rgba(255, 105, 180, 0.1);
}
.comment-avatar .avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
}
.comment-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.comment-meta {
    font-size: 13px;
    color: #999;
    margin-bottom: 8px;
}
.comment-author {
    font-weight: bold;
    color: #f06292;
    margin-right: 8px;
}
.comment-text {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    word-break: break-word; /* 确保长单词或链接能换行 */
}
.comment-text img { /* 修复图片撑破布局的问题 */
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 8px 0;
}
.comment-text img[src*="/OwO/"] { /* 排除小表情 */
    display: inline-block;
    width: 20px; height: 20px;
    max-width: none; margin: 0 2px;
    vertical-align: -4px;
}

/* =================================================== */
/* === 回复按钮最终美化方案 (右下角悬浮) === */
/* =================================================== */

/* 1. 让父容器可以定位 */
.comment-content {
    position: relative;
    padding-bottom: 30px; /* 为按钮留出空间 */
}

/* 2. 回复链接<a>的样式 (Typecho原生) */
.comment-reply a {
    position: absolute; /* 绝对定位 */
    right: 0;           /* 定位到右下角 */
    bottom: 10px;
    
    /* 外观设计 */
    display: inline-flex; /* 使用flex布局让图标和文字居中 */
    align-items: center;
    gap: 4px;
    background-color: rgba(255, 138, 128, 0.1);
    color: #ff5252 !important;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 10px;
    border-radius: 20px; /* 胶囊形状 */
    text-decoration: none !important;
    border: 1px solid rgba(255, 138, 128, 0.2);
    transition: all 0.3s ease;
    
    opacity: 0; /* 默认隐藏 */
}

/* 3. 添加一个SVG图标 */
.comment-reply a::before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    background-color: currentColor; /* 颜色继承自<a>标签 */
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 17 4 12 9 7'%3E%3C/polyline%3E%3Cpath d='M20 18v-2a4 4 0 0 0-4-4H4'%3E%3C/path%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 17 4 12 9 7'%3E%3C/polyline%3E%3Cpath d='M20 18v-2a4 4 0 0 0-4-4H4'%3E%3C/path%3E%3C/svg%3E");
    mask-size: contain;
    -webkit-mask-size: contain;
}

/* 4. 鼠标悬停效果 */
.comment-main:hover .comment-reply a {
    opacity: 1; /* 悬停在整个卡片上时显示按钮 */
}
.comment-reply a:hover {
    background-color: #ff8a80;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(255, 82, 82, 0.2);
}

/* 嵌套回复 (楼中楼) */
/* =================================================== */
/* === 楼中楼/嵌套回复 最终布局优化 v4 === */
/* =================================================== */

/* 1. 改造子评论容器的基础布局 (PC端和移动端通用) */
.comment-children {
    position: relative; /* 开启相对定位，为伪元素做准备 */
    margin-top: 15px;
    padding-left: 20px; /* 设置一个固定的内边距，作为连接线的空间 */
    margin-left: 0;     /* 移除所有外边距缩进 */
    border-left: none;  /* 移除之前丑陋的实线边框 */
}

/* 2. 使用伪元素创建优雅的垂直连接线 */
.comment-children::before {
    content: '';
    position: absolute;
    left: 0;
    top: -5px;
    bottom: 0;
    width: 2px;
    background-color: #fce4ec; /* 温馨的粉色 */
}

/* 3. 子评论卡片本身的样式调整 */
.comment-children .comment-main {
    padding: 12px;
    border-radius: 8px; /* 子评论圆角可以小一点 */
    background: #fff; /* 子评论背景色简化，减少视觉噪音 */
}
.comment-children .comment-avatar .avatar {
    width: 35px;
    height: 35px;
}
.comment-children .comment-text {
    font-size: 14px;
}

/* 4. 解决“回复 @xxx”的换行问题 */
.comment-reply-to {
    display: block; /* 让它单独占一行 */
    margin-bottom: 5px;
}
/* =================================================== */
/* === 原生回复框美化 (移动表单方案) === */
/* =================================================== */

/* 当评论框被移动到评论下方时，给它一些样式 */
.comment-list .respond {
    margin-top: 15px;
    padding: 15px;
    background-color: #fffafb;
    border: 1px dashed #fce4ec;
    border-radius: 12px;
}
.comment-list .respond .OwO-textarea {
    min-height: 70px;
}

/* 取消回复链接的样式 */
.cancel-comment-reply a {
    display: inline-block;
    padding: 5px 15px;
    background-color: #fff9c4;
    color: #f57f17 !important;
    border-radius: 20px;
    font-size: 13px;
    text-decoration: none !important;
    font-weight: bold;
    border: 1px solid #fff59d;
}
.cancel-comment-reply a:hover {
    background-color: #fff176;
}

/* 按钮统一格式 */
#comment-form .btn-outline-danger,
.dynamic-reply-form .btn-submit-reply {
    background: linear-gradient(135deg, #ff8a80, #ff5252);
    color: white !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 10px 24px !important;
    font-weight: bold;
    transition: all 0.3s ease;
}
#comment-form .btn-outline-danger:hover,
.dynamic-reply-form .btn-submit-reply:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(255, 82, 82, 0.3);
}

/* 动态回复框 */
.dynamic-reply-form {
    margin-top: 12px;
    margin-left: 54px; /* PC端缩进，与主评论内容对齐 */
}
.dynamic-reply-form .dynamic-reply-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 8px;
}

/* --- 3. 管理员登录提示 --- */

.admin-login-prompt {
    background: #f5f7fa;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    padding: 25px;
    margin-top: 15px;
    text-align: center;
}
.admin-login-prompt .lock-icon {
    font-size: 30px;
}
.admin-login-prompt h4 {
    font-size: 1.1rem;
}
.admin-login-prompt .btn-admin-login {
    padding: 10px 25px;
}

/* --- 4. 仅在桌面宽屏上生效的左偏优化 --- */
@media (min-width: 1200px) {
    .list-content {
        margin-left: 25% !important; /* 你可以调整这个值 */
        margin-right: auto !important;
    }
}

/* =================================================== */
/* === 头像呼吸光晕/旋转特效 (精准修复版) === */
/* =================================================== */

/* 1. 将效果直接应用在头像图片<img>标签上 */
/* 我们使用属性选择器来选中所有作为头像的图片 */
img.avatar,
img.avatar-img {
    border-radius: 50%; /* 确保头像是圆的 */
    animation: light 4s ease-in-out infinite; /* 应用呼吸光晕动画 */
    transition: transform 0.8s ease-in-out; /* 定义旋转的过渡效果 */
}

/* 2. 定义鼠标悬停时的旋转效果 */
img.avatar:hover,
img.avatar-img:hover {
    transform: rotate(360deg); /* 悬停时旋转360度 */
}

/* 3. 光晕动画的关键帧 (这个应该不用动，但为了完整性放在这里) */
@keyframes light {
    0% {
        box-shadow: 0 0 4px #ff1354;
    }
    25% {
        box-shadow: 0 0 16px #1ebbff;
    }
    50% {
        box-shadow: 0 0 4px #0ed39f;
    }
    75% {
        box-shadow: 0 0 16px #4fe7f4;
    }
    100% {
        box-shadow: 0 0 4px #f35444;
    }
}
/* =================================================== */
/* === 仅在移动端生效的终极优化 v5 === */
/* =================================================== */

@media (max-width: 768px) {

    /* --- 核心修复：重置列表缩进，消除左侧空白 --- */
    .comment-list,
    div#comments .list-top > ol {
        padding-left: 0 !important;
        margin-left: 0 !important;
        list-style: none;
    }
    .comment-body {
        padding-left: 0;
        margin-left: 0;
    }
    /* --------------------------------------------- */

    .list-content {
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }

    .commentframe {
        padding: 15px !important;
    }
    
    .comment-main {
        padding: 12px;
        gap: 10px;
    }
    .comment-avatar .avatar {
        width: 40px;
        height: 40px;
    }
    .comment-text {
        font-size: 14px;
    }

    /* 楼中楼连接线式缩进 */
    .comment-children {
        position: relative;
        margin-top: 15px;
        padding-left: 20px;
        margin-left: 0;
        border-left: none;
    }
    .comment-children::before {
        content: '';
        position: absolute;
        left: 0;
        top: -5px;
        bottom: 0;
        width: 2px;
        background-color: #fce4ec;
    }
    .comment-children .comment-main {
        gap: 8px;
    }
    .comment-children .comment-avatar .avatar {
        width: 32px;
        height: 32px;
    }

    /* 回复框 */
    .dynamic-reply-form {
        margin-left: 0;
    }

    /* 按钮 */
    #comment-form .btn-outline-danger {
        width: 100%;
    }
}
/* =================================================== */
/* === 动态回复框中 OwO 表情的样式微调 === */
/* =================================================== */

.OwO-for-reply {
    margin-top: 8px; /* 让表情面板和输入框之间有点间距 */
    background-color: #fafafa;
    border-radius: 6px;
}

.OwO-for-reply .OwO-body {
    box-shadow: none; /* 移除可能继承的阴影 */
}
/* ========================================================== */
/* === 用户头衔/身份标识 最终美化方案 v6 (赛博玄幻特效版) === */
/* ========================================================== */

/* --- 1. 基础容器和图标 --- */
.comment-author {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.author-icon {
    font-size: 1.2em;
    line-height: 1;
    /* 为图标增加背景，使其更突出 */
    text-shadow: 0 0 5px rgba(0,0,0,0.3);
}

/* --- 2. 昵称通用样式 --- */
.author-name {
    font-weight: bold;
    transition: all 0.3s ease;
}

/* --- 3. 徽章通用样式 (全新3D悬浮设计) --- */
.author-badge {
    position: relative;
    display: inline-block;
    font-size: 12px; /* 字体稍大，更清晰 */
    color: #fff;
    padding: 6px 14px; /* 增加内边距 */
    border-radius: 4px; /* 硬朗的直角 */
    font-family: "Microsoft YaHei", "HarmonyOS_Sans", sans-serif; /* 使用更锐利的字体 */
    font-weight: bold;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5); /* 更强的文字阴影 */
    border: 1px solid rgba(255, 255, 255, 0.4);
    /* 增加透视效果，为3D动画做准备 */
    transform-style: preserve-3d;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.author-badge:hover {
    /* 鼠标悬停时，徽章向上浮起并轻微旋转，阴影变大 */
    transform: translateY(-4px) rotateX(10deg) scale(1.05);
    box-shadow: 0 15px 25px rgba(0,0,0,0.3) !important;
}

/* --- 4. 云中书 (writer) 专属样式 [暗金 & 雷电] --- */
.author-level-writer .author-name {
    color: #F8D568; /* 明亮的金色 */
}
.author-level-writer .author-badge {
    background: linear-gradient(145deg, #434343 0%, #000000 100%);
    box-shadow: 0 5px 15px rgba(248, 213, 104, 0.2);
}
/* 动态雷电光效 */
.author-level-writer .author-badge::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(248, 213, 104, 0.8), transparent);
    animation: lightning-strike 4s linear infinite;
    transform: skewX(-25deg);
}

/* --- 5. 画眉人 (painter) 专属样式 [水晶 & 霓虹] --- */
.author-level-painter .author-name {
    color: #ff79c6; /* 亮粉色 */
}
.author-level-painter .author-badge {
    background: linear-gradient(145deg, #281483 0%, #8f6ed5 100%);
    box-shadow: 0 5px 15px rgba(255, 121, 198, 0.2);
}
/* 动态霓虹光晕 */
.author-level-painter .author-badge::after {
    content: '';
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background: conic-gradient(
        transparent,
        rgba(255, 121, 198, 0.8),
        transparent 30%
    );
    animation: neon-spin 5s linear infinite;
}

/* --- 6. 星尘访客 (visitor) 专属样式 [极光 & 辉光] --- */
.author-level-visitor .author-name {
    color: #555;
}
.author-level-visitor .author-badge {
    background: linear-gradient(145deg, #02AAB0, #00CDAC);
    box-shadow: 0 5px 15px rgba(2, 170, 176, 0.2);
    /* 访客也有悬浮效果，但没有光效 */
}


/* --- 7. 动画关键帧 (全新特效) --- */

/* 雷电扫光动画 */
@keyframes lightning-strike {
    0% { left: -100%; }
    80%, 100% { left: 100%; }
}

/* 霓虹旋转光晕动画 */
@keyframes neon-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
/* =================================================== */
/* === 点点滴滴 - 统一模块样式 (最终整合版 v5) === */
/* =================================================== */

/* --- A. 详情页 & 通用样式 --- */

/* 详情页主体容器 */
#article-wrapper {
    padding: 30px;
}
@media (max-width: 768px) {
    #article-wrapper {
        padding: 20px;
    }
}

/* 详情页标题 */
.article-title {
    font-family: 'LXGWWenKaiScreen', 'HarmonyOS_Sans', sans-serif;
    font-size: 2.2rem;
    margin-bottom: 15px;
}

/* 详情页 Meta 信息 */
.article-meta-info {
    display: flex;
    flex-wrap: wrap; /* 移动端换行 */
    gap: 10px 20px;
    font-size: 0.85rem;
    color: #999;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #fce4ec;
}

/* --- B. 分类与标签的统一美化样式 (加框凸显) --- */

.post-card-category a,
.tag-link {
    display: inline-block;
    font-size: 0.75rem !important;
    background-color: #f8f9fa;
    color: #aaa !important;
    padding: 4px 10px;
    border-radius: 6px;
    margin: 0 5px 5px 0;
    text-decoration: none !important;
    border: 1px solid #eee;
    transition: all 0.3s ease;
    white-space: nowrap; /* 防止标签文字换行 */
}
.post-card-category a:hover,
.tag-link:hover {
    background-color: #ffe8f0;
    color: #ff69b4 !important;
    border-color: #ffc0cb;
    transform: translateY(-2px);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* 详情页标签区域 */
.article-tags {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px dashed #f0f0f0;
}
.article-tags strong {
    font-family: 'LXGWWenKaiScreen', 'HarmonyOS_Sans', sans-serif;
    color: #ff69b4;
    margin-right: 10px;
}


/* --- C. 文章列表页 - 网格布局样式 --- */

/* 网格容器 */
.post-list-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 20px;
}

/* 文章卡片 */
.post-card {
    margin-bottom: 0;
    background: #fff;
    border-radius: 16px !important;
    box-shadow: 0 8px 30px rgba(255, 182, 193, 0.1) !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.post-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(255, 138, 174, 0.2) !important;
}

/* 卡片缩略图 */
.post-card-thumbnail {
    display: block; position: relative;
    padding-top: 75%;
    overflow: hidden; background-color: #f5f5f5;
}
.post-card-thumbnail img {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.post-card:hover .post-card-thumbnail img {
    transform: scale(1.08) rotate(2deg);
}

/* 卡片内容区 */
.post-card-content {
    padding: 15px; flex-grow: 1;
    display: flex; flex-direction: column;
}

/* 卡片标题 */
.post-card-title {
    font-family: 'LXGWWenKaiScreen', 'HarmonyOS_Sans', sans-serif;
    font-size: 1.1rem; font-weight: bold;
    line-height: 1.4; margin: 0 0 auto 0;
    padding-bottom: 10px;
}
.post-card-title a { color: #333; text-decoration: none; transition: color 0.3s ease; }
.post-card-title a:hover { color: #ff69b4; }

/* 卡片底部 Meta 信息 */
.post-card-footer {
    padding-top: 10px; border-top: 1px solid #fdf2f4;
}
.post-meta-info {
    display: flex; flex-wrap: wrap;
    gap: 5px 10px; font-size: 0.75rem; color: #aaa;
}
.meta-item { display: flex; align-items: center; }
.meta-item a { color: #aaa; text-decoration: none; transition: color 0.3s; }
.meta-item a:hover { color: #ff69b4; }
.meta-icon { width: 12px; height: 12px; margin-right: 4px; }

/* --- D. 分页导航样式 (关键修复) --- */
.pagination-container {
    width: 100%;
    margin-top: 30px;
}
ul.pagination {
    list-style-type: none;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px; /* 按钮间距 */
}
ul.pagination li a,
ul.pagination li span {
    display: block;
    padding: 8px 14px;
    color: #ff69b4;
    background-color: #fff;
    border: 1px solid #ffe8f0;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
}
ul.pagination li a:hover {
    background-color: #ff69b4;
    color: #fff;
    border-color: #ff69b4;
    transform: translateY(-2px);
}
ul.pagination li.active a,
ul.pagination li.active span {
    background-color: #ff69b4;
    color: #fff;
    border-color: #ff69b4;
    cursor: default;
}

/* --- E. 响应式布局 --- */
@media (max-width: 768px) {
    .post-list-container { gap: 15px; }
    .post-card-content { padding: 12px; }
    .post-card-title { font-size: 1rem; }
    .post-meta-info { font-size: 0.7rem; }
}
/* =================================================== */
/* === 文章内容（点点滴滴）图片样式优化 === */
/* =================================================== */

/* 1. 核心规则：让文章内的所有图片自适应宽度 */
.article-content img {
    max-width: 100%;  /* 关键！图片最大宽度为其父容器的100% */
    height: auto;     /* 高度自动缩放，保持图片比例 */
    display: block;   /* 块级元素，方便控制边距，并避免下方空隙 */
    margin: 20px auto;/* 上下20px间距，并水平居中 */
    border-radius: 12px; /* 给图片加上圆角，与主题风格统一 */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); /* 添加漂亮的阴影 */
}

/* 2. 如果图片被链接包裹，去掉链接的下划线和默认样式 */
.article-content a > img {
    border: none; /* 去掉可能的边框 */
}
/* =================================================== */
/* === 头像框挂件样式 (加强版) === */
/* =================================================== */

/* 1. 头像容器：作为定位的父级 */
.avatar-container {
    position: relative !important;
    display: inline-block !important;
    width: 150px;
    height: 150px;
    /* 确保它不会被其他样式挤压 */
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. 原始头像也需要明确尺寸 */
.avatar-container .avatar-img {
    width: 100% !important;
    height: 100% !important;
}

/* 3. 头像框图片：绝对定位，覆盖在头像之上 */
.avatar-container .avatar-frame {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 160%; 
    height: 160%;
    pointer-events: none !important;
    z-index: 2 !important;
    border: none !important;
    box-shadow: none !important;
    animation: none !important;
    /* 确保其在容器内，而不是和容器并排 */
    margin: 0 !important; 
}

/* 4. 移动端适配 */
@media (max-width: 600px) {
    .avatar-container {
        width: 80px;
        height: 80px;
    }
}
/* =================================================== */
/* === 头部视频背景样式 === */
/* =================================================== */

/* 定位视频，使其铺满整个容器 */
.lover-background .hero-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* 核心：裁剪视频以填充，不变形 */
    z-index: -1;       /* 确保视频在背景层，并且在半透明遮罩之下 */
}

/* 确保半透明遮罩在视频之上 */
/* 这是对现有样式的补充，确保层级正确 */
.lover-background::before {
    z-index: 0;
    position: relative; /* 激活z-index */
}
/* =================================================== */
/* === IP 归属地显示样式 === */
/* =================================================== */

.comment-location {
    display: inline-block;
    font-size: 12px;
    color: #aaa;
    background-color: #f7f7f7;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 8px;
    border: 1px solid #eee;
}

/* 添加一个小图标在前面 */
.comment-location::before {
    content: '📍'; /* 你可以换成其他图标，比如 🌍 */
    margin-right: 4px;
}
/* =================================================== */
/* === 甜蜜对话 (聊天记录跳转页) 样式 === */
/* =================================================== */

.chat-redirect-card {
    border-radius: 20px !important;
    background: #fff;
    box-shadow: 0 10px 40px rgba(255, 182, 193, 0.2) !important;
}

.chat-title {
    font-family: 'LXGWWenKaiScreen', 'HarmonyOS_Sans', sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: #ff69b4; /* 粉色标题 */
}

.chat-icon {
    display: inline-block;
    animation: chat-icon-bounce 2s ease-in-out infinite;
}

.chat-description {
    font-size: 1rem;
    line-height: 1.8;
}

.btn-chat-redirect {
    background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important; /* 胶囊按钮 */
    padding: 12px 30px !important;
    font-size: 1.1rem;
    font-weight: bold;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 154, 158, 0.4);
}

.btn-chat-redirect:hover {
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 8px 25px rgba(255, 154, 158, 0.6);
}

.btn-chat-redirect .btn-icon {
    margin-right: 8px;
    display: inline-block;
    animation: btn-icon-beat 1.5s infinite;
}

.chat-tip {
    color: #aaa;
}

/* 图标动画 */
@keyframes chat-icon-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes btn-icon-beat {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}
/* =================================================== */
/* === 全局字体美化方案 (基于 HarmonyOS_Sans) === */
/* =================================================== */

/* --- 1. 基础设定：让正文更柔和、更易读 --- */
body, html {
    font-size: 16px; /* 设定一个舒适的基础字号，16px是黄金标准 */
    font-weight: 400; /* 使用更细的字重，让文字看起来更轻盈、优雅。HarmonyOS字体支持多种字重 */
    line-height: 1.8; /* 增加行高，让段落之间呼吸感更强，阅读不累眼 */
    letter-spacing: 0.5px; /* 轻微增加字间距，提升精致感 */
    color: #555; /* 使用深灰色代替纯黑，视觉上更柔和 */
}

/* --- 2. 标题设定：让标题更有层次感和设计感 --- */

/* 所有标题的共同特征 */
h1, h2, h3, h4, h5, h6, .navbar-brand, .post-card-title a {
    font-weight: 500; /* 标题使用中等粗细，与正文拉开差距 */
    letter-spacing: 1px; /* 标题的字间距可以更大一些，显得更大气 */
}

/* 最大的文章标题 (post.txt) */
.article-title {
    font-size: 2.2rem; /* 放大字号，更有冲击力 */
    line-height: 1.4;
    color: #333;
}

/* 页面大标题 (如祝福墙、点点滴滴) */
.list-text {
    font-size: 2rem;
    font-weight: 700; /* 可以让这个标题最粗，作为视觉焦点 */
    color: #ff69b4; /* 给它一个浪漫的粉色 */
    text-shadow: 1px 1px 3px rgba(0,0,0,0.1); /* 加一点轻微的阴影 */
}

/* 卡片和列表中的标题 (indexPage.txt, index.txt) */
.indexPlate .h5, 
.post-card-title,
.lover-avatar-wrapper h4 {
    font-size: 1.2rem;
    font-weight: 500;
    color: #444;
}

/* --- 3. 特殊元素微调 --- */

/* 评论/说说内容 */
.comment-text {
    font-size: 15px; /* 评论区的字号可以比正文稍小一点 */
    line-height: 1.75;
    color: #484848;
}

/* 首页小卡片的描述文字 */
.indexPlate .small.text-muted {
    letter-spacing: 0.2px; /* 描述文字不需要太大的间距 */
    color: #999;
}

/* 代码块里的字体保持等宽，不受影响 */
code, pre {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
/* =================================================== */
/* === 主题首页特效最终增强版 v3.0 === */
/* =================================================== */

/* --- 1. 粒子背景样式 --- */
#particles-js {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    /* 你可以保留原来的背景图片作为降级方案 */
    background-image: url(<?php $this->options->heroimg(); ?>);
    background-size: cover;
    background-position: center;
}
#particles-js::before { /* 保留半透明遮罩 */
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAKUlEQVQImU3IMREAIAgAwJfNkQCEsH8cijjpMf6vnXlQaIiJFx+omEBfmqIEZLe2jzcAAAAASUVORK5CYII=);
}

/* --- 2. 3D 卡片特效 --- */
.perspective-container {
    perspective: 1000px; /* 设定视距，这是3D效果的关键 */
    margin-bottom: 1rem;
}

.indexPlate .card {
    position: relative;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.1) !important; /* 半透明玻璃质感 */
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1) !important;
    transform-style: preserve-3d;
    transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.6s cubic-bezier(0.23, 1, 0.32, 1) !important;
    will-change: transform, box-shadow; /* 告诉浏览器这个元素会变化，优化性能 */
}

.perspective-container:hover .card {
    box-shadow: 0 20px 40px rgba(255, 105, 180, 0.3) !important;
    /* transform 属性将由 JS 控制 */
}

/* 悬浮标题提示 */
.perspective-container::after {
    content: attr(data-title);
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px 15px;
    background: #ff69b4;
    color: white;
    border-radius: 20px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s, bottom 0.3s;
    pointer-events: none;
    z-index: 10;
}
.perspective-container:hover::after {
    opacity: 1;
    bottom: -40px;
}

/* --- 3. 图标呼吸光晕与动画 --- */
.card-icon {
    border-radius: 50%;
    box-shadow: 0 0 0px rgba(255, 105, 180, 0.7);
    animation: icon-pulse 2.5s infinite;
    transform: translateZ(50px); /* 让图标在3D空间中突出 */
}

@keyframes icon-pulse {
    0% { box-shadow: 0 0 0px rgba(255, 105, 180, 0.3); }
    50% { box-shadow: 0 0 20px 5px rgba(255, 105, 180, 0.7); }
    100% { box-shadow: 0 0 0px rgba(255, 105, 180, 0.3); }
}

.perspective-container:hover .card-icon {
    animation: none; /* 悬停时停止呼吸，变为静态光晕 */
    box-shadow: 0 0 30px 8px rgba(255, 105, 180, 1);
}

/* --- 4. 文字动画 --- */
.card-title-text, .card-desc-text {
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translateZ(30px); /* 文字也稍微突出 */
}
.perspective-container:hover .card-title-text {
    transform: translateZ(50px) translateY(-5px);
    color: #ff69b4 !important;
}
.perspective-container:hover .card-desc-text {
    transform: translateZ(40px) translateY(5px);
}
/* =============================================== */
/* === 网页加载动画样式 (新增代码) === */
/* =============================================== */
#loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #fce4ec; /* 一个柔和的粉色背景 */
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.8s ease, visibility 0.8s ease;
    opacity: 1;
    visibility: visible;
}

#loading-overlay.loaded {
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* 确保淡出后不可点击 */
}

.loading-heart-container {
    width: 100px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loading-heart {
    width: 50px;
    height: 50px;
    background-color: #ff1493;
    position: relative;
    transform: rotate(45deg);
    animation: loading-heartbeat 1.2s infinite;
}

.loading-heart::before,
.loading-heart::after {
    content: '';
    width: 50px;
    height: 50px;
    background-color: #ff1493;
    border-radius: 50%;
    position: absolute;
}

.loading-heart::before {
    top: 0;
    left: -25px;
}

.loading-heart::after {
    top: -25px;
    left: 0;
}

@keyframes loading-heartbeat {
    0%   { transform: rotate(45deg) scale(1); }
    25%  { transform: rotate(45deg) scale(1); }
    30%  { transform: rotate(45deg) scale(1.4); }
    50%  { transform: rotate(45deg) scale(1.2); }
    70%  { transform: rotate(45deg) scale(1.4); }
    90%  { transform: rotate(45deg) scale(1); }
    100% { transform: rotate(45deg) scale(1); }
}
/* =================================================================== */
/* === 音乐播放器完整CSS (整合版) === */
/* =================================================================== */

/* --- A. 基础与字体定义 --- */
/* 
   这个 @font-face 规则引用了外部字体文件，
   这是少数无法完全内联的部分，但通常是稳定的。
*/
@font-face {
    font-family: "mjfont";
    src: url("https://www.hhlqilongzhu.cn/api/QQmusic_ck/music_bfq/font/mjfont.woff2");
}

/* --- B. 播放器主容器 (核心位置修复) --- */
#cenguigui_yybox {
    font-family: "mjfont";
    width: 280px;
    position: fixed;
    z-index: 99999;
    border-radius: 0 20px 20px 0;
    padding-top: 30px;
    
    /* 关键修改：默认位置和动画 */
    left: auto !important; /* 取消所有左侧定位 */
    right: -280px; /* 初始状态下，藏在右边屏幕外 */
    bottom: 80px;
    transition: right 0.8s ease-in-out; /* 定义我们自己的右侧滑动动画 */
    
    /* 背景图 */
    background: url(https://www.hhlqilongzhu.cn/api/QQmusic_ck/music_bfq/img/bg-cat-main.png) no-repeat top;
    background-size: 100% auto;
}

/* --- C. 播放器内部布局与样式 --- */
.bfq {
    box-sizing: border-box;
    width: 100%;
    height: 140px;
    background-image: linear-gradient(180deg, #FFF2EF 0%, #FFFFFF 50%);
    box-shadow: rgb(255, 209, 216) 0px 1px 4px 0px inset, 5px 3px 8px #ffd1d8;
    display: flex;
    padding-top: 10px;
}
.yykjtop { display: flex; }
.gqxx {
    box-sizing: border-box;
    width: 210px;
    height: 60px;
    padding: 0 5px;
}
.yyfm {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
}
.yyfm img {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    border: 3px solid #FFD1D8;
}
.yykj {
    width: 280px;
    height: 100%;
    overflow: hidden;
    box-sizing: border-box;
    padding: 0 20px;
}
#yyname {
    font-size: 16px;
    color: #ffa9b8;
    text-align: center;
    font-weight: bold;
    padding-top: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#yyzuozhe {
    padding: 5px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #78c1ff;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
    font-size: 13px;
}

/* --- D. 进度条与时间 --- */
.jindutiao { height: 40px; }
#progressBar {
    width: 100%;
    height: 10px;
    border-radius: 20px;
    background-color: #ccc;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
#progressBar .progress {
    height: 100%;
    border-radius: 20px;
    background-color: #ffa9b8;
    position: absolute;
    top: 0;
    left: 0;
}
.yyshijian {
    display: flex;
    justify-content: space-between;
    margin: 5px 0;
    font-size: 15px;
}

/* --- E. 控制按钮 --- */
.bfqan {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.bfqan div {
    width: 20px;
    height: 20px;
    overflow: hidden;
    cursor: pointer;
}
.bfqan div svg {
    width: 100%;
    height: 100%;
    background-color: #fff;
}
#yousheng { display: block; }
.bfqan .bfzt { width: 24px; height: 24px; } /* 播放暂停按钮稍大一些 */

/* --- F. 展开/收起按钮 (关键位置修复) --- */
#cenguigui_yybox .zkan {
    width: 30px;
    height: 140px;
    display: flex;
    align-items: center;
    background-color: #FFD1D8;
    position: absolute;
    top: 30px;
    cursor: pointer;
    
    /* 关键修改：从右边移到左边 */
    right: auto !important;
    left: -30px !important;
    border-radius: 15px 0 0 15px !important;
}
#cenguigui_yybox .zkan svg {
    width: 30px;
    height: 30px;
    transition: transform 0.5s ease-in-out;
    
    /* 关键修改：水平翻转图标 */
    transform: scaleX(-1) !important;
}

/* --- G. 图标库基础样式 --- */
.icon {
    width: 1em;
    height: 1em;
    vertical-align: -0.15em;
    fill: currentColor;
    overflow: hidden;
}