view hg-web/src/index.css @ 133:902e29c38d66

[Blog] Final copy for websocket one.
author June Park <parkjune1995@gmail.com>
date Fri, 09 Jan 2026 08:30:35 -0800
parents 2301aeb7503b
children 9f4429c49733
line wrap: on
line source

.header {
  border-bottom: 1px solid var(--border);
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}

.header h1 {
  margin-bottom: 0.5rem;
}

.header .description {
  color: var(--secondary);
  font-size: 0.95rem;
}

.clone-info {
  background: var(--code-bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 1rem;
  margin-bottom: 2rem;
}

.clone-info code {
  background: none;
  color: var(--fg);
  font-size: 0.95rem;
}

.breadcrumb {
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
}

.breadcrumb a {
  color: var(--link);
}

.breadcrumb a:hover {
  text-decoration: underline;
}

.breadcrumb span {
  color: var(--secondary);
  margin: 0 0.5rem;
}

.file-list {
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
}

.file-item {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
  transition: background-color 0.2s;
}

.file-item:last-child {
  border-bottom: none;
}

.file-item:hover {
  background: var(--hover);
}

.file-item .icon {
  margin-right: 0.75rem;
  font-size: 1.2rem;
  width: 20px;
  text-align: center;
}

.file-item .name {
  flex: 1;
  font-family: 'Monaco', 'Courier New', monospace;
  font-size: 0.9rem;
}

.file-item .name a {
  color: var(--fg);
}

.file-item .name a:hover {
  color: var(--link);
}

.file-item.directory .icon {
  color: var(--accent);
}

.file-item.file .icon {
  color: var(--secondary);
}

.readme-section {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border);
}

.readme-section h2 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.readme-content {
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 1.5rem;
  background: var(--code-bg);
}

.readme-content h1 { font-size: 1.75rem; margin-top: 1.5rem; }
.readme-content h2 { font-size: 1.5rem; margin-top: 1.25rem; }
.readme-content h3 { font-size: 1.25rem; margin-top: 1rem; }

.readme-content h1:first-child,
.readme-content h2:first-child,
.readme-content h3:first-child {
  margin-top: 0;
}

.readme-content ul,
.readme-content ol {
  margin-left: 2rem;
  margin-bottom: 1rem;
}

.readme-content li {
  margin-bottom: 0.5rem;
}

.readme-content img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}

.empty-state {
  text-align: center;
  padding: 3rem 1rem;
  color: var(--secondary);
}

.error-message {
  background: var(--danger);
  color: white;
  padding: 1rem;
  border-radius: 6px;
  margin-bottom: 1rem;
}

/* Mobile responsive */
@media (max-width: 768px) {
  main {
    padding: 1rem;
  }

  .file-item {
    padding: 0.5rem 0.75rem;
  }

  .file-item .name {
    font-size: 0.85rem;
  }

  .clone-info {
    padding: 0.75rem;
    overflow-x: auto;
  }

  .readme-content {
    padding: 1rem;
  }
}