/* ChatBase — 🎯 Community Goal / Spirit Meter (spirit.js) */
#spiritBanner {
    position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%); z-index: 99983;
    width: min(440px, calc(100vw - 24px));
    background: linear-gradient(135deg, rgba(50,20,10,.96), rgba(45,10,35,.96));
    border: 1px solid rgba(255,140,67,.55); border-radius: 14px; padding: 10px 14px;
    box-shadow: 0 10px 34px rgba(0,0,0,.45); color: #fff; animation: numIn .3s ease;
}
#spiritBanner.spirit-done { border-color: rgba(52,232,176,.6); }
.spirit-top { display: flex; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.spirit-top b { font-size: 13px; flex: 1; }
.spirit-you { font-size: 11px; color: rgba(255,255,255,.7); }
.spirit-bar { position: relative; height: 18px; border-radius: 999px; background: rgba(255,255,255,.12); overflow: hidden; }
.spirit-bar span { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, #ff8c43, #ffd166); border-radius: 999px; transition: width .35s ease; }
#spiritBanner.spirit-done .spirit-bar span { background: linear-gradient(90deg, #34e8b0, #6a9cff); }
.spirit-bar em { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; font-style: normal; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.spirit-tap {
    display: block; width: 100%; margin-top: 8px; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer;
    padding: 10px; border-radius: 11px; border: none; color: #2a1405; background: linear-gradient(135deg, #ffd166, #ff8c43);
}
.spirit-tap:active { transform: scale(.97); }
.spirit-tap:disabled { background: rgba(255,255,255,.14); color: rgba(255,255,255,.6); cursor: default; }
.spirit-win { margin-top: 8px; text-align: center; font-weight: 800; color: #5ef0c0; }
@media (max-width: 560px) { #spiritBanner { bottom: 150px; } }
