/*
 * Samodzielny CORE produkcyjnego HUB-u.
 * Wartości odwzorowują kanoniczny kontrakt ALL/PLATFORM, ale ten plik nie
 * importuje ani nie ładuje zasobów PLATFORM w przeglądarce.
 */

:root {
  /* Kanoniczne tokeny MJKM — motyw jasny, kopia samodzielna dla paczki HUB-u. */
  --hub-bg: #f7f9fc;
  --hub-panel: #ffffff;
  --hub-panel-soft: #eef2f9;
  --hub-text: #172041;
  --hub-heading: #0a1934;
  --hub-text-secondary: #2c3957;
  --hub-muted: #475578;
  --hub-line: #d3dcec;
  --hub-line-strong: #b8c4dc;
  --hub-line-soft: #e3eaf4;
  --hub-brand: #2a4f95;
  --hub-brand-strong: #0a1934;
  --hub-brand-ink: #ffffff;
  --hub-link: #0a49ac;
  --hub-link-hover: #01758f;
  --hub-filter-inactive-bg: #e8edf5;
  --hub-success: #04743f;

  /* Semantyczne role typograficzne odwzorowane z CORE kalkulatorów. */
  --hub-font-body: Arial, Helvetica, sans-serif;
  --hub-font-heading: Arial, Helvetica, sans-serif;
  --hub-font-math: "Cambria Math", "STIX Two Math", "Times New Roman", serif;
  --hub-body-size: 14px;
  --hub-body-line-height: 1.65;
  --hub-section-heading-size: 19.6px;
  --hub-section-heading-weight: 700;
  --hub-section-heading-line-height: 1.2;
  --hub-base-size: var(--hub-body-size);

  /* Lekkie role kart katalogu — samodzielna kopia kontraktu CORE PLATFORM. */
  --hub-card-reference-font: var(--hub-font-body);
  --hub-card-reference-size: 12px;
  --hub-card-reference-weight: 600;
  --hub-card-reference-line-height: 1;
  --hub-card-reference-letter-spacing: .04em;
  --hub-card-reference-color: var(--hub-muted);
  --hub-card-symbol-font: var(--hub-font-body);
  --hub-card-symbol-size: clamp(34px, 2.8vw, 46px);
  --hub-card-symbol-weight: 700;
  --hub-card-symbol-line-height: .95;
  --hub-card-symbol-letter-spacing: -.06em;
  --hub-card-symbol-color: var(--hub-heading);
  --hub-card-name-font: var(--hub-font-body);
  --hub-card-name-size: 14px;
  --hub-card-name-weight: 600;
  --hub-card-name-line-height: 1.28;
  --hub-card-name-color: var(--hub-text-secondary);
  --hub-family-card-steel-bg: #274570;
  --hub-family-card-rc-bg: #3F454D;
  --hub-family-card-mas-bg: #6B6259;
  --hub-family-card-geo-bg: #504129;
  --hub-family-card-foreground: #F0F2F8;
  --hub-favorite-family-font: var(--hub-font-body);
  --hub-favorite-family-size: 12px;
  --hub-favorite-family-weight: 600;
  --hub-favorite-symbol-font: var(--hub-font-math);
  --hub-favorite-symbol-size: clamp(23px, 1.55vw, 28px);
  --hub-favorite-symbol-weight: 400;

  /* Role pomocnicze: bez zmiany kanonicznych barw ani wyglądu lokalnego podglądu. */
  --hub-account-dark-bg: #172041;
  --hub-account-dark-text: #e3eaf4;
  --hub-account-dark-hover-line: #6e9df0;
  --hub-account-dark-hover-bg: #212e52;
  --hub-account-dark-hover-text: #ffffff;
  --hub-access-free-bg: #eef2f9;
  --hub-access-free-text: #475578;
  --hub-access-pro-bg: #ea8632;
  --hub-access-pro-text: #ffffff;
  --hub-access-pro-hover: #ce7127;
  --hub-local-tool-text: #f4f7fb;
  --hub-local-tool-error: #ffb4b4;
  --hub-local-tool-muted: #a9b7cc;
  --hub-local-tool-line: #334667;
  --hub-local-tool-bg: #172240;
  --hub-local-tool-focus: #8bb8ff;
  --hub-local-tool-focus-ink: #061638;
  --hub-shadow: 0 7px 18px rgba(10, 25, 52, .07);
}

html[data-theme="dark"] {
  /* Kanoniczne tokeny MJKM — motyw ciemny, kopia samodzielna dla paczki HUB-u. */
  --hub-bg: #0f172e;
  --hub-panel: #172240;
  --hub-panel-soft: #212e52;
  --hub-text: #f0f2f8;
  --hub-heading: #f0f2f8;
  --hub-text-secondary: #d6dbe8;
  --hub-muted: #abb5d0;
  --hub-line: #2e3d65;
  --hub-line-strong: #3f5180;
  --hub-line-soft: #2e3d65;
  --hub-brand: #7896cd;
  --hub-brand-strong: #a9bee2;
  --hub-brand-ink: #0a1934;
  --hub-link: #a3c5fe;
  --hub-link-hover: #b3ecff;
  --hub-filter-inactive-bg: #1a2743;
  --hub-success: #84f0ab;
  --hub-access-free-bg: #212e52;
  --hub-access-free-text: #a9bee2;
  --hub-shadow: 0 14px 28px rgba(6, 15, 35, .45);
  color-scheme: dark;
}

* { box-sizing: border-box; }

html {
  /* Długa zakładka Katalog nie może przesuwać osi HUB-u względem krótkich paneli. */
  scrollbar-gutter: stable;
  background: var(--hub-bg);
}

body {
  min-width: 320px;
  margin: 0;
  background: var(--hub-bg);
  color: var(--hub-text-secondary);
  font: var(--hub-body-size)/var(--hub-body-line-height) var(--hub-font-body);
}

button,
input { font: inherit; }

a { color: inherit; }

/*
 * Wspólne role treści trzech zakładek. Typografia kart, filtrów, symboli,
 * liczników i kontrolek pozostaje komponentowa w styles.css.
 */
.hub-personal-head h2,
.hub-finder-title,
.hub-family h2,
.hub-information h2,
.hub-information-scope h2,
.hub-contact h2 {
  color: var(--hub-heading);
  font-family: var(--hub-font-heading);
  font-size: var(--hub-section-heading-size);
  font-weight: var(--hub-section-heading-weight);
  line-height: var(--hub-section-heading-line-height);
}

.hub-personal-empty,
.hub-family p,
.hub-family-meta,
.hub-information p,
.hub-contact-copy {
  color: var(--hub-text-secondary);
  font-family: var(--hub-font-body);
  font-size: var(--hub-body-size);
  line-height: var(--hub-body-line-height);
}
