/* Inter supplies Latin glyphs; Noto Sans JP supplies Japanese. Keep code faces. */
:root {
  --font-text:'Inter','Noto Sans JP','Hiragino Sans','Yu Gothic UI','Meiryo',sans-serif;
  --font-number:var(--font-text);
}

/* Use readable UI text for labels, not the monospace fallback used by source code. */
.nav-label, .sidebar-utility-label, .stats-band-label, .stat-label,
.project-mini-label, .filter-title, th, .gantt-tbl th, .badge, .type-tag,
.ps-title, .fl, .sum-card-title, .memo-paper-label, .resource-memo-pane-label,
.resource-memo-tool, .gtask-chip-member, .tm-color-title,
.summary-kicker, .summary-panel-kicker, .summary-section-kicker,
.recv-editor-kicker, .recv-editor-stat-label, .recv-editor-form-field label,
.recv-card-kicker, .recv-section-kicker, .recv-selected-summary-label,
.costs-card-label, .costs-card-note, .costs-kind, .costs-status,
.costs-inline-status, .costs-status-note {
  font-family:var(--font-ui);
}

/* Load real 400/500/700 weights; avoid over-heavy intermediate Japanese labels. */
.topbar-title, .nav-item.active, .proj-name, .project-open-button,
.summary-title, .summary-panel-title, .summary-section-title, .recv-card-title {
  font-weight:500;
}
/* Rebalance long Japanese names where supported instead of leaving a lone last glyph. */
.project-open-button { text-wrap:pretty; line-break:strict; }

/* Proportional Japanese spacing is opt-in for scan targets, never money or code. */
@media screen {
  .nav-label, .nav-item, .topbar-title, .panel-title, .project-open-button,
  .maintenance-name, .costs-project, .summary-title, .summary-panel-title,
  .summary-section-title, .recv-card-title, .costs-toolbar-title {
    font-kerning:normal;
    font-feature-settings:"palt" 1;
  }

  /* Three reading levels: scan targets, ordinary text, supporting context.
     Keep the approved charcoal; weight and quieter labels supply contrast. */
  :root { --text-support:#666c74; }
  .topbar-title, .panel-title, .summary-title, .recv-card-title,
  .recv-editor-title, .proj-name, .maintenance-name, .costs-project,
  .business-expense-item-name, .member-name, .member-proj-name {
    font-weight:700;
  }
  .project-open-button { font-weight:inherit; }
  .summary-panel-title, .summary-section-title, .ps-title, .sum-card-title {
    font-weight:500;
  }
  .tbl-wrap th { color:var(--muted); font-weight:500; }
  .fl, .cost-field-label, .recv-editor-form-field label {
    color:var(--muted); font-weight:500;
  }
  .nav-label, .stats-band-label, .stat-label, .project-mini-label, .filter-title,
  .summary-kicker, .summary-panel-kicker, .summary-section-kicker,
  .recv-editor-kicker, .recv-editor-stat-label, .recv-card-kicker,
  .recv-section-kicker, .costs-card-label, .costs-status-section-total-label,
  .resource-planning-metric-label, .resource-mini-stat-label {
    color:var(--text-support); font-weight:400; letter-spacing:.01em;
  }
  /* Explicit descriptions only: no suffix-wide rule that might mute warnings. */
  .proj-client, .stats-primary .stat-sub, .project-mini-sub, .disclosure-hint,
  .summary-sub, .summary-panel-sub, .summary-metric-sub, .summary-status-sub,
  .summary-month-sub, .summary-section-meta, .costs-card-sub,
  .costs-card-tax-sub, .costs-card-note, .costs-meta, .costs-project-sub,
  .costs-entry-meta, .business-expense-item-note, .business-expense-cycle-sub,
  .recv-editor-sub, .recv-editor-stat-sub, .recv-project-directory-sub,
  .resource-planning-sub, .resource-planning-metric-note,
  .resource-mini-stat-note, .resource-project-meta, .resource-project-note,
  .resource-capacity-member-meta, .resource-capacity-week-sub, .member-meta,
  .resource-memo-sub {
    color:var(--text-support); font-weight:400;
  }
}
