* {
    margin: 0;
    padding: 0;
    border: 0;
}
.icon-love {
    width: 400px;
}
html, body {
    width: 100%;
    height: 100%;
}

body {
    overflow: hidden;   /*隐藏超出的部分*/
}

.container {
    width: 100%;
    height: 100%;
    position: relative;
}

/*---------------------- body_left -------------------------*/
.body_left {
    width: 300px;
    height: 300px;
    left: 0;
    bottom: 110px;
    position: absolute;
    z-index: 98;

}

/*---------------------- body_left -------------------------*/

/*---------------------- body_center -------------------------*/
.container .love {
    width: 520px; /* 13 * 40 */
    height: 440px; /* 11 * 40 */
    left: 50%;
    top: 50%;
    position: absolute;
    margin: -260px 0 0 -220px;
    /*background-color: gray;*/
}

.love .block {
    right: 0;
    position: absolute;
    visibility: hidden; /*未开始升空动画前隐藏*/
    background-color: yellow;
}

.love .block div {
    width: 40px;
    height: 40px;
    position: absolute;
    background: url("../images/heart.png") no-repeat;
    background-size: contain;
    /*background-color: #c40908;*/
    /*border: 1px solid silver;*/
    box-sizing: border-box;
}


/*---------------------- body_center -------------------------*/

/*---------------------- footer -------------------------*/
@keyframes border {
    0% {
        width: 0;
    }
    5% {
        width: 5%;
    }
    10% {
        width: 10%;
    }
    15% {
        width: 15%;
    }
    20% {
        width: 20%;
    }
    25% {
        width: 25%;
    }
    30% {
        width: 30%;
    }
    35% {
        width: 35%;
    }
    40% {
        width: 40%;
    }
    45% {
        width: 45%;
    }
    50% {
        width: 50%;
    }
    55% {
        width: 55%;
    }
    60% {
        width: 60%;
    }
    65% {
        width: 65%;
    }
    70% {
        width: 70%;
    }
    75% {
        width: 75%;
    }
    80% {
        width: 80%;
    }
    85% {
        width: 85%;
    }
    90% {
        width: 90%;
    }
    95% {
        width: 95%;
    }
    100% {
        width: 100%;
    }

}
.footer {
    bottom: 30px;
    position: relative;
    z-index: 99;
}
.footer .border .border-top {
    /*width: 0;*/
    /*display: inline-block;*/
    border-top: 3px solid black;
    transform-origin: left center;
    -webkit-animation: border 312 linear;
    -o-animation: border 12s linear;
    animation: border 12s linear;
    animation-fill-mode : both;
    /*border-bottom: none;*/
}

.footer .border .border-bottom {
    /*width: 0;*/
    /*display: inline-block;*/
    float: right;
    border-top: 3px solid red;
    transform-origin: right center;
    -webkit-animation: border 7s linear 12s;
    -o-animation: border 7s linear 12s;
    animation: border 7s linear 12s;
    animation-fill-mode : both;
    /*border-bottom: none;*/
}

.footer .copyright {
    width: 100%;
    height: 30px;
    position: absolute;
    bottom: -30px;
    text-align: center;
    /*background-color: gray;*/

}

.copyright div {
    width: 30%;
    line-height: 30px;
    display: inline-block;
}

.copyright div span {
    color: dimgray;
}

/*---------------------- footer -------------------------*/
.top-image{
    position: absolute; /* 从文档流中移除，不再推挤其他元素 */
    top: 20px;          /* 根据需要调整位置 */
    left: 20px;
    z-index: 50;        /* 确保在上层，可根据需要增减 */
    pointer-events: none; /* 若不需要交互，可避免阻塞点击 */
}
.top-image img{
    display: block;
    max-width: 120px; /* 根据需要调整大小 */
    height: auto;
}

/* 可选：让主要容器居中且不被顶图挤压（若 container 默认是静态布局） */
.container{
    position: relative; /* 保持相对定位，方便内部绝对定位元素定位基准 */
    z-index: 1;
}

/* 右下角打字机文字容器 */
#typing-container {
    position: fixed;
    bottom: 150px;      /* 距离底部，改大向上移 */
    right: 30px;       /* 距离右边，改大向左移；改为 left:30px 放左下 */
    z-index: 200;      /* 如被遮挡可调大 */
    max-width: 560px;  /* 容器最大宽度 */
    text-align: center; /* 内部水平对齐：left/center/right */
    pointer-events: auto;
    transform: none;   /* 可改为 translateX(-50%) 等微调 */
}

/* 打字文字区域 */
#typing-text {
    font-size: 35px;            /* 文字大小 */
    color: #ff69b4;
    background: rgba(255,255,255,0.9);
    padding: 10px 14px;
    border-radius: 8px;
    line-height: 1.6;
    white-space: pre-wrap;      /* 保留换行符 */
    word-break: break-word;
    display: block;
    margin: 0;
}

/* 显示在计时器上方的固定提示文字 */
#message-text {
    display: none;              /* 由 JS 控制 show/hide */
    font-size: 18px;            /* 可修改 */
    color: #ff69b4;
    font-weight: 700;
    text-align: right;
}

/* 按钮容器（打字完成后显示）*/
#button-container {
    display: none;              /* 由 JS 控制 */
    margin-top: 10px;
    text-align: center;
}

/* 按钮统一样式（可根据需要覆盖内联样式） */
#button-container button {
    margin: 0 8px;
    padding: 8px 18px;
    font-size: 16px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
}

/* 计时器（不换行，字体更大） */
#timer-text {
    display: none;              /* 由 JS 控制 */
    font-size: 50px;            /* 改这里调整计时大小 */
    color: #ff69b4;
    font-weight: 700;
    margin-top: 6px;
    white-space: nowrap;        /* 强制单行 */
    display: inline-block;
}

/* 响应式：窄屏时自动缩小或改位置 */
@media (max-width: 480px) {
    #typing-container { right: 10px; bottom: 20px; max-width: 90%; }
    #timer-text { font-size: 32px; }
    #typing-text { font-size: 16px; padding: 8px; }
}

