/* theme.css — Tokens & Animations v1.2 */
.text-green{color:var(--green)}.text-red{color:var(--red)}.text-yellow{color:var(--yellow)}
.text-blue{color:var(--blue)}.text-purple{color:var(--purple)}.text-orange{color:var(--orange)}
.bg-green{background:rgba(34,197,94,.1)}.bg-red{background:rgba(239,68,68,.1)}
.bg-yellow{background:rgba(234,179,8,.1)}.bg-blue{background:rgba(59,130,246,.1)}
.border-green{border-color:rgba(34,197,94,.3)}.border-red{border-color:rgba(239,68,68,.3)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes barGrow{from{width:0}to{width:var(--w)}}
.animate-pulse{animation:pulse 2s ease-in-out infinite}
.animate-spin{animation:spin 1s linear infinite}
.animate-fade{animation:fadeIn .25s ease forwards}
.bar-blue{background:var(--blue)}.bar-green{background:var(--green)}
.bar-red{background:var(--red)}.bar-yellow{background:var(--yellow)}
.bar-purple{background:var(--purple)}
.gradient-blue{background:linear-gradient(135deg,#1e3a8a,#3b82f6)}
.gradient-green{background:linear-gradient(135deg,#14532d,#22c55e)}
.surface-glow{box-shadow:0 0 0 1px rgba(59,130,246,.2),0 4px 12px rgba(0,0,0,.4)}
.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.panel-title{font-size:.9375rem;font-weight:600}