:root { color-scheme: light; }

/* Smooth scroll for anchor jumps */
html { scroll-behavior: smooth; }

/* Card hover lift */
.lift {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lift:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px -12px rgba(245, 99, 33, 0.35);
}

/* Fancy scroll for long lists */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #ffcdb0; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #ff8345; }
::-webkit-scrollbar-track { background: transparent; }

/* Progress ring helper */
.ring-bg { stroke: #ffe9dc; }
.ring-fg { stroke: #f56321; transition: stroke-dashoffset .6s ease; }

/* Subtle bounce on first paint */
@keyframes pop {
  0% { opacity: 0; transform: translateY(8px) scale(.98); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
.pop { animation: pop .35s ease-out both; }
.pop-1 { animation-delay: .04s; }
.pop-2 { animation-delay: .08s; }
.pop-3 { animation-delay: .12s; }
.pop-4 { animation-delay: .16s; }

/* Brand badge color hash (consistent per brand string) */
.brand-chip { background: linear-gradient(135deg, #ffe9dc, #fff); }

/* Section accent line */
.accent::before {
  content: "";
  display: inline-block;
  width: 6px; height: 22px;
  background: linear-gradient(180deg, #ff8345, #dc4a0f);
  border-radius: 4px;
  margin-right: 10px;
  vertical-align: -5px;
}

/* Reading progress bar */
#readbar {
  position: fixed; top: 0; left: 0; height: 3px;
  background: linear-gradient(90deg, #ff8345, #dc4a0f);
  width: 0%; z-index: 50;
  transition: width .1s linear;
}
