
.tap{cursor:pointer;-webkit-tap-highlight-color:transparent}
.card2:active,.card3:active,.nav:active,.cat:active,.t:active,.row.action:active{transform:scale(.985)}
.toast{position:absolute;left:50%;bottom:92px;transform:translate(-50%,20px);background:rgba(20,20,24,.94);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);padding:10px 16px;border-radius:999px;font-size:13px;white-space:nowrap;opacity:0;pointer-events:none;transition:.22s;z-index:200}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal-mask{position:absolute;inset:0;background:rgba(0,0,0,.58);display:none;align-items:center;justify-content:center;z-index:220}.modal-mask.show{display:flex}.modal{width:286px;background:#1b1b20;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:20px;text-align:center}.modal h3{font-size:17px;margin:0 0 10px}.modal p{font-size:13px;line-height:20px;color:#9ca3af;margin:0 0 18px}.modal-actions{display:flex;gap:10px}.modal-actions button{height:40px;flex:1;border:0;border-radius:12px;background:#2b2b31}.modal-actions .primary{background:#ff2a70}.hidden{display:none!important}
.search-input{flex:1;min-width:0;background:transparent;border:0;outline:0;font-size:14px;line-height:20px;padding:0;color:#fff}.search-input::placeholder{color:rgba(255,255,255,.22)}
.empty-state{padding:100px 0;text-align:center;color:#777;font-size:14px;display:none}.empty-state.show{display:block}
.card2,.card3{transition:.15s transform,.2s opacity}
.heart-pop{animation:heartPop .28s ease}@keyframes heartPop{50%{transform:scale(1.28)}}
.side-item{cursor:pointer;user-select:none}.side-item.active img{filter:drop-shadow(0 0 5px #ff2a70)}.side-item.active span{color:#ff2a70}
.switch{cursor:pointer}.row.action{cursor:pointer}
.share-mask{position:absolute;inset:0;background:rgba(0,0,0,0);pointer-events:none;transition:.25s;z-index:180}.share-mask.show{background:rgba(0,0,0,.5);pointer-events:auto}
.share-sheet{position:absolute;left:0;right:0;bottom:-320px;background:#18181c;border-radius:22px 22px 0 0;padding:18px 16px 22px;transition:bottom .32s cubic-bezier(.2,.75,.3,1);z-index:181}.share-mask.show .share-sheet{bottom:0}
.share-title{text-align:center;font-size:15px;margin-bottom:18px}
.share-options{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 8px}
.share-option{text-align:center;font-size:12px;color:#bbb;cursor:pointer}
.share-icon{width:48px;height:48px;border-radius:16px;background:#2b2b31;margin:0 auto 7px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff}
.share-option:active .share-icon{transform:scale(.92)}
.share-cancel{height:46px;border:0;border-radius:14px;background:#26262b;color:#fff;width:100%;margin-top:18px}

.side-item.active img{
  filter:brightness(0) saturate(100%) invert(31%) sepia(96%) saturate(4058%) hue-rotate(327deg) brightness(105%) contrast(101%)!important;
}
.side-item.active span{
  color:#FF2A70!important;
}
.round-action.active b,
.round-action.active span{
  color:#FF2A70!important;
}

/* V17 modal button contrast */
.modal-actions button{color:#fff!important;}

/* V20 responsive overlays */
.modal-mask,.share-mask{position:absolute!important;inset:0!important}
.share-sheet{left:0!important;right:0!important;width:100%!important}
