.kc-page { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', system-ui, sans-serif; color: #111827; background: #FFFFFF; -webkit-font-smoothing: antialiased; }
.kc-page a { color: #2563EB; text-decoration: none; }
.kc-page a:hover { color: #7C3AED; }
.kc-page h1, .kc-page h2, .kc-page h3, .kc-page h4, .kc-page h5 { font-family: 'Poppins', sans-serif; letter-spacing: -0.02em; }
.kc-page ::selection { background: #7C3AED; color: #fff; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }

/* ===== Functional filter sidebar ===== */
.kc-filter-clear { font-size: 13px; font-weight: 600; color: #7C3AED; background: none; border: none; cursor: pointer; padding: 0; }
.kc-filter-clear:hover { color: #2563EB; }
.kc-filter-opt { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #374151; cursor: pointer; user-select: none; }
.kc-filter-opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.kc-filter-opt .kc-check { width: 18px; height: 18px; border-radius: 6px; border: 1.5px solid #CBD5E1; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .15s, border-color .15s; }
.kc-filter-opt .kc-check::after { content: ''; color: #fff; font-size: 12px; line-height: 1; }
.kc-filter-opt input:checked + .kc-check { background: #2563EB; border-color: #2563EB; }
.kc-filter-opt input:checked + .kc-check::after { content: '✓'; }
.kc-filter-opt input:focus-visible + .kc-check { outline: 2px solid #7C3AED; outline-offset: 2px; }
.kc-filter-opt:hover .kc-check { border-color: #2563EB; }
.kc-rank-card { transition: transform .25s, box-shadow .25s, opacity .2s; }
.kc-rank-card:hover { transform: translateY(-4px); box-shadow: 0 24px 44px -18px rgba(17, 24, 39, .18); }
.kc-no-results { display: none; background: #fff; border: 1px dashed #CBD5E1; border-radius: 20px; padding: 44px 24px; text-align: center; color: #6B7280; }
.kc-no-results strong { display: block; font-family: 'Poppins', sans-serif; font-size: 18px; color: #111827; margin-bottom: 6px; }

@media (max-width: 900px) {
  .kc-dsk-nav, .kc-dsk-search { display: none !important; }
  .kc-cat-layout { grid-template-columns: 1fr !important; }
  .kc-cat-aside { position: static !important; }
  .kc-foot-grid { grid-template-columns: 1fr 1fr !important; }
  .kc-page h1 { font-size: 36px !important; }
}
@media (max-width: 620px) {
  .kc-rank-row { grid-template-columns: 1fr !important; text-align: left; }
  .kc-foot-grid { grid-template-columns: 1fr !important; }
  .kc-page h1 { font-size: 30px !important; }
}
