@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap");

:root {
  --site-text-primary: #222222;
  --site-text-secondary: #6b6b6b;
  --site-article-text: #3d3d3d;
  --site-font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Yu Gothic UI", Meiryo, sans-serif;
  --site-font-display: "IBM Plex Mono", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  --ink: #222222;
  --muted: #6b6b6b;
  --article-text: #3d3d3d;
  --catalog-ink: #222222;
  --catalog-muted: #6b6b6b;
}

/*
 * Shared typography contract for あちこちゆらゆら.
 * Readable Noto Sans JP base with a stronger IBM Plex Mono display accent.
 */
body,
body.catalog-page-body {
  color: var(--site-text-primary);
  font-family: var(--site-font-sans);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button,
input,
textarea,
select,
option {
  font-family: inherit;
}

body h1 {
  font-family: var(--site-font-display);
  font-weight: 700 !important;
}

body h2,
body h3,
body h4,
body h5,
body h6 {
  font-weight: 700 !important;
}

body strong,
body b {
  font-weight: 700;
}

body .brand,
body .brand-mark,
body.catalog-page-body .brand,
body.catalog-page-body .brand-mark {
  font-weight: 700 !important;
}

body .nav,
body.catalog-page-body .sidebar-item {
  font-weight: 500 !important;
}

body.catalog-page-body .sidebar-item.is-active {
  color: var(--site-text-primary);
  font-weight: 700 !important;
}

body .auth-status {
  color: var(--site-text-primary);
  font-weight: 500;
}

body .auth-inline-label {
  color: var(--site-text-secondary);
  font-weight: 500 !important;
}

body .auth-inline-button,
body .auth-status-button,
body .auth-primary-button,
body .account-add-passkey-button,
body .account-delete-button,
body [data-account-save-news-preferences],
body [data-account-save-thread-preferences],
body .button,
body .tag,
body .text-link,
body .eyebrow {
  font-weight: 700 !important;
}

body .auth-field span,
body .account-settings-panel label,
body .account-device-link-panel label {
  font-weight: 600;
}

body .search-box input {
  color: var(--site-text-primary);
  font-weight: 500;
}

body.catalog-page-body .search-box input {
  font-size: 15px;
}

body dt {
  color: var(--site-text-secondary);
  font-weight: 500;
}

body dd {
  color: var(--site-text-primary);
  font-weight: 700;
}

body .anime-period-chip,
body .current-season-badge,
body .anime-card-title,
body .manga-card-title,
body .catalog-home-card__title,
body .news-card-title,
body .related-card h3 {
  color: var(--site-text-primary);
  font-weight: 700 !important;
}

body .anime-catalog-empty,
body .back-link,
body .catalog-home-card__meta,
body .news-card-meta {
  color: var(--site-text-secondary);
}

body .back-link {
  font-weight: 500;
}

body .work-intro h1 {
  color: var(--site-text-primary);
  font-family: var(--site-font-display);
  font-weight: 700 !important;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

body .work-catch,
body .judgement-lead,
body .judgement-grid ul,
body .research-card > p:last-child,
body .detail-section > p,
body .article-section > p,
body .article-body,
body .article-content {
  color: var(--site-article-text);
  font-weight: 500;
  line-height: 2;
}

body .hero-facts-title,
body .judgement-title,
body .detail-section h2,
body .judgement-grid h2,
body .research-card h2,
body .related-heading {
  color: var(--site-text-primary);
  font-weight: 700 !important;
}

body .judgement-title,
body .detail-section h2 {
  line-height: 1.55;
}

body .hero-facts-grid dt {
  color: var(--site-text-secondary);
  font-weight: 500;
}

body .hero-facts-grid dd {
  color: var(--site-text-primary);
  font-weight: 700;
}

body .poster-official-hint {
  font-weight: 700;
}
