body { font-family: 'Inter', sans-serif; }
.fade-in { animation: fadeIn .35s ease-in-out; }
@keyframes fadeIn { from { opacity:0; transform:translateY(8px) } to { opacity:1; transform:translateY(0) } }
.progress-bar-inner { transition: width .25s ease-in-out; }
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.option-btn:active { transform: scale(.98); }
.option-btn.selected { border-color: rgb(79 70 229 / .7); background: rgb(238 242 255); box-shadow: 0 0 0 2px rgb(199 210 254); }
.dark .option-btn.selected { background: #312e81; border-color: #4f46e5; }
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.panel { background:#fff; border-radius: .75rem; box-shadow: 0 10px 24px rgba(2,6,23,.06); padding: 1.5rem; }
@media (min-width:768px){ .panel{ padding:2rem; } }
.dark .panel { background:#0f172a; box-shadow: 0 10px 24px rgba(0,0,0,.3); }

/* Badges */
.badge { display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .6rem; border-radius:9999px; font-size:.75rem; font-weight:600; }
.badge-green { background:#dcfce7; color:#166534; }
.badge-blue  { background:#dbeafe; color:#1e40af; }
.badge-violet{ background:#ede9fe; color:#5b21b6; }
.dark .badge-green { background:#166534; color:#dcfce7; }
.dark .badge-blue  { background:#1e40af; color:#dbeafe; }
.dark .badge-violet{ background:#5b21b6; color:#ede9fe; }



