/* 通用样式和字体设置 */
body {
    font-family: 'Inter', sans-serif; /* 简洁现代的字体 */
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #f0f2f5; /* 柔和的浅灰色背景 */
    color: #333; /* 基础深灰文字色 */
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 容器样式 */
.container {
    text-align: center;
    padding: 50px; /* 增加内边距，强调留白 */
    background-color: #ffffff; /* 纯白背景 */
    position: relative; /* 用于定位装饰性线条 */
    max-width: 450px;
    width: 90%;
    box-sizing: border-box;
    overflow: hidden; /* 隐藏超出容器的线条 */
}

/* 装饰性线条 */
.line-border {
    position: absolute;
    background-color: #ccc; /* 灰色线条 */
}

.line-border.top-left {
    top: 0;
    left: 0;
    width: 30%; /* 线条长度 */
    height: 2px;
}
.line-border.top-left::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 300%; /* 垂直线条长度 */
    background-color: #ccc;
}

.line-border.bottom-right {
    bottom: 0;
    right: 0;
    width: 30%;
    height: 2px;
}
.line-border.bottom-right::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 2px;
    height: 300%;
    background-color: #ccc;
}


/* 标题样式 */
.main-title {
    font-size: 3em; /* 标题字号更大 */
    color: #222;
    margin-top: 0;
    margin-bottom: 10px;
    font-weight: 300; /* 更细的字体，增加轻盈感 */
    letter-spacing: 0.05em; /* 略微宽松字距 */
    text-transform: uppercase;
    position: relative;
    padding-bottom: 5px; /* 为下方的线条留出空间 */
}

/* 标题下方的装饰线条 */
.main-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px; /* 短线条 */
    height: 2px;
    background-color: #007bff; /* 主题色 */
}

.tagline {
    font-size: 1.1em;
    color: #777;
    margin-bottom: 40px; /* 增加与按钮的距离 */
    font-weight: 400;
}

/* 选项按钮容器 */
.options {
    display: flex;
    flex-direction: column;
    gap: 15px; /* 按钮间距 */
    margin-bottom: 40px;
}

/* 按钮样式 */
.line-button {
    display: flex; /* 使用 flexbox 布局图标和文本 */
    align-items: center;
    justify-content: center;
    padding: 14px 25px;
    font-size: 1.1em;
    font-weight: 500;
    text-decoration: none; /* 移除下划线 */
    cursor: pointer;
    background-color: transparent; /* 默认透明背景 */
    border: 1px solid; /* 细边框，颜色由具体类设置 */
    color: #444; /* 按钮默认文字色 */
    transition: all 0.2s ease-out, transform 0.1s ease-out, box-shadow 0.1s ease-out; /* 更细致的过渡 */
    position: relative; /* 用于图标定位 */
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); /* 默认轻微阴影 */
    border-radius: 4px; /* 稍微增加圆角，更像物理按钮 */
}

/* 按钮图标（使用简单的箭头） */
.button-icon {
    margin-right: 10px;
    font-weight: bold;
    transform: translateX(0);
    transition: transform 0.2s ease-out;
    /* 这里不需要单独设置颜色，它会继承父元素的颜色 */
}

/* 按钮悬停效果的通用部分 */
.line-button:hover {
    transform: translateY(-2px); /* 向上轻微浮动 */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1); /* 更明显的阴影提升 */
}

/* 按钮点击效果 */
.line-button:active {
    transform: translateY(0); /* 按下时回到原位 */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); /* 按下时阴影变小，模拟下陷 */
    /* 背景色和边框色由具体类设置，这里不再通用设置 */
    color: #444; /* 确保按下时文字颜色回到默认或深色 */
}


/* 不同按钮的主题色 */
/* primary 按钮 (蓝色) */
.line-button.primary {
    border-color: #007bff;
    color: #007bff; /* 默认文字色为蓝色 */
}
.line-button.primary:hover {
    background-color: #007bff; /* 悬停时填充蓝色 */
    color: #ffffff; /* 悬停时文字变为白色 */
    border-color: #007bff; /* 边框保持蓝色，或可以改为白色让其融合 */
}
.line-button.primary:active {
    background-color: #0056b3; /* 点击时更深的蓝色 */
    border-color: #0056b3;
    color: #ffffff; /* 点击时文字保持白色 */
}

/* secondary 按钮 (绿色) - **修改为默认绿色背景和动画** */
.line-button.secondary {
    background-color: #28a745; /* 默认绿色背景 */
    border-color: #28a745; /* 默认绿色边框 */
    color: #ffffff; /* 默认白色文字 */
    animation: pulseScale 2s infinite alternate ease-in-out; /* 应用呼吸动画 */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 初始阴影，与动画配合 */
}
.line-button.secondary:hover {
    background-color: #218838; /* 悬停时稍微深一点的绿色 */
    color: #ffffff;
    border-color: #218838;
    transform: scale(1.02); /* 悬停时轻微放大，覆盖动画的当前状态 */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* 悬停时阴影变大 */
    animation: none; /* 悬停时停止动画 */
}
.line-button.secondary:active {
    background-color: #1e7e34; /* 点击时更深的绿色 */
    border-color: #1e7e34;
    color: #ffffff;
    transform: scale(0.98); /* 点击时稍微缩小 */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* tertiary 按钮 (灰色) */
.line-button.tertiary {
    border-color: #6c757d;
    color: #6c757d; /* 默认文字色为灰色 */
}
.line-button.tertiary:hover {
    background-color: #6c757d; /* 悬停时填充灰色 */
    color: #ffffff; /* 悬停时文字变为白色 */
    border-color: #6c757d;
}
.line-button.tertiary:active {
    background-color: #545b62;
    border-color: #545b62;
    color: #ffffff;
}

/* 按钮图标悬停效果 */
.line-button:hover .button-icon {
    transform: translateX(5px); /* 悬停时箭头向右移动 */
    /* 这里的颜色现在会继承自父级 .line-button:hover 的 color */
}


/* 页脚文本 */
.footer-text {
    font-size: 0.8em;
    color: #aaa; /* 更浅的灰色 */
    margin-top: 25px;
    font-weight: 300;
}

/* **新增：呼吸式动画关键帧** */
@keyframes pulseScale {
    0% {
        transform: scale(1); /* 初始大小 */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 初始阴影 */
    }
    50% {
        transform: scale(1.03); /* 放大到 1.03 倍 */
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* 阴影也变大 */
    }
    100% {
        transform: scale(1); /* 回到初始大小 */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 回到初始阴影 */
    }
}


/* 媒体查询：适配小屏幕 */
@media (max-width: 480px) {
    .container {
        padding: 35px 20px;
    }
    .main-title {
        font-size: 2.5em;
    }
    .tagline {
        font-size: 1em;
    }
    .line-button {
        padding: 12px 20px;
        font-size: 1em;
    }
    .line-border.top-left, .line-border.bottom-right {
        width: 20%;
    }
    .line-border.top-left::after, .line-border.bottom-right::before {
        height: 200%;
    }
}
