| | +* { |
| | + margin: 0; |
| | + padding: 0; |
| | + box-sizing: border-box; |
| | +} |
| | + |
| | +body { |
| | + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; |
| | + line-height: 1.6; |
| | +} |
| | + |
| | +.header { |
| | + padding: 1rem 2rem; |
| | + box-shadow: 0 2px 4px rgba(0,0,0,0.1); |
| | + display: flex; |
| | + justify-content: space-between; |
| | + align-items: center; |
| | +} |
| | + |
| | +.header h1 { |
| | + font-size: 1.5rem; |
| | + font-weight: 600; |
| | + margin: 0; |
| | +} |
| | + |
| | +.header a { |
| | + text-decoration: none; |
| | +} |
| | + |
| | +.header a:hover { |
| | + text-decoration: underline; |
| | +} |
| | + |
| | +.theme-switcher { |
| | + display: flex; |
| | + align-items: center; |
| | +} |
| | + |
| | +.theme-toggle { |
| | + padding: 0.5rem 1rem; |
| | + border-radius: 6px; |
| | + text-decoration: none; |
| | + font-size: 0.9rem; |
| | + font-weight: 500; |
| | + transition: all 0.15s; |
| | + display: inline-flex; |
| | + align-items: center; |
| | + gap: 0.5rem; |
| | +} |
| | + |
| | +.theme-toggle:hover { |
| | + text-decoration: none; |
| | +} |
| | + |
| | +.container { |
| | + max-width: 1200px; |
| | + margin: 2rem auto; |
| | + padding: 0 2rem; |
| | +} |
| | + |
| | +.breadcrumb { |
| | + margin-bottom: 1.5rem; |
| | + font-size: 0.95rem; |
| | +} |
| | + |
| | +.breadcrumb a { |
| | + text-decoration: none; |
| | +} |
| | + |
| | +.breadcrumb a:hover { |
| | + text-decoration: underline; |
| | +} |
| | + |
| | +.breadcrumb span { |
| | + margin: 0 0.5rem; |
| | +} |
| | + |
| | +.card { |
| | + border-radius: 6px; |
| | + margin-bottom: 1rem; |
| | + overflow: hidden; |
| | +} |
| | + |
| | +.card-header { |
| | + padding: 1rem 1.5rem; |
| | + font-weight: 600; |
| | +} |
| | + |
| | +.card-body { |
| | + padding: 1.5rem; |
| | +} |
| | + |
| | +.repo-list { |
| | + list-style: none; |
| | + display: grid; |
| | + grid-template-columns: repeat(3, 1fr); |
| | + gap: 1.5rem; |
| | + padding: 0; |
| | +} |
| | + |
| | +@media (max-width: 1024px) { |
| | + .repo-list { |
| | + grid-template-columns: repeat(2, 1fr); |
| | + } |
| | +} |
| | + |
| | +@media (max-width: 640px) { |
| | + .repo-list { |
| | + grid-template-columns: 1fr; |
| | + } |
| | +} |
| | + |
| | +.repo-item { |
| | + padding: 1.5rem; |
| | + border-radius: 6px; |
| | + transition: all 0.2s; |
| | + display: flex; |
| | + flex-direction: column; |
| | +} |
| | + |
| | +.repo-item:hover { |
| | + transform: translateY(-2px); |
| | + box-shadow: 0 4px 12px rgba(0,0,0,0.1); |
| | +} |
| | + |
| | +.repo-name { |
| | + font-size: 1.15rem; |
| | + font-weight: 600; |
| | + margin-bottom: 0.75rem; |
| | +} |
| | + |
| | +.repo-name a { |
| | + text-decoration: none; |
| | +} |
| | + |
| | +.repo-desc { |
| | + font-size: 0.9rem; |
| | + margin-bottom: 1rem; |
| | + flex: 1; |
| | + line-height: 1.5; |
| | +} |
| | + |
| | +.repo-meta { |
| | + font-size: 0.85rem; |
| | + display: flex; |
| | + gap: 0.5rem; |
| | + flex-wrap: wrap; |
| | + align-items: center; |
| | + margin-top: auto; |
| | + padding-top: 0.5rem; |
| | +} |
| | + |
| | +.repo-meta span { |
| | + display: flex; |
| | + align-items: center; |
| | + gap: 0.25rem; |
| | +} |
| | + |
| | +.nav-tabs { |
| | + display: flex; |
| | + gap: 0.5rem; |
| | + margin-bottom: 1.5rem; |
| | + padding: 0 1.5rem; |
| | + border-radius: 6px 6px 0 0; |
| | +} |
| | + |
| | +.nav-tab { |
| | + padding: 1rem 1.25rem; |
| | + text-decoration: none; |
| | + border-bottom: 2px solid transparent; |
| | + transition: all 0.15s; |
| | + font-weight: 500; |
| | +} |
| | + |
| | +.commit-list { |
| | + list-style: none; |
| | +} |
| | + |
| | +.commit-item { |
| | + padding: 1rem 1.5rem; |
| | + display: flex; |
| | + gap: 1rem; |
| | + transition: background 0.15s; |
| | +} |
| | + |
| | +.commit-item:last-child { |
| | + border-bottom: none; |
| | +} |
| | + |
| | +.commit-message { |
| | + flex: 1; |
| | +} |
| | + |
| | +.commit-message a { |
| | + text-decoration: none; |
| | + font-weight: 500; |
| | +} |
| | + |
| | +.commit-message a:hover { |
| | + text-decoration: underline; |
| | +} |
| | + |
| | +.commit-meta { |
| | + font-size: 0.85rem; |
| | + margin-top: 0.25rem; |
| | +} |
| | + |
| | +.commit-hash { |
| | + font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; |
| | + font-size: 0.85rem; |
| | + white-space: nowrap; |
| | +} |
| | + |
| | +.commit-hash a { |
| | + text-decoration: none; |
| | +} |
| | + |
| | +.file-tree { |
| | + list-style: none; |
| | +} |
| | + |
| | +.file-item { |
| | + padding: 0.75rem 1.5rem; |
| | + display: flex; |
| | + align-items: center; |
| | + gap: 0.75rem; |
| | + transition: background 0.15s; |
| | +} |
| | + |
| | +.file-item:last-child { |
| | + border-bottom: none; |
| | +} |
| | + |
| | +.file-icon { |
| | + width: 16px; |
| | + height: 16px; |
| | + flex-shrink: 0; |
| | +} |
| | + |
| | +.file-name { |
| | + flex: 1; |
| | +} |
| | + |
| | +.file-name a { |
| | + text-decoration: none; |
| | +} |
| | + |
| | +.file-name a:hover { |
| | + text-decoration: underline; |
| | +} |
| | + |
| | +.file-meta { |
| | + display: flex; |
| | + gap: 1.5rem; |
| | + font-size: 0.85rem; |
| | +} |
| | + |
| | +.file-size { |
| | + min-width: 80px; |
| | + text-align: right; |
| | +} |
| | + |
| | +.file-date { |
| | + min-width: 130px; |
| | + text-align: right; |
| | +} |
| | + |
| | +.code-block { |
| | + border-radius: 6px; |
| | + overflow-x: auto; |
| | + font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; |
| | + font-size: 0.85rem; |
| | +} |
| | + |
| | +.code-block pre { |
| | + padding: 1rem; |
| | + margin: 0; |
| | + overflow-x: auto; |
| | +} |
| | + |
| | +.diff { |
| | + font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; |
| | + font-size: 0.85rem; |
| | +} |
| | + |
| | +.diff-line { |
| | + padding: 0.1rem 1rem; |
| | + white-space: pre; |
| | +} |
| | + |
| | +.diff-header { |
| | + font-weight: 600; |
| | +} |
| | + |
| | +.commit-detail { |
| | + padding: 1.5rem; |
| | +} |
| | + |
| | +.commit-title { |
| | + font-size: 1.25rem; |
| | + font-weight: 600; |
| | + margin-bottom: 1rem; |
| | +} |
| | + |
| | +.commit-info { |
| | + padding: 1rem; |
| | + border-radius: 6px; |
| | + margin-bottom: 1.5rem; |
| | + font-size: 0.9rem; |
| | +} |
| | + |
| | +.commit-info-row { |
| | + display: flex; |
| | + gap: 1rem; |
| | + margin-bottom: 0.5rem; |
| | +} |
| | + |
| | +.commit-info-row:last-child { |
| | + margin-bottom: 0; |
| | +} |
| | + |
| | +.commit-info-label { |
| | + font-weight: 600; |
| | + min-width: 80px; |
| | +} |
| | + |
| | +.empty-state { |
| | + text-align: center; |
| | + padding: 3rem; |
| | +} |
| | + |
| | +.empty-state-icon { |
| | + font-size: 3rem; |
| | + margin-bottom: 1rem; |
| | + opacity: 0.5; |
| | +} |
| | + |
| | +.file-actions { |
| | + display: flex; |
| | + gap: 0.5rem; |
| | + margin-bottom: 1rem; |
| | + padding: 0 1.5rem; |
| | + padding-top: 1rem; |
| | +} |
| | + |
| | +.btn { |
| | + padding: 0.5rem 1rem; |
| | + border-radius: 6px; |
| | + text-decoration: none; |
| | + font-size: 0.9rem; |
| | + font-weight: 500; |
| | + transition: all 0.15s; |
| | + display: inline-flex; |
| | + align-items: center; |
| | + gap: 0.5rem; |
| | +} |
| | + |
| | +.image-preview { |
| | + padding: 1.5rem; |
| | + text-align: center; |
| | +} |
| | + |
| | +.image-preview img { |
| | + max-width: 100%; |
| | + height: auto; |
| | + border-radius: 6px; |
| | +} |
| | + |
| | |