/* One local font for Cyrillic and Latin. Original font and OFL license included. */
@font-face {
  font-family: "Golos Text";
  src: url("/golos-text.ttf") format("truetype");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}

:root {
  --font-ui: "Golos Text", Arial, sans-serif;
  --font-code: Consolas, "Liberation Mono", monospace;
  font-family: var(--font-ui);
  font-size: 16px;
  font-weight: 400;
  font-synthesis: none;
  font-kerning: normal;
  line-height: 1.6;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body, button, input, select, textarea { font-family: var(--font-ui); }
button, input, select, textarea { line-height: 1.5; }
b, strong { font-weight: 600; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-ui);
  font-style: normal;
  letter-spacing: normal;
  overflow-wrap: anywhere;
}
h1, h2 { font-weight: 700; }
h3, h4, h5, h6 { font-weight: 600; }
.hero h1, .page-head h1, .product-heading h1, .author-profile h1,
.section-head h2, .dev-banner h2 { letter-spacing: normal; }
h1, .hero h1 { font-size: 48px; line-height: 1.2; }
.page-head h1, .product-heading h1, .author-profile h1 { font-size: 36px; line-height: 1.25; }
.section-head h2 { font-size: 26px; line-height: 1.3; }
.content-panel h2, .dev-banner h2 { font-size: 24px; line-height: 1.35; }
.empty h2 { font-size: 24px; line-height: 1.35; }

