/*
 *  样式表文件 (style.css)
 *  这个文件包含了控制网页外观的所有样式规则。
 *  作为初学者，你可以通过修改这些规则来改变网页的颜色、字体、布局等。
 */
 
/* 重置浏览器默认样式 */
/* 这段代码会清除所有HTML元素的默认外边距(margin)和内边距(padding)，并确保所有元素的盒模型都使用border-box，这有助于更精确地控制元素的大小。*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 设置页面的基本样式 */
body {
    font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif; /* 设置字体为苹方、微软雅黑 */
    background-color: #f5f5f5; /* 设置背景颜色为浅灰色 */
    display: flex;          /* 使用Flexbox布局 */
    justify-content: center; /* 水平居中内容 */
    align-items: center;     /* 垂直居中内容 */
    min-height: 100vh;      /* 最小高度为视口高度 */
}

/* 容器样式 */
.container {
    background-color: white;  /* 背景颜色为白色 */
    padding: 2rem;            /* 内边距为2rem */
    border-radius: 10px;      /* 圆角边框 */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* 添加阴影效果 */
    width: 90%;              /* 宽度为90% */
    max-width: 500px;        /* 最大宽度为500px */
}

/* 标题样式 */
h1 {
    text-align: center;      /* 文本居中 */
    color: #333;            /* 颜色为深灰色 */
    margin-bottom: 2rem;    /* 下外边距为2rem */
}

/* 计算器样式 */
.calculator {
    display: flex;          /* 使用Flexbox布局 */
    flex-direction: column; /* 垂直排列子元素 */
    gap: 1.5rem;            /* 子元素间距为1.5rem */
}

/* 输入框组样式 */
.input-group {
    display: flex;          /* 使用Flexbox布局 */
    flex-direction: column; /* 垂直排列子元素 */
    gap: 0.5rem;            /* 子元素间距为0.5rem */
}

/* 标签样式 */
label {
    color: #666;            /* 颜色为灰色 */
    font-size: 1rem;        /* 字体大小为1rem */
}

/* 输入框样式 */
input {
    padding: 0.6rem;        /* 内边距为0.6rem */
    border: 1px solid #ddd; /* 边框为1像素实线，颜色为浅灰色 */
    border-radius: 5px;      /* 圆角边框 */
    font-size: 1rem;        /* 字体大小为1rem */
    transition: border-color 0.3s; /* 边框颜色过渡效果 */
}

/* 输入框获得焦点时的样式 */
input:focus {
    border-color: #2ee735de; /* 边框颜色变为绿色 */
    outline: none;          /* 取消外轮廓 */
}

/* 按钮样式 */
button {
    background-color: #2ee735de; /* 背景颜色为绿色 */
    color: white;            /* 文本颜色为白色 */
    padding: 1rem;            /* 内边距为1rem */
    border: none;            /* 无边框 */
    border-radius: 5px;      /* 圆角边框 */
    cursor: pointer;         /* 鼠标悬停时显示手型指针 */
    font-size: 1rem;        /* 字体大小为1rem */
    transition: all 0.3s;
}

/* 重试按钮样式 */
button.retry-btn{
    background-color: #ff6b6b;
}

button.retry-btn:hover {
    background-color: #ff5252;
    transform: scale(1.02);
}

button.retry-btn:active {
    transform: scale(0.98);
}

/* 按钮悬停样式 */
button:hover {
    background-color: #25d12e; /* 背景颜色变为浅绿色 */
     transform: scale(1.02);
}

/*按钮点击效果*/
button:active{
    transform: scale(0.98);
}

/* 结果样式 */
.result {
    text-align: center;      /* 文本居中 */
    padding: 1rem;            /* 内边距为1rem */
    font-size: 1.1rem;        /* 字体大小为1.1rem */
    color: #333;            /* 颜色为深灰色 */
}

/* 文章区域样式 */
.articles-section {
    margin-top: 2rem;        /* 上外边距为2rem */
    padding: 1rem;            /* 内边距为1rem */
    border-top: 1px solid #eee; /* 顶部边框为1像素实线，颜色为浅灰色 */
}

