/* 主题变量 */
:root {
    /* 字体设置 */
    --font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Rounded", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-size-base: 16px;
    --font-size-small: 0.875rem;
    --font-size-large: 1.125rem;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 600;
    --font-weight-light: 300;
    
    /* 浅色主题 */
    --primary-color: #FF6B6B; /* 柔和的红色 */
    --primary-hover: #FF5252;
    --secondary-color: #4ECDC4; /* 清新的青色 */
    --secondary-hover: #45B7AF;
    --background-color: #F8F9FA;
    --card-background: #FFFFFF;
    --text-color: #2D3436;
    --text-secondary: #636E72;
    --border-color: rgba(0, 0, 0, 0.08);
    --timer-elapsed-color: #E9ECEF;
    --btn-bg: #F1F3F5;
    --btn-hover-bg: #E9ECEF;
    --btn-active-bg: #DEE2E6;
    --btn-text: #2D3436;
    --notification-bg: rgba(255, 255, 255, 0.98);
    --notification-text: #2D3436;
    --input-bg: #FFFFFF;
    --input-border: #E9ECEF;
    --schedule-info-bg: rgba(248, 249, 250, 0.95);
    
    /* 阴影效果 */
    --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    --box-shadow-hover: 0 6px 12px rgba(0, 0, 0, 0.08);
}

/* 深色主题 */
body[data-theme="dark"] {
    --primary-color: #FF6B6B;
    --primary-hover: #FF5252;
    --secondary-color: #4ECDC4;
    --secondary-hover: #45B7AF;
    --background-color: #1A1B1E;
    --card-background: #2C2D30;
    --text-color: #F8F9FA;
    --text-secondary: #ADB5BD;
    --border-color: rgba(255, 255, 255, 0.08);
    --timer-elapsed-color: #343A40;
    --btn-bg: #343A40;
    --btn-hover-bg: #495057;
    --btn-active-bg: #545B62;
    --btn-text: #F8F9FA;
    --notification-bg: rgba(44, 45, 48, 0.98);
    --notification-text: #F8F9FA;
    --input-bg: #343A40;
    --input-border: #495057;
    --schedule-info-bg: rgba(44, 45, 48, 0.95);
    
    /* 深色主题阴影 */
    --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    --box-shadow-hover: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* 全局字体设置 */
body {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    background-color: var(--background-color);
    color: var(--text-color);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 标题字体 */
h1, h2, h3, h4, h5, h6 {
    font-weight: var(--font-weight-medium);
    letter-spacing: -0.02em;
}

/* 按钮和控件样式 */
.theme-toggle, .minimize-toggle {
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--btn-bg);
    border-radius: 50%;
    transition: all 0.3s ease;
    box-shadow: var(--box-shadow);
}

.theme-toggle:hover, .minimize-toggle:hover {
    background-color: var(--btn-hover-bg);
    transform: translateY(-2px);
    box-shadow: var(--box-shadow-hover);
}

.theme-toggle:active, .minimize-toggle:active {
    transform: translateY(0);
}

.theme-toggle svg, .minimize-toggle svg {
    width: 22px;
    height: 22px;
    stroke: var(--text-color);
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: all 0.3s ease;
}

.minimize-toggle svg {
    fill: var(--text-color);
    stroke: none;
    transition: transform 0.3s ease;
}

/* 主题图标切换 */
.theme-toggle .moon-icon {
    display: none;
}

body[data-theme="dark"] .theme-toggle .sun-icon {
    display: none;
}

body[data-theme="dark"] .theme-toggle .moon-icon {
    display: block;
}

/* 最小化模式激活状态 */
.minimize-toggle.active {
    background-color: var(--btn-bg);
}

.minimize-toggle.active svg {
    transform: rotate(180deg);
}

/* 输入框样式 */
input[type="number"],
input[type="time"],
input[type="range"] {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
}

/* 按钮文字样式 */
.btn {
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.01em;
}

/* 标签文字样式 */
label {
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-small);
}

/* 通知文字样式 */
.notification {
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.01em;
}

/* 响应式字体大小 */
@media (max-width: 480px) {
    :root {
        --font-size-base: 15px;
        --font-size-small: 0.8125rem;
        --font-size-large: 1rem;
    }
}

/* 为数字添加更现代的字体选项 */
@font-face {
    font-family: 'SF Numeric';
    src: local('SF Pro Rounded'), local('SF Pro Display'), local('SF Pro Text');
    font-weight: 300 700;
}

.timer-display {
    font-family: 'SF Numeric', var(--font-family);
    font-weight: var(--font-weight-bold);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    letter-spacing: 0.02em;
} 