* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: #f5f5f5; color: #333; line-height: 1.6; }
.container { max-width: 900px; margin: 0 auto; padding: 20px; }
header { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; border-bottom: 2px solid #007bff; margin-bottom: 30px; }
header h1 { color: #007bff; font-size: 28px; }
nav a { margin-left: 20px; color: #007bff; text-decoration: none; }
nav a:hover { text-decoration: underline; }

.date-selector, .search-box { display: flex; gap: 10px; margin-bottom: 20px; align-items: center; }
input[type="date"], input[type="text"] { padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; }
input[type="date"] { min-width: 150px; }
input[type="text"] { flex: 1; max-width: 400px; }
button { padding: 10px 20px; background: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; }
button:hover { background: #0056b3; }

.md-content { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); margin-bottom: 30px; }
.md-content h1, .md-content h2, .md-content h3 { margin: 20px 0 10px; color: #333; }
.md-content p { margin: 10px 0; }
.md-content code { background: #f0f0f0; padding: 2px 6px; border-radius: 3px; }
.md-content pre { background: #f0f0f0; padding: 15px; border-radius: 4px; overflow-x: auto; margin: 15px 0; }
.md-content blockquote { border-left: 4px solid #007bff; padding-left: 15px; color: #666; margin: 15px 0; }

.recent-list, .results { background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.recent-list h3, .results h3 { margin-bottom: 15px; color: #333; }
.recent-list ul, .results ul { list-style: none; }
.recent-list li, .result-item { padding: 10px 0; border-bottom: 1px solid #eee; }
.recent-list li:last-child, .result-item:last-child { border-bottom: none; }
.recent-list a { color: #007bff; text-decoration: none; }
.recent-list a:hover { text-decoration: underline; }
.result-item a { font-weight: bold; color: #007bff; }
.matched-line { color: #e74c3c; font-weight: 500; margin: 5px 0; }
.excerpt { color: #666; font-size: 14px; margin: 5px 0 0; }

.loading, .error, .no-results { padding: 15px; border-radius: 4px; text-align: center; }
.loading { background: #e3f2fd; color: #1976d2; }
.error { background: #ffebee; color: #c62828; }
.no-results { color: #666; }
