#ppp-modal.open{opacity:1;visibility:visible}#ppp-modal .ppp-container{transform:scale(.9) translateY(20px);opacity:0;transition:all .45s cubic-bezier(.34,1.56,.64,1)}#ppp-modal.open .ppp-container{transform:scale(1) translateY(0);opacity:1}.ppp-container{width:95%;max-width:480px;max-height:92vh;background:linear-gradient(175deg,#fff 0%,#f8faff 30%,#f0f4ff 100%);color:#13297e;border-radius:20px;overflow:hidden;box-shadow:var(--ppp-shadow),0 0 0 1px rgba(19,41,126,.08);display:flex;flex-direction:column}.ppp-header{padding:14px 20px 12px;text-align:center;background:var(--ppp-gradient);color:white;position:relative}.ppp-close{position:absolute;top:10px;left:12px;width:34px;height:34px;background:rgba(255,255,255,.15);border:none;border-radius:10px;font-size:20px;color:white;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.ppp-close:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.ppp-header h2{margin:0;font-size:1.1rem;font-weight:600}.ppp-search{padding:10px 14px;background:linear-gradient(180deg,#f8faff 0%,#f5f8ff 100%);border-bottom:1px solid rgba(19,41,126,.06)}.ppp-search input{width:100%;padding:10px 16px;border:1px solid rgba(19,41,126,.12);border-radius:12px;background:#fff;font-size:.9rem;transition:all .25s}.ppp-search input:focus{outline:none;border-color:var(--ppp-primary);box-shadow:0 0 0 3px rgba(19,41,126,.12)}.ppp-list{flex:1;overflow-y:auto;padding:12px 14px;min-height:160px}.ppp-item{display:flex;align-items:center;padding:12px 14px;border-radius:12px;margin-bottom:8px;cursor:pointer;transition:all .35s cubic-bezier(.34,1.56,.64,1);background:rgba(255,255,255,.8);border:1px solid rgba(19,41,126,.06);box-shadow:0 2px 8px rgba(19,41,126,.04)}.ppp-item:hover{background:linear-gradient(135deg,rgba(19,41,126,.04) 0%,rgba(19,41,126,.08) 100%);transform:translateX(4px);box-shadow:0 4px 16px rgba(19,41,126,.1);border-color:rgba(19,41,126,.1)}.ppp-item.active{background:linear-gradient(135deg,rgba(19,41,126,.08) 0%,rgba(19,41,126,.14) 100%)!important;border-color:rgba(19,41,126,.25);transform:translateX(6px);box-shadow:0 6px 24px rgba(19,41,126,.15),inset 0 1px 0 rgba(255,255,255,.6)}.ppp-item img{width:52px;height:52px;object-fit:cover;border-radius:10px;margin-left:14px;box-shadow:0 4px 12px rgba(19,41,126,.15)}.ppp-item-info{flex:1;min-width:0}.ppp-item-title{font-weight:600;margin-bottom:2px;font-size:.7em;color:var(--ppp-primary-dark)}.ppp-duration{font-size:.75em;opacity:.75;color:var(--ppp-primary)}.ppp-equalizer{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:28px}.ppp-equalizer span{width:4px;min-height:3px;background:var(--ppp-gradient);border-radius:2px;animation:ppp-eq 1s ease-in-out infinite}.ppp-equalizer span:nth-child(1){height:6px;animation-delay:0s}.ppp-equalizer span:nth-child(2){height:12px;animation-delay:.1s}.ppp-equalizer span:nth-child(3){height:8px;animation-delay:.2s}.ppp-equalizer span:nth-child(4){height:14px;animation-delay:.3s}.ppp-equalizer span:nth-child(5){height:10px;animation-delay:.4s}.ppp-equalizer.paused span{animation-play-state:paused}.ppp-player{padding:20px;background:linear-gradient(180deg,#f5f8ff 0%,#eef3ff 100%);border-top:1px solid rgba(19,41,126,.08);box-shadow:0 -4px 20px rgba(19,41,126,.04)}.ppp-controls{display:flex;align-items:center;justify-content:center;gap:10px}.ppp-controls button{width:46px;height:46px;background:rgba(255,255,255,.9);border:1px solid rgba(19,41,126,.12);border-radius:50%;cursor:pointer;color:var(--ppp-primary);transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(19,41,126,.08);padding:0;line-height:1}.ppp-controls button:hover{background:var(--ppp-gradient);color:white;border-color:transparent;transform:scale(1.08);box-shadow:0 8px 24px rgba(19,41,126,.3)}.ppp-controls #ppp-play{width:56px;height:56px;background:var(--ppp-gradient);color:white;border:none;box-shadow:0 6px 20px rgba(19,41,126,.35)}.ppp-controls #ppp-play:hover{transform:scale(1.1);box-shadow:0 10px 30px rgba(19,41,126,.45)}.ppp-controls button.ppp-active{background:var(--ppp-gradient);color:white;border-color:transparent;opacity:1}