.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(245, 247, 243, .94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(203, 215, 206, .82);
}
.navbar { min-height: var(--header-h); padding-block: 10px; }
.navbar-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--text) !important; font-weight: 760; letter-spacing: -.025em; }
.brand-mark {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  background: var(--primary-soft);
  border: 1px solid #c9e2d3;
  color: var(--primary);
  font-family: var(--font-mono);
  font-size: 15px;
  font-weight: 800;
}
.navbar-toggler { border-color: var(--border-strong); border-radius: 10px; box-shadow: none !important; }
.nav-link { color: var(--muted) !important; font-weight: 620; padding-inline: 12px !important; }
.nav-link:hover, .nav-link.active { color: var(--text) !important; }
.nav-link.active { font-weight: 730; }
.btn { min-height: 44px; transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.btn-game {
  border: 1px solid var(--primary);
  border-radius: 999px;
  padding: 10px 19px;
  font-weight: 760;
  background: var(--primary);
  color: #fff;
  box-shadow: none;
}
.btn-game:hover, .btn-game:focus { background: var(--primary-hover); border-color: var(--primary-hover); color: #fff; transform: translateY(-1px); }
.btn-outline-game {
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  color: var(--text);
  background: var(--surface);
  font-weight: 700;
}
.btn-outline-game:hover, .btn-outline-game:focus { background: var(--surface-3); border-color: #b9c8bd; color: var(--text); }
.card-glass {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid #d4e7db;
  color: var(--primary);
  background: var(--primary-soft);
  font-size: .85rem;
  font-weight: 680;
}
.feature-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 1.25rem;
}
.ad-slot[hidden] { display: none !important; }
.ad-slot:not([hidden]) {
  min-height: 90px;
  display: grid;
  place-items: center;
  text-align: center;
  color: var(--muted-2);
  border: 1px dashed var(--border-strong);
  border-radius: 14px;
  background: rgba(255,255,255,.45);
  font-size: .78rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.code-panel {
  background: var(--code-bg);
  border: 1px solid #334139;
  border-radius: 14px;
  padding: 16px;
  overflow: auto;
  color: var(--code-text);
  font-family: var(--font-mono);
}
.badge-soft { border-radius: 999px; padding: 5px 10px; background: var(--primary-soft); color: var(--primary); font-size: .78rem; font-weight: 720; }
.site-footer { border-top: 1px solid var(--border); background: #f0f4ef; padding: 38px 0; color: var(--muted); }
.footer-links a:hover { color: var(--text); }
.cookie-note { font-size: .9rem; color: var(--muted); }
.form-control, .form-select {
  border-color: var(--border-strong);
  background: var(--surface);
  color: var(--text);
  border-radius: 12px;
}
.form-control:focus, .form-select:focus { border-color: #8fbaa0; box-shadow: 0 0 0 .2rem rgba(47,125,91,.12); }
.bg-dark { background: var(--surface) !important; }
.text-light { color: var(--text) !important; }
.border-secondary { border-color: var(--border-strong) !important; }