.brand { font-size: 21px; font-weight: 700; line-height: 1.25; letter-spacing: normal; }
.brandmark, .product-logo { font-family: var(--font-ui); font-weight: 700; line-height: 1; }
.brand small { font-size: 10px; font-weight: 600; line-height: 1.3; letter-spacing: 1px; }
.nav, .account-link { font-size: 14px; line-height: 1.5; }
.counter { font-size: 12px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.btn { font-size: 14px; font-weight: 600; line-height: 1.4; min-height: 44px; }
.btn.small { font-size: 13px; min-height: 40px; }
.eyebrow { font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 1px; }
.lead, .hero .lead { font-size: 17px; line-height: 1.65; }
.page-head p { font-size: 16px; line-height: 1.65; }
.hero-note, .hero-note span { font-size: 13px; line-height: 1.5; }

.network { height: 400px; }
.network .node { font-size: 13px; line-height: 1.45; padding: 12px 14px; }
.network .node b { font-size: 14px; font-weight: 600; line-height: 1.35; }
.network .node.n1, .network .node.n2, .network .node.n3, .network .node.n4 { transform: none; }
.network .node.n1 { top: 22px; }
.network .node.n2 { top: 98px; }
.network .node.n3 { bottom: 84px; }
.network .node.n4 { bottom: 10px; }
.network .node:hover, .network .node:focus-visible { transform: translateY(-4px); }
.network .node:active { transform: translateY(-2px); }
.network-status { left: 50%; top: 0; transform: translateX(-50%); white-space: nowrap; font-family: var(--font-ui); font-size: 11px; line-height: 1.4; letter-spacing: 1px; }
.hub small { font-size: 10px; line-height: 1.4; letter-spacing: 1px; }

.card-top > div:not(.product-logo) { min-width: 0; }
.card-title { font-size: 18px; font-weight: 600; line-height: 1.35; letter-spacing: normal; }
.author, .product-heading .author { font-size: 13px; line-height: 1.5; }
.product-card p { font-size: 14px; line-height: 1.65; }
.tag { font-size: 12px; font-weight: 400; line-height: 1.4; }
.free, .detail-link { font-size: 14px; line-height: 1.45; }
.category-tile b { font-size: 15px; line-height: 1.4; }
.category-tile small { font-size: 13px; line-height: 1.45; }
.category-page .category-tile b { font-size: 20px; }
.category-page .category-tile small { font-size: 14px; line-height: 1.6; }
.section-head p, .text-link, .strip-item b { font-size: 14px; line-height: 1.6; }
.strip-item small { font-size: 13px; line-height: 1.5; }
.dev-banner p, .step p, .author-profile p { font-size: 15px; line-height: 1.65; }
.step:before { font-family: var(--font-ui); font-size: 20px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.step h3 { font-size: 18px; line-height: 1.4; }

.content-panel p, .content-panel li, .faq details p, .empty p { font-size: 16px; line-height: 1.7; }
.content-panel .subtle, .subtle, .field small { font-size: 13px !important; line-height: 1.6 !important; }
.notice { font-size: 14px; line-height: 1.65; }
.breadcrumbs { font-size: 13px; line-height: 1.6; }
.field, .check-row, .filter-option { font-size: 14px; line-height: 1.6; }
.field input, .field textarea, .field select, .searchbar input { font-size: 16px; line-height: 1.5; }
.select, .admin-search { font-size: 14px; line-height: 1.5; }
.filter-title { font-size: 14px; font-weight: 600; line-height: 1.5; }
.filter-group h3 { font-size: 12px; line-height: 1.5; letter-spacing: 1px; }
.result-meta, .page-button { font-size: 14px; line-height: 1.5; }
.tab { font-size: 14px; line-height: 1.5; }
.kv { font-size: 14px; line-height: 1.55; }
.kv b { font-weight: 500; }
.product-sidebar .free { font-size: 28px; line-height: 1.3; }
.download-box h2 { font-size: 17px; line-height: 1.4; }
.download-name, code, pre { font-family: var(--font-code); font-size: 12px; line-height: 1.65; }
.checksum { font-size: 13px; line-height: 1.6; }
.badge, .status-label { font-family: var(--font-ui); font-size: 12px; line-height: 1.5; }
.faq summary { font-size: 16px; font-weight: 600; line-height: 1.55; }

.queue-item h3, .admin-product summary { font-size: 18px; line-height: 1.4; }
.queue-item p, .review-report li, .license-table, .license-table td, .license-table th { font-size: 14px; line-height: 1.65; }
.chat-message b, .search-suggestions { font-size: 13px; line-height: 1.5; }
.chat-message p { font-size: 15px; line-height: 1.65; }
.chat-message small { font-size: 12px; line-height: 1.5; }
.stat-card b { font-size: 30px; font-weight: 600; line-height: 1.3; }
.stat-card span, .mini-chart > div { font-size: 13px; line-height: 1.5; }
.wallet-amount { font-size: 46px; font-weight: 600; line-height: 1.25; letter-spacing: normal; }
.stat-card b, .wallet-amount, .license-table td { font-variant-numeric: tabular-nums; }
.form-error, .form-result, #toast, .storage-warning { font-size: 14px; line-height: 1.6; }

.footer { font-size: 14px; line-height: 1.6; }
.footer .brand { font-size: 20px; }
.footer-links, .footer-links .text-link { font-size: 13px; line-height: 1.6; }
.footer-bottom { font-size: 12px; line-height: 1.6; }
.cookie-banner b { font-size: 16px; line-height: 1.5; }
.cookie-banner p, .cookie-banner .text-link { font-size: 14px; line-height: 1.6; }
.cookie-banner .btn { font-size: 14px; line-height: 1.4; }

@media (min-width: 1450px) {
  .hero h1 { font-size: 56px; }
}
@media (max-width: 1050px) {
  .hero h1 { font-size: 44px; }
  .brand { font-size: 19px; }
  .header-actions > .btn { font-size: 13px; }
  .network .node { padding: 10px 12px; }
}
@media (max-width: 780px) {
  .hero h1 { font-size: 40px; }
  .hero .lead { font-size: 16px; }
  .page-head h1, .product-heading h1, .author-profile h1 { font-size: 32px; }
  .section-head h2 { font-size: 24px; }
  .content-panel h2, .dev-banner h2 { font-size: 22px; }
}
@media (max-width: 480px) {
  .brand { font-size: 17px; }
  .account-link { font-size: 12px; }
  .hero h1 { font-size: 34px; }
  .hero-actions .btn, .inline-actions .btn { font-size: 14px; }
  .section-head h2 { font-size: 22px; }
  .section-head .text-link { font-size: 12px; white-space: normal; }
  .page-head h1, .product-heading h1, .author-profile h1 { font-size: 30px; }
  .category-tile b { font-size: 13px; }
  .category-tile small { font-size: 12px; }
  .tab { font-size: 13px; line-height: 1.5; }
  .network .node { padding: 10px 12px !important; }
  .footer-links { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .network .node:hover, .network .node:focus-visible, .network .node:active { transform: none; }
}
