:root { --ion-color-primary: #07C160; --ion-color-primary-rgb: 7,193,96; --ion-color-primary-contrast: #ffffff; --ion-color-primary-contrast-rgb: 255,255,255; --ion-color-primary-shade: #06aa54; --ion-color-primary-tint: #20c770; --ion-color-secondary: #FFCC00; --ion-color-secondary-rgb: 255,204,0; --ion-color-secondary-contrast: #000000; --ion-color-secondary-contrast-rgb: 0,0,0; --ion-color-secondary-shade: #e0b400; --ion-color-secondary-tint: #ffd11a; --ion-color-tertiary: #5260ff; --ion-color-tertiary-rgb: 82,96,255; --ion-color-tertiary-contrast: #ffffff; --ion-color-tertiary-contrast-rgb: 255,255,255; --ion-color-tertiary-shade: #4854e0; --ion-color-tertiary-tint: #6370ff; --ion-color-success: #2dd36f; --ion-color-success-rgb: 45,211,111; --ion-color-success-contrast: #ffffff; --ion-color-success-contrast-rgb: 255,255,255; --ion-color-success-shade: #28ba62; --ion-color-success-tint: #42d77d; --ion-color-warning: #ffc409; --ion-color-warning-rgb: 255,196,9; --ion-color-warning-contrast: #000000; --ion-color-warning-contrast-rgb: 0,0,0; --ion-color-warning-shade: #e0ac08; --ion-color-warning-tint: #ffca22; --ion-color-danger: #eb445a; --ion-color-danger-rgb: 235,68,90; --ion-color-danger-contrast: #ffffff; --ion-color-danger-contrast-rgb: 255,255,255; --ion-color-danger-shade: #cf3c4f; --ion-color-danger-tint: #ed576b; --ion-color-dark: #222428; --ion-color-dark-rgb: 34,36,40; --ion-color-dark-contrast: #ffffff; --ion-color-dark-contrast-rgb: 255,255,255; --ion-color-dark-shade: #1e2023; --ion-color-dark-tint: #383a3e; --ion-color-medium: #92949c; --ion-color-medium-rgb: 146,148,156; --ion-color-medium-contrast: #ffffff; --ion-color-medium-contrast-rgb: 255,255,255; --ion-color-medium-shade: #808289; --ion-color-medium-tint: #9d9fa6; --ion-color-light: #f4f5f8; --ion-color-light-rgb: 244,245,248; --ion-color-light-contrast: #000000; --ion-color-light-contrast-rgb: 0,0,0; --ion-color-light-shade: #d7d8da; --ion-color-light-tint: #f5f6f9; --ion-background-color: #f8f9fa; --ion-toolbar-background: #ffffff; --ion-card-background: #ffffff; --ion-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } * { margin: 0; padding: 0; box-sizing: border-box; } ion-content { --background: #f8f9fa; --padding-top: 60px; --padding-bottom: 60px; } /* 顶部工具栏美化 */ .custom-toolbar { --background: white; --border-width: 0; --min-height: 60px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); } .avatar-container { display: flex; align-items: center; gap: 8px; } .avatar { width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--ion-color-primary); display: flex; align-items: center; justify-content: center; overflow: hidden; background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%); } .streak-badge { background: linear-gradient(135deg, #FFCC00 0%, #FF9500 100%); border-radius: 12px; padding: 3px 8px; display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 500; color: white; box-shadow: 0 2px 4px rgba(255, 153, 0, 0.3); } .message-badge { position: absolute; top: -5px; right: -5px; width: 18px; height: 18px; background: var(--ion-color-danger); border-radius: 50%; color: white; font-size: 10px; display: flex; align-items: center; justify-content: center; font-weight: bold; box-shadow: 0 2px 4px rgba(235, 68, 90, 0.3); } /* 搜索栏美化 */ .search-container { padding: 10px 16px; background: white; } ion-searchbar { --background: #f1f3f5; --border-radius: 12px; --box-shadow: none; --icon-color: var(--ion-color-medium); --placeholder-color: #868e96; --color: #343a40; padding: 0; } /* 选项卡美化 */ ion-segment { --background: white; padding: 8px 16px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } ion-segment-button { --color: var(--ion-color-medium); --color-checked: var(--ion-color-primary); --indicator-color: var(--ion-color-primary); --indicator-height: 3px; --border-radius: 0; --padding-start: 0; --padding-end: 0; min-width: 60px; font-size: 14px; font-weight: 500; text-transform: none; letter-spacing: 0; position: relative; overflow: visible; } /* 卡片美化 */ .card-grid { padding: 10px 16px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; } ion-card { border-radius: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); margin: 0; transition: transform 0.3s ease, box-shadow 0.3s ease; } ion-card:hover { transform: translateY(-5px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1); } .card-image { width: 100%; height: 150px; overflow: hidden; position: relative; } .card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } ion-card:hover .card-image img { transform: scale(1.05); } .card-content { padding: 12px; } .card-desc { font-size: 14px; color: #343a40; line-height: 1.4; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .card-footer { display: flex; justify-content: space-between; align-items: center; } .user-info { display: flex; align-items: center; gap: 6px; } .user-avatar { width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 100%); display: flex; align-items: center; justify-content: center; color: white; font-size: 10px; font-weight: bold; } .user-name { font-size: 12px; color: #495057; font-weight: 500; } .like-count { display: flex; align-items: center; gap: 4px; font-size: 12px; color: #e03131; font-weight: 500; } /* 动画效果 */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } ion-card { animation: fadeIn 0.5s ease forwards; } .card-1 { animation-delay: 0.1s; } .card-2 { animation-delay: 0.2s; } .card-3 { animation-delay: 0.3s; } .card-4 { animation-delay: 0.4s; } .card-5 { animation-delay: 0.5s; } .card-6 { animation-delay: 0.6s; } /* 响应式调整 */ @media (max-width: 350px) { .card-grid { grid-template-columns: 1fr; } ion-segment-button { min-width: 50px; font-size: 12px; } }