/* 文章区域标题样式 */
.articles-section h2 {
    color: #333;            /* 颜色为深灰色 */
    margin-bottom: 1.5rem;    /* 下外边距为1.5rem */
    text-align: center;      /* 文本居中 */
}

/* 文章网格样式 */
.articles-grid {
    display: grid;          /* 使用Grid布局 */
    gap: 1.5rem;            /* 网格间距为1.5rem */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* 自适应列数，最小宽度280px */
}

/* 文章卡片样式 */
.article-card {
    background: #fff;        /* 背景颜色为白色 */
    border-radius: 8px;      /* 圆角边框 */
    padding: 1.5rem;          /* 内边距为1.5rem */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* 添加阴影效果 */
    transition: transform 0.3s ease;       /* 变换过渡效果 */
}

/* 文章卡片悬停样式 */
.article-card:hover {
    transform: translateY(-5px); /* 向上移动5像素 */
}

/* 文章标题样式 */
.article-title {
    color: #2ee735de;            /* 颜色为绿色 */
    margin-bottom: 0.5rem;    /* 下外边距为0.5rem */
    font-size: 1.1rem;        /* 字体大小为1.1rem */
}

/* 文章摘要样式 */
.article-excerpt {
    color: #666;            /* 颜色为灰色 */
    font-size: 0.9rem;        /* 字体大小为0.9rem */
    line-height: 1.6;       /* 行高为1.6 */
}

/* 阅读全文链接样式 */
.read-more {
    display: inline-block;  /* 设置为行内块元素 */
    margin-top: 1rem;        /* 上外边距为1rem */
    color: #2ee735de;            /* 颜色为绿色 */
    text-decoration: none;   /* 取消下划线 */
    font-weight: 500;       /* 字体粗细为500 */
    transition: opacity 0.3s; /* 透明度过渡效果 */
}

/* 阅读全文链接悬停样式 */
.read-more:hover {
    opacity: 0.8;           /* 透明度变为0.8 */
}

/*文章内容样式*/
.article-content{
    color: #444;
    font-size: 0.9rem;
    line-height: 1.8;
    margin-top: 1rem;
    white-space: pre-line;
}

/* 媒体查询，用于小屏幕设备 */
@media (max-width: 480px) {
    .container {
        padding: 1rem;        /* 内边距为1rem */
    }
    .calculator {
        gap: 1rem;            /* 间距为1rem */
    }
    .articles-grid {
        grid-template-columns: 1fr; /* 单列布局 */
    }
}

/* 新增文章详情样式 */
.article-detail {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
    max-width: 600px;
    width: 90%;
    z-index: 1000;
}

.article-popup {
    position: relative;
}

.close-btn {
    position: absolute;
    right: -10px;
    top: -10px;
    background: #ff6b6b;
    padding: 0.5rem 1rem;
}

/* 添加加载动画样式 */
.loading {
    text-align: center;
    color: #666;
    padding: 1rem;

    display: none;
}

.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    border: 3px solid rgba(0,0,0,0.1);
    border-radius: 50%;
    border-top-color: #2ee735de;
    animation: spin 1s ease-in-out infinite;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* 为AI建议部分添加样式 */
.advice-section-title {
    color: #2ee735de;
    font-weight: bold;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
}

.ai-advice-container {
    background-color: #f0fff0; /* 修改为淡绿色背景 */
    border-radius: 12px;       /* 增加圆角 */
    padding: 1.5rem 2rem;      /* 增加内边距：上下1.5rem，左右2rem */
    margin: 1.2rem 0;          /* 增加上下外边距 */
    line-height: 1.3;          /* 增加行高，改善文本可读性 */
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* 添加轻微阴影 */
    border-left: 4px solid #2ee735de;       /* 添加左侧边框强调 */
    letter-spacing: 0.02em;    /* 增加字母间距 */
}


