.favorite-btn{background:#1a1a1a;color:#f5f5f5;font-size:14px;padding:8px 16px;border:2px solid #333;border-radius:50px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.favorite-btn:hover{background:#292929;border-color:#555}.favorite-btn.is-favorite{border-color:#0a7f42}.fav-star-svg{transition:.2s;pointer-events:none}.bf-info-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:rgb(255 255 255 / .05);border:1px solid rgb(248 195 28 / .25);border-radius:10px;padding:14px;margin-bottom:24px}.bf-info-title{color:#f8c31c;font-size:13px;font-weight:600}.bf-count{color:rgb(255 255 255 / .55);font-size:14px}.bf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}.bf-thumb{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;min-height:150px}@media(max-width:480px){.bf-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}@media(min-width:768px){.bf-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px}}.bf-card{background:#1a1a1a;border-radius:8px;overflow:hidden;transition:.25s}.bf-card.bf-removing{transform:scale(.9);opacity:0}.bf-thumb{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;background:#1a1a1a;min-height:150px}@supports not (aspect-ratio:2/3){.bf-thumb{height:195px}}.bf-remove{width:100%;padding:8px 0;border:0;background:#1a1a1a;border-top:1px solid rgb(255 80 80 / .15);color:#ff6b6b;font-size:12px;font-weight:600;cursor:pointer;transition:.2s}.bf-remove:hover{background:rgb(255 80 80 / .18)}.bf-remove:active{background:rgb(255 80 80 / .28)}.bf-loading{display:flex;justify-content:center;gap:8px;padding:48px 0}.bf-loading span{width:10px;height:10px;border-radius:50%;background:#f8c31c;animation:bf-bounce .9s infinite}.bf-loading span:nth-child(2){animation-delay:.15s}.bf-loading span:nth-child(3){animation-delay:.3s}@keyframes bf-bounce{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1.1);opacity:1}}.bf-empty{display:flex;flex-direction:column;align-items:center;padding:60px 20px;text-align:center;color:rgb(255 255 255 / .6)}.bf-empty p{color:#fff;font-weight:600}.bf-empty span{font-size:13px;color:rgb(255 255 255 / .5)}.bf-error{text-align:center;color:#e05555;padding:24px}