/* --- Light Mode (Default) --- */
:root {
    --primary-color: #007bff;
    --text-color: #343a40; 
    --light-text: #6c757d;
    --card-bg: rgba(255, 255, 255, 0.85);
    --border-color: rgba(0, 0, 0, 0.05);
    --shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
    --body-bg-color: #f4f7f6;
    --body-bg-image: linear-gradient(135deg, #eef1f5 0%, #e6e9ef 100%);
}
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    margin: 0;
    color: var(--text-color);
    line-height: 1.6;
    background-color: var(--body-bg-color);
    background-image: var(--body-bg-image);
    min-height: 100vh;
    position: relative;
    transition: background-color 0.4s ease, color 0.4s ease;
}
body::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    opacity: 0.03; pointer-events: none;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW3W1tZ5eXlsbW3g4ODZ2dnPz8/Ly8vIx8fGxsbr6+vh4eHY2Njh4eHb29vT09PU1NTNzc3Ozs7U1NTQ0NDR0dHR0dHW1tZpaWmZmdUbAAAAIElEQVRIx+3QSRKAQAxA0UpFVL2d2N9/S9w5wpG2VX7BlA3nCENsC44d+wAAAADg3z1UfT7wJAAAAACg3x4u2w4/zVfVBwAAAAC/GzxpAAAAAADgH3kAAAAA4K/2AAAAAADAv3kAAAAA4K/2AAAAAADAv3kAAAAA4K/2AAAAAADAv3kAAAAA4K/2AAAAAADA/30AAAAAAPwB/c4D8xM39qgAAAAASUVORK5CYII=');
}
header { text-align: center; padding: 60px 20px 40px; }
header h1 { margin: 0; font-size: 42px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
header h1 img { width: 48px; height: 48px; margin-right: 15px; }
header p { margin: 10px 0 0; font-size: 18px; color: var(--light-text); }
main { max-width: 1200px; margin: 40px auto; padding: 0 20px; }
main h2 { text-align: center; margin-bottom: 40px; font-size: 28px; font-weight: 500; }
.tool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px; }
.tool-card {
    background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 16px;
    padding: 30px; text-align: center; box-shadow: var(--shadow);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    display: flex; flex-direction: column; transition: all 0.3s ease;
    transform: translateY(20px); opacity: 0; animation: fadeIn 0.6s ease forwards;
}
.tool-card:nth-child(2) { animation-delay: 0.1s; }
@keyframes fadeIn { to { transform: translateY(0); opacity: 1; } }
.tool-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); }
.tool-icon { font-size: 48px; line-height: 1; margin-bottom: 15px; }
.tool-card h3 { margin: 0 0 10px; font-size: 20px; color: var(--text-color); }
.tool-card p { color: var(--light-text); font-size: 15px; flex-grow: 1; margin-bottom: 20px; }
.tool-link { display: inline-block; background: var(--primary-color); color: white; padding: 10px 20px; border-radius: 8px; text-decoration: none; font-weight: 500; transition: background-color 0.2s, transform 0.2s; }
.tool-link:hover { background-color: #0b5ed7; transform: scale(1.05); }
footer { text-align: center; padding: 30px 20px; margin-top: 40px; color: var(--light-text); font-size: 14px; background: transparent; }
footer p { margin: 0; }
#theme-switcher { position: fixed; bottom: 20px; right: 20px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border-color); background: var(--card-bg); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); font-size: 20px; cursor: pointer; z-index: 100; }

/* --- Dark Mode Overrides --- */
body.dark-mode {
    --text-color: #ffffff;
    --light-text: #adb5bd;
    --card-bg: rgba(25, 29, 39, 0.4);
    --border-color: rgba(255, 255, 255, 0.15);
    --shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
    --body-bg-color: #0b0f19;
    --body-bg-image: radial-gradient(circle at 10% 20%, rgba(10, 39, 94, 0.4) 0%, transparent 50%),
                      radial-gradient(circle at 80% 70%, rgba(61, 28, 94, 0.4) 0%, transparent 50%);
}
body.dark-mode::before { display: none; } /* Dark mode has its own complex background, no noise needed */
body.dark-mode .tool-card:hover { background: rgba(40, 45, 60, 0.6); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); }
/* --- 禁用按钮的样式 --- */
.tool-link[disabled] {
    background-color: #6c757d; /* 禁用状态下的背景色 */
    cursor: not-allowed;     /* 显示“禁止”鼠标指针 */
    opacity: 0.65;           /* 让按钮看起来更灰暗 */
}
/* --- 统一样式：页脚链接样式 --- */
footer a {
    /* 继承父元素(p标签)的颜色，这样无论明暗主题都能自动匹配 */
    color: inherit; 
    /* 去掉默认的下划线 */
    text-decoration: none;
    transition: color 0.2s;
}

/* 鼠标悬浮时，显示下划线，以提示用户这是一个链接 */
footer a:hover {
    text-decoration: underline;
}

/* 分隔符样式，让它不那么显眼 */
footer .separator {
    margin: 0 10px;
    opacity: 0.5;
}