/* メインページ・一般ページ用CSS */
@import 'common.css';

/* === Tables (internet-is-fun inspired) === */
table {
  width: 100%;
  margin: 3em 0;
  border-collapse: collapse;
  font-family: var(--font-structure);
}

th, td {
  vertical-align: top;
  border-top: 1.0px  var(--common-border) var(--border-color);
  padding: 0.8em 0.5em;
  text-align: left;
  vertical-align: middle;
}

th {
  font-family: var(--font-structure);
  font-size: calc(1rem * var(--structure-scale));
  font-weight: 500;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

td {
  font-size: 1.1rem;
}

hr {
  border: none;
  border-top: 1px  var(--common-border) var(--border-color);
}


/* Article table specific */
.articles-table .title-col { width: 45%; }
.articles-table .date-col { width: 20%; }
.articles-table .desc-col { width: 35%; }

.title-cell a {
  font-family: var(--font-content);
  color: var(--text-ink);
  font-weight: 400;
  text-decoration: none;
}

.title-cell a:hover {
  text-decoration: underline;
  text-decoration-color: var(--primary-color);
}

.date-cell {
  font-family: var(--font-structure);
  color: var(--text-muted);
  font-size: calc(0.9rem * var(--structure-scale));
}

.desc-cell {
  font-family: var(--font-structure);
  color: var(--text-light);
  font-size: calc(0.95rem * var(--structure-scale));
}

/* === Mobile === */
.articles-mobile-cards {
  display: none;
}

@media (max-width: 768px) {
  /* Mobile table -> cards */
  .articles-table {
    display: none;
  }
  
  .articles-mobile-cards {
    display: block;
  }
  
  .mobile-article-card {
    border-top: 0.5px  var(--common-border) var(--border-color);
    padding: 1rem 0;
    margin-bottom: 1rem;
  }
  
  .mobile-card-title {
    font-family: var(--font-content);
    font-size: 1.1rem;
    font-weight: 400;
    margin-bottom: 0.5rem;
    line-height: 1.3;
  }
  
  .mobile-card-title a {
    color: var(--text-ink);
    text-decoration: none;
  }
  
  .mobile-card-title a:hover {
    text-decoration: underline;
    text-decoration-color: var(--primary-color);
  }
  
  .mobile-card-meta {
    font-family: var(--font-structure);
    font-size: calc(0.9rem * var(--structure-scale));
    color: var(--text-muted);
    margin-bottom: 0.5rem;
  }
  
  .mobile-card-description {
    font-family: var(--font-structure);
    font-size: calc(0.95rem * var(--structure-scale));
    color: var(--text-light);
    line-height: 1.4;
    margin-bottom: 0;
  }
}

/* === Status page specific === */
.status-dashboard {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin: 2rem 0;
}

.status-card {
  background: var(--bg-light);
  border-radius: 8px;
  padding: 2rem;
  border: 1px  var(--common-border) var(--border-soft);
}

.status-card h3 {
  font-family: var(--font-structure);
  font-size: calc(1.1rem * var(--structure-scale));
  color: var(--text-light);
  margin-bottom: 1rem;
  margin-top: 0;
}

.status-display {
  font-family: var(--font-content);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}

.status-time {
  font-family: var(--font-structure);
  color: var(--text-muted);
  font-size: calc(0.8rem * var(--structure-scale));
